Я пишу игру с прыгающим мячом на Java для телефонов Android. Кажется, все отлично работает, за исключением небольшой проблемы со столкновениями и коэффициентом восстановления.
Когда шар сталкивается с поверхностью, вычисляется вектор нормали этой поверхности (nx и ny), и направление вектора шара (dx и dy) отражается в этом векторе нормали.
В данный момент я использую 0,9 в качестве коэффициента восстановления и умножаю и dx, и dy на это значение, что, очевидно, слишком упрощенно, поскольку не правильно имитирует прокатку.
Существует ли простая формула для более точного расчета новых dx и dy, так что если мяч движется почти параллельно склону, когда он сталкивается, он теряет скорость меньше, чем если он сталкивается перпендикулярно.
Извиняюсь за то, что не опубликовал ни один мой код, я не на своем компьютере, поэтому могу опубликовать его позже, если это поможет кому-либо понять.
Спасибо за любую помощь заранее.