如果牛顿中的力被应用于该物体,我无法找出改变物体速度的程度:
我有什么:
无重力或其他力量
deltaTime - 自上次打勾以来的秒数
v - 物体的速度,单位为秒/秒
m - 以千克为单位的物体质量
d - 施加力的方向
我想做什么:
对于一个刻度的时间(deltaTime),我想在x Newton
的方向上向对象施加d
的力。实际上我想相应地改变对象的速度。
我做了什么:
我试图从1 N = 1 kg * m/s2
来到速度的变化,但我有点迷失,因为我无法弄清楚如何验证我的假设。
更新
我真正需要的是现在deltaTime
期间由力引起的加速度,所以我可以通过添加这样的加速度来计算我的新速度:
newVelocity = velocity + accelerationCausedByTheForceInNewton
答案 0 :(得分:0)
另请参阅:https://en.wikipedia.org/wiki/Equations_of_motion#Uniform_acceleration
假设一个坐标系(x和y方向),你可以将它们分开......你的方向d将包含x和y分量,以及你的速度和加速度。在你的图片中,加速度是“直线向下”(ax = 0),你的速度是“仅向右”(vy = 0),但我怀疑你可以在任何时候都假设,所以我不会。这些将所有内容分成x和y组件:
x1 = x0 + vx0(t1 - t0) + (1/2)(ax0)((t1 - t0)**2)
y1 = y0 + vy0(t1 - t0) + (1/2)(ay0)((t1 - t0)**2)
也是,t1时的新速度:
vx1 = vx0 + ax0(t1 - t0)
vy1 = vy0 + ay0(t1 - t0)
所以...你的新x位置是(1)初始x位置,加到(2)速度乘以delta-t的x分量,加到(3)加速乘以delta的x分量的一半-t平方。如果像照片vx = 0
和/或ay = 0
那样,这可能更简单,但上述等式适用于一般情况。
PS,基于F=ma
,如果你只知道力F进入,那么:
ax0 = Fx0 / m
ay0 = Fy0 / m