Я использую пимунка для симуляции движущихся тел.Поскольку я хочу, чтобы тела двигались определенным образом, я устанавливаю их положение каждый момент времени (я знаю, что это не рекомендуется для бурундука / пирунка).Это дает мне хорошие результаты для перемещения отдельных тел, но проблема в том, что когда я делаю это, кажется, что тела больше не могут обнаруживать столкновения, и они просто проходят друг через друга, а не сталкиваются.Я пытался уменьшить временной шаг, но это, похоже, не помогает.У кого-нибудь есть какие-либо советы, как я могу это исправить, или это неизбежно, если я устанавливаю позиции каждый момент времени?
Спасибо.
Отредактировано, чтобы показать пример кода:
Итак, я устанавливаю положение и угол, как каждый раз, шаг:
body.position = (body.position[0] + speed*cos(body.angle)*dt + (random term), \
body.position[1] + speed*sin(body.angle)*dt + (random term))
body.angle = body.angle + body.angular_velocity*dt + (random term)
Я хочу сделать это, потому что у меня есть прямоугольные тела, и этот код позволяет прямоугольникам двигаться вдоль их длинныхосей, и это прекрасно работает только для одного тела, но когда у меня есть несколько тел, я также хочу, чтобы столкновения работали, и это, кажется, заставляет их вообще не работать (или если они работают, они работают очень плохо).