以牛顿为单位向物体施加力
Apply force in newton to object
如果对某个物体施加以牛顿为单位的力,我无法确定我必须改变该物体的速度多少:
我有:
没有重力或其他力
deltaTime - 自上次报价以来的秒数
v - units/second
中物体的速度
m - 物体的质量,单位为 kg
d - 施加力的方向
我想做的事情:
对于一次刻度 (deltaTime) 的时间,我想在 d
方向上向对象施加 x Newton
的力。实际上我想相应地改变物体的速度。
我做了什么:
我试图从 1 N = 1 kg * m/s2
到速度的变化,但我有点迷茫,因为我不知道如何验证我的假设。
更新
我真正需要的是现在 deltaTime
期间由力引起的加速度,所以我可以通过像这样添加加速度来计算我的新速度:
newVelocity = velocity + accelerationCausedByTheForceInNewton
另请参阅:https://en.wikipedia.org/wiki/Equations_of_motion#Uniform_acceleration
假设一个坐标系(x 和 y 方向),你可以将它们分开......你的方向 d 将有 x 和 y 分量,以及你的速度和加速度。在你的图片中,加速度是 "straight down" (ax = 0),你的速度是 "only to the right" (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) x-component 速度乘以 delta-t,添加到 (3) x-component 的加速时间 delta-t 的平方。这可以更简单,如您的图片 vx = 0
and/or ay = 0
,但上述等式适用于一般情况。
PS,根据F=ma
,如果你只知道进去的力F,那么:
ax0 = Fx0 / m
ay0 = Fy0 / m
如果对某个物体施加以牛顿为单位的力,我无法确定我必须改变该物体的速度多少:
我有:
没有重力或其他力
deltaTime - 自上次报价以来的秒数
v - units/second
中物体的速度
m - 物体的质量,单位为 kg
d - 施加力的方向
我想做的事情:
对于一次刻度 (deltaTime) 的时间,我想在 d
方向上向对象施加 x Newton
的力。实际上我想相应地改变物体的速度。
我做了什么:
我试图从 1 N = 1 kg * m/s2
到速度的变化,但我有点迷茫,因为我不知道如何验证我的假设。
更新
我真正需要的是现在 deltaTime
期间由力引起的加速度,所以我可以通过像这样添加加速度来计算我的新速度:
newVelocity = velocity + accelerationCausedByTheForceInNewton
另请参阅:https://en.wikipedia.org/wiki/Equations_of_motion#Uniform_acceleration
假设一个坐标系(x 和 y 方向),你可以将它们分开......你的方向 d 将有 x 和 y 分量,以及你的速度和加速度。在你的图片中,加速度是 "straight down" (ax = 0),你的速度是 "only to the right" (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) x-component 速度乘以 delta-t,添加到 (3) x-component 的加速时间 delta-t 的平方。这可以更简单,如您的图片 vx = 0
and/or ay = 0
,但上述等式适用于一般情况。
PS,根据F=ma
,如果你只知道进去的力F,那么:
ax0 = Fx0 / m
ay0 = Fy0 / m