Oleg Zubelevich вас только запутает в сложностях. Его не интересует добраться до результата. (И вообще не интересует помогать на этом форуме.) Всё очень просто. Переходите в систему отсчёта центра масс шаров. И в этой системе отсчёта соударение тривиально: угол падения равен углу отражения.
Красиво сказано - добраться до результата.
Я бы сказал так,добраться до результата сквозь теории. Через Тернии и к звездам.
Я программист практик хочу игру простую сделать шарики гонять.
-- 24.12.2013, 23:29 --И в этой системе отсчёта соударение тривиально: угол падения равен углу отражения.
Наверное, для этой задачи короче будет ввести изменение импульса одного из шаров - направление-то известно.
Далее - сохранение энергии: квадратное уравнение, один из корней нулевой.
Там условие есть, что после столкновения между векторами должен быть угол 90 градусов.
Я решил так. Делаю два раза векторное произведение и нахожу заданный вектор.
Завтра напишу программку и проверю на практике как работает это решение.