Если у объекта есть собственный двигатель, то ты путаешь мгновенную скорость и скорость, получаемую за счёт силы, т.е. ускорения. То, что он идёт вверх, это хорошо, он так идёт за счет своего ДВС. А то, что его откинуло вправо, это так, возмущения. Его мгновенная скорость становится направленной вправо и вверх. Вот чтобы определить угол столкновения, тебе надо определить мгновенную скорость именно в МОМНЕТ СТОЛКНОВЕНИЯ.
И оттолкнутый объект может пойти не вправо, а вообще почти вниз, если возмущённый шар двигался вправо и коснулся верхнего края оттолкнутого. Говорю тебе, почитай про бильярдодельанье. Или астероидоделанье.