我想将某物移动一段固定距离。但是在我的系统中存在惯性/阻力/负加速度。我正在使用这样的简单计算:
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
有没有办法用小数值或缓动函数来做到这一点?根据我的经验,这样做的好处是固定的加速度和基于帧的动画有时会超出最终点并且需要强制,从而产生轻微的捕捉故障。