何时开始制动?

时间:2013-04-25 16:24:12

标签: physics game-engine game-physics game-ai

只有1个维度,你想要到达X位置并停在那里。你有最大加速度A你可以自己动手;每一帧你选择加速的方向。

因此,如果您有速度V,并希望尽可能快地停在X位置,您自己应用了多少最大加速度A?

(如果你很远,你应用最大加速度,但是当你靠近时,你开始制动。所以根据你的速度和剩余距离,你需要决定你何时开始制动。)

2 个答案:

答案 0 :(得分:1)

控制方程是x = v t + 0.5 a t ^ 2 其中x是距离,v是速度,t是时间,a是兼容单位的加速度。

没有其他限制,为了最大限度地缩短您的旅行时间,您将始终应用最大加速度:沿目标方向加速直到您到达中途,然后沿原点方向加速直至停止。

如果你有一个最大速度,加速直到你达到最大速度,这将发生在距离原点一定距离X处。当你离目标距离为X时,加速回到原点。

答案 1 :(得分:0)

我刚刚解决了这个问题的更高级版本的答案。您在x_0处有v_0,并且想要到达位置X,并在到达位置时具有速度V。在每个较小的时间步长(例如,每秒60次。

因此,使用运动方程x = v t + 0.5 a t ^ 2,对施加正/负加速度的t进行求解,以了解无论最终速度如何,x都能达到x的速度。

还可以通过应用正或负加速度来计算达到V所需的时间。 t最高者是正加速度或负加速度。

这会导致对象平稳地跟随诸如sin(x)之类的泰铢,如果将它们扔掉,它们会优雅地滑回其中。