为什么我应该在Projectile Motion中使用速度方程而不是位置方程

时间:2017-12-12 15:54:44

标签: c++ motion projectile

我在this answer中看到过一个问题,即在Projectile Motion中速度方程优于位置方程。有人可以解释一下,我为什么要这样做?

为什么我这么问?我试图模拟水平,垂直和弹丸运动,现在,当我几乎完成所有事情时,我开始想知道如何增加空气阻力,所以看起来更逼真。 我见过的几乎所有解决方案都在这里使用速度方程。 我想知道我是否可以根据位置方程增加空气阻力,或者必须在这里使用速度方程。

到目前为止,我已经制作了这段代码,它的效果也很好。

else if (whichThrow == 3) {
    while (t < totalTime) {
        tempX = velocity[0] * t;
        tempY = velocity[1] * t - (acceleration / 2)*t*t;
        t += step;
        coords.push_back(make_pair(tempX, tempY));
        printf("[%f][%f]\n", tempX, tempY);
    }
}

1 个答案:

答案 0 :(得分:0)

如果我们模拟运动,会有很多外力施加在物体上,例如重力,碰撞,风等。因为它在加速度和位置之间可以互换,因此速度更方便。

由于您提到空气的阻力,定义为[Wikipedia]

drag_force

其中:

  • F是拖曳力,根据定义,它是流速方向上的力分量
  • eqn是流体的质量密度,[1]
  • eqn是相对于物体的流速
  • eqn是参考区域,
  • eqn是阻力系数,

    我们知道运动是速度依赖的。为了更清楚,您可以访问this