将牛顿力施加到物体上

时间:2017-01-27 13:56:14

标签: math physics game-physics 2d-games

如果牛顿中的力被应用于该物体,我无法找出改变物体速度的程度:

enter image description here

我有什么:
无重力或其他力量 deltaTime - 自上次打勾以来的秒数 v - 物体的速度,单位为秒/秒 m - 以千克为单位的物体质量 d - 施加力的方向

我想做什么:
对于一个刻度的时间(deltaTime),我想在x Newton的方向上向对象施加d的力。实际上我想相应地改变对象的速度。

我做了什么:
我试图从1 N = 1 kg * m/s2来到速度的变化,但我有点迷失,因为我无法弄清楚如何验证我的假设。

更新 我真正需要的是现在deltaTime期间由力引起的加速度,所以我可以通过添加这样的加速度来计算我的新速度: newVelocity = velocity + accelerationCausedByTheForceInNewton

1 个答案:

答案 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