【发布时间】:2017-04-02 16:08:31
【问题描述】:
当我调用一个函数时,我的火箭的刚体速度是 Vector2(0,100)。速度达到0时如何计算世界坐标(enpoint)?
重力应该包含在公式中。
谢谢!
【问题讨论】:
当我调用一个函数时,我的火箭的刚体速度是 Vector2(0,100)。速度达到0时如何计算世界坐标(enpoint)?
重力应该包含在公式中。
谢谢!
【问题讨论】:
听起来你想要速度函数的积分,它应该提供相对于时间的总距离。
你的速度将是 v = (100 - ('t'ime * 'g'ravity))。我们可以求解像 t = (-v + 100)/g -> t = (0 + 100)/g = 100/g 这样的时间。所以你应该在 t = 100/g 时达到零速度(假设所有相同的单位)。
您的速度积分将为您提供行驶距离。积分计算器在这里:http://www.integral-calculator.com/
你的速度的积分函数是 100t - (g*t^2)/2
从零到特定时间 t,您可以即插即用。因此,例如,如果对于特定的重力,您在 t = 10 秒时达到零速度,您将经过 (100 * 10) - ((g * 10^2)/2) 距离。 (所以对于重力 9,你会得到 1000 - (9 * 100)/2 = 550 个单位
编辑:要清楚 - 首先你要计算在特定的起始速度和重力下达到零速度需要多长时间:
t = vStart/g
然后将该时间值代入上面的积分函数中:
距离 = (vStart * t) - ((g * t^2)/2)
(或者很明显,您可以通过在第二个函数中将 t 替换为 vStart/g 将其变成一个函数,但如果我正在编码,我肯定会分两步计算它们以提供健全性检查,以防我的单位错误)
【讨论】: