所以,我有:
V0
,或当前速度Vf
,或我想要达到的速度(通常为0)t
,或我想要花费的时间到达路径的末端d
,或我想要在从V0到Vf转换时走的距离我想计算
a
,或从V0到Vf所需的加速度之所以这成为一个具体的编程问题,是因为a需要在每个时间步长中重新计算,因为汽车不断地停止。因此,V0不断地被更改为V0从上一个时间步长加上上一个时间步长计算出的a。因此,它将开始缓慢停止,最终会更加突然地停止,就像现实生活中的汽车一样。
编辑:
好吧,谢谢你们的回复。我需要的很多东西只是一些关于这个问题的帮助。现在我有了更多的想法,让我更具体一些:
我有一辆汽车c距离目的地64像素,因此d=64。它以每次步长2像素的速度行驶,其中一个时间步长是1/60秒。我想找到加速度a,使其在行驶d时达到0.2像素每步长的速度。
d = 64 //距离
V0 = 2 //初始速度(以ppt为单位)
Vf = 0.2 //最终速度(以ppt为单位)
还因为这发生在游戏循环中,所以将变量delta传递到每个操作中,它是上一个时间步长花费的1/60秒的倍数。换句话说,如果花费了1/60秒,则delta为1.0,如果花费了1/30秒,则delta为0.5。在实际应用加速度之前,它会乘以此delta值。同样,在汽车再次移动之前,其速度会乘以delta值。这是相当标准的东西,但它可能会导致我的计算出现问题。