如何计算停止物体所需的距离?

时间:2018-02-05 17:19:28

标签: c# unity3d math

对象A正在移动。 2D rigidbody以速度V和脚本定义了突破能力P。从速度P中减去每个破碎帧(V * Time.deltaTime)(换句话说,忽略质量)。如何计算减速到目标速度所需的距离tV

1 个答案:

答案 0 :(得分:2)

你有一个确定的降低速度(P * delta),所以你知道要减速多长时间。当速度线性变化时距离的公式是s = 0.5 * a * t ^ 2,这将是减速部分,如果你减速到零,那将是总距离。由于你有剩余的速度,你还必须考虑它:s = v * t。你添加它们。

如果您认为这种情况倒退,所涉及的数学可能对您更有意义:您以10米/秒的速度移动并加速到20米/秒。距离将有两个部分,一个来自初始速度,好像你没有加速= v0 * t,然后你从加速得到的部分= 0.5 * a * t ^ 2.

所以完整的公式是s = v0 * t + 0.5 * a * t ^ 2。 v0是初始速度,t是改变速度所需的时间,a是加速/减速速率。在减速的情况下,v0是目标速度。

例如,如果您希望在打破2m / s ^ 2时从20m / s减速到10 / ms,则需要5秒钟。减速距离为0.5 * 2 * 25 = 25米。这将从10米/秒减慢到0.由于你剩下10米/秒,你加5 * 10 = 50米。总距离为75米。