Вычислите начальную скорость для перемещения расстояния набора с инерцией

Я хочу переместить что-то расстояние набора. Однако в моей системе существует ускорение инерции/перетаскивания/отрицательной. Я использую простое вычисление как это для него:

v = oldV + ((targetV - oldV) * inertia)

Применение этого по многим кадрам заставляет перемещение 'расти' или затухнуть, например:

v = 10 + ((0 - 10) * 0.25) = 7.5 // velocity changes from 10 to 7.5 this frame

Таким образом, я знаю расстояние, я хочу путешествовать и ускорение, но не начальная скорость, которая получит меня там. Возможно, лучшее объяснение, я хочу знать, как трудно ударить по бильярдному мячу так, чтобы оно остановилось на определенном моменте.

Я смотрел на Уравнения движения (http://en.wikipedia.org/wiki/Equations_of_motion), но не могу разработать, каков корректный для моей проблемы...

Какие-либо идеи? Спасибо - я - от дизайна не научный фон.

Обновление: Fiirhok имеет решение с фиксированным ускоряющим значением; демонстрация HTML+jQuery:
http://pastebin.com/ekDwCYvj
Там какой-либо путь состоит в том, чтобы сделать это с дробным значением или функцией упрощения? Преимущество того, по моему опыту - то, что фиксированное ускорение и покадровая анимация иногда промахиваются по конечному пункту и должны быть вызваны, создав небольшой незначительный сбой привязки.

5
задан Linus Juhlin 20 November 2019 в 03:57
поделиться