获得使物体停在位置所需的恒定减速度

时间:2012-04-25 23:34:11

标签: physics acceleration

我希望对象能够在指定点平稳停止。我有对象的初始速度V0,结束速度(设置为0),V1以及到达目的地所需的距离dV1V0以弧度为单位进行测量,d也以弧度为单位进行测量。

我尝试过使用以下公式:

a = (V0*V0 - V1*V1) / (2.0 * d);

但似乎总是超出目标。

编辑: 基本上,我有一个轮子以V0的初始速度开始旋转。在停在指定位置之前,车轮必须进行一定数量的旋转。距离d是执行指定旋转量并在指定位置停止所需的弧度。速度是每帧的弧度数。

1 个答案:

答案 0 :(得分:3)

我们现在有足够的信息进行有根据的猜测。

公式是正确的,但仅在理想情况下,迭代时间的长度非常小。我的猜测是,在你的循环中你正在更新速度之前的位置,这样在那个时间段内轮子可以以不减小的速度前进,并且你超调。 (如果您在位置之前更新了速度,则会下冲。)

你可以让你的画面更短,这会使过冲不那么严重,或者你可以修改公式来消除它:

a =(V 0 * V 0 )/(2.0 * d - V 0 * t delta );

其中t delta 是单帧的时间长度。 (我假设V 1 = 0。)