В одной из задач на codingame нужно было приземлить спутник на поверхность Марса со скоростью не выше заданной. Задачу можно было решить как резким оттормаживанием сразу при превышении максимальной скорости (работает). Но мне показалось, что можно давать падающему спутнику набирать скорость, а уменьшать скорость начать в тот момент, когда разница в кинетических энергиях будет равна совершённой работе.
Итак, есть падающее тело при ускорении свободного падения gm - 3.711 (м/с^2), максимальная скорость - Vmax (40 м/с) текущая скорость даётся на каждом шаге - Vcurrent. Максимальное ускорение от двигателя - 4 м/с^2, т.е. разница между ними - a = 4 - gm
По моим расчётам нужно было сделать
E1 - E2 = -A
(Vmax ^ 2 - Vcurren ^2) * m * 0.5 = - m * a * S
S = - 0.5 * (Vmax ^ 2 - Vcurrent ^ 2) / a
В результате у меня должна была получиться высота, на которой нужно начинать торможение. Только эта модель не отработала в симуляторе, каким-то образом не вписывался коэффициент 0.5. Теперь сижу и думаю, где я ошибся в выводе формулы.