Разрешение столкновений между двумя быстро движущимися кругами. Тот, который не реагирует на столкновения

Вы в основном ответили на свой вопрос. Нарезка за пределами последовательности (по крайней мере для встроенных) не вызывает ошибки. Это имеет смысл, когда вы об этом думаете. Индексирование возвращает один элемент, но нарезка возвращает подпоследовательность элементов. Поэтому, когда вы пытаетесь индексировать несуществующее значение, ничего не вернуть; но когда вы вырезаете последовательность за пределами границ, вы все равно можете вернуть пустую последовательность.

Также обратите внимание, что есть различие между x[3] и x[3:4]. Например:

>>> [0, 1, 2, 3, 4, 5][3]
3
>>> [0, 1, 2, 3, 4, 5][3:4]
[3]

Причина, по которой они выглядят одинаково в случае строк, заключается в том, что не существует такой вещи, как отдельный символ за пределами строки; один символ - это всего лишь 1-символьная строка.

0
задан J.Doe 18 March 2019 в 01:04
поделиться

1 ответ

Пусть x1, y1, vx1, vy1 будут x-позицией, y-позицией, x-скоростью и y-скоростью circle1. Аналогично, у нас есть x2, y2, vx2, vy2 для circle2.

Поскольку один из кругов, скажем, circle1, не реагирует на столкновение, полезно взглянуть на столкновение с точки зрения этого большого парня (также называемого системой отсчета). В этой системе отсчета circle2 имеет скорость x vx2 - vx1 и скорость y vy2 - vy1. Положение x и y в circle2 аналогично x2 - x1 и y2 - y1.

В этой системе отсчета circle1 также не движется и может рассматриваться как статическая стена.

Затем вы можете рассматривать эту проблему аналогично проблеме движущегося circle2, сталкивающегося со стеной с вектором нормали (x2-x1 , y2-y1) и скоростью (vx2-vx1 , vy2-vy1).

Я предполагаю, что вы знаете, как решить эту проблему, поскольку вы сказали, что понимаете столкновения между кругом и формой.

Как только вы получите конечную скорость circle2, просто не забудьте вернуться к исходной перспективе, добавив vx1 к скорости x и vy1 к скорости y.

0
ответ дан Register Sole 18 March 2019 в 01:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: