Вычислить скорость и направление столкновения мяча с мячом на основе массы и коэффициента отскока

Я использовал следующий код, основанный на this

ballA.vx = (u1x * (m1 - m2) + 2 * m2 * u2x) / (m1 + m2);
ballA.vy = (u1y * (m1 - m2) + 2 * m2 * u2y) / (m1 + m2);

ballB.vx = (u2x * (m2 - m1) + 2 * m1 * u1x) / (m1 + m2);
ballB.vy = (u2y * (m2 - m1) + 2 * m1 * u1y) / (m1 + m2);

, но он явно не соответствует формуле предназначен для одномерных столкновений.

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

Но проблема в том, что я не знаю, каков угол отклонения и как его рассчитать. Кроме того, как учесть коэффициент отскока в этой формуле?

Редактировать : Возможно, я не совсем понял. Приведенный выше код работает , хотя это может не быть ожидаемым поведением, поскольку исходная формула предназначена для одномерных коллизий. Поэтому я пытаюсь ответить на следующие вопросы:

  • Что такое эквивалент 2D ?
  • Как учесть коэффициент подпрыгивания ?
  • Как рассчитать направление (которое выражается с помощью v x и v y ) двух шаров после столкновения?

6
задан Community 8 February 2017 в 14:34
поделиться