Вот объяснение физики:
У вас есть четыре неизвестных: скорости x и y каждого шара после столкновения.
Итак, вам нужно четыре уравнения.
Сохранение импульса в х и у дает два.Mom = mv
Сохранение кинетической энергии дает треть;Ke = 1/2 * mv ^ 2 (до и после)
Кроме того, принцип относительности может быть использован для предположения, что один шар изначально неподвижен, скажем, uB.x = uB.y = 0
И импульс должен происходить вдоль линии, которая соединяется между центрами каждого шара, во время удара.Таким образом, если вы предположили, что шар B изначально находился в состоянии покоя, теперь он будет двигаться в направлении этой линии, поэтому вы можете выразить vB.y = f + g * vB.x, сократив число неизвестных до 3.
Три неизвестных, три уравнения.Ура!
Если столкновение не является упругим, то это зависит от того, насколько точно вы хотите смоделировать.Что-то вроде Ke_after = 0,99 * Ke_before, а затем добавьте это в математику.
Я оставляю читателю в качестве упражнения вывод полных уравнений.