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

Я использовал следующий код на основеэто

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 эквивалент?Как взятькоэффициент отскока в учетную запись?Как рассчитатьнаправление (что выражаетсяvx а такжеvy) из двух шаров после столкновения?