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

https://www.myphysicslab.com/engine2D/collision-en.html#resting_contact

Однако у меня возникают проблемы с поиском правильного направления для нормали. Согласно ссылке: пусть вектор n будет нормальным (перпендикулярным) краю тела B, на который происходит удар, и направлен наружу от тела B. Я использую следующий метод для поиска этой нормали.

Как рассчитать вектор нормали отрезка линии?

Найти числовое значение нормали легко, но мне сложно заставить мою программу использовать правильное направление. Например, я хочу синий нормальный, а не красный.

Вот изображение, которое более четко объясняет, что я имею в виду, надеюсь:

img

0
jpc99 3 Дек 2017 в 03:20

1 ответ

Лучший ответ

Никакая формула не может угадать, какая сторона поверхности вас интересует, поэтому вы должны предоставить эту подсказку.

Вы можете выбрать правильную ориентацию, используя один из Rap x Rbp или Rbp x Rap, но это зависит от вас, в зависимости от соглашений об ориентации, используемых в вашей модели. (Учитывая небольшой объем информации, я не могу вам сказать больше.)

0
Yves Daoust 4 Дек 2017 в 11:17