如何计算在恒定加速度下达到终端速度所需的时间?

时间:2015-06-14 15:56:38

标签: unity3d game-physics

我在Unity3D中使用刚体,它是恒定的,而不是改变加速度。刚体可具有> 1的阻力值。现在,我试图弄清楚物体达到一定速度需要多长时间。我知道找到达到终端速度所需的时间可能不是那么有用,所以我也有兴趣找到达到一定比例的终端速度所需的时间。

已知值包括质量,施加到刚体的力,末端速度和阻力。我主要寻找一种忽视引力的解决方案,但我也对那些没有引力的解决方案非常感兴趣。

我希望你可以帮助我,因为我从谷歌学到的唯一一件事就是我真的应该参加一些数学课......:/

3 个答案:

答案 0 :(得分:0)

以秒为单位的时间,以m / s为单位的速度和以m / s / s为单位的加速度,加速度为常数且速度为已知

时间=速度/(加速 - 拖动)

如果Drag是一个常数作为对加速度的反应

如果我没弄错的话......

答案 1 :(得分:0)

从跌落开始(时间= 0)到达终点速度(时间= T),拖动不是恒定的,因为拖动与速度的平方成正比。使用小的(比如1ms)时间步长以数字方式近似动态是非常容易的。

在第一步(t = 0到t = 1ms)中,质量为M的物体将面对Mg的力并且在没有空气阻力或阻力的情况下加速到v1 = 9.8E-3ms-1。在相同的时间间隔内,拖动将从0变为D1 = k *(9.8E-3)^ 2,k为0.5 * Cd A Den(Cd是阻力系数 - 估计/猜测, A大致是下降方向的截面积,Den是空气密度。

因此,在第二个时间步的开始(t = 1ms到t = 2ms),物体面临9.8M的净加速力 - k *(9.8E-3)^ 2并且加速到v2 =(9.8) E-3 +(9.8M-k *(9.8E-3)^ 2) 0.001)并且在t = 2ms时拖动增加到D2 = k (v2)^ 2.

最终,在某个时间步长D = 9.8M。

当然有一种解决方案使用积分来代替上面的数值方法。

答案 2 :(得分:0)

很抱歉,上面的答案假设在重力作用下会自由下落,但同样的方法也适用于任何方向的加速。

并且k假定您具有恒定的密度(空气或物体移动的任何流体)。例如,如果您的物体从非常高的高度落下,则情况可能并非如此。 k分解为流体的密度和粘度,随着温度的变化而变化。