我正在尝试用Java重新创建弹丸轨迹,然而,我却陷入了某些困境。我看了很多解释公式和内容的视频,但是他们在他们的等式中有一个目标而我没有。我的意思是他们有一个计算子弹落差的范围,但我想弄清楚子弹最终会下降多少。
我目前正在使用的是:
dropDistance = (9,807 / 2) * t²
我不是数学家,我实际上是坚持这个,我不知道如何在目标的范围未知时实现这一点。它应该在3D空间(x,y,z)中工作,但我认为公式中只需要Y?
答案 0 :(得分:1)
这是一个简单的物理问题。
你需要从牛顿的第二运动定律开始。你已经听说过它,但重要的是真正的三个方程,因为力和加速度是矢量:
force = mass*acceleration
从两个维度开始简化您的问题。在这种情况下,这是两个方程:
Fx = m*ax = 0 (no force in x-direction; ignore drag)
Fy = m*ay = -m*g
解决问题:
ay = -g = constant (9.8 m/sec^2)
你从微积分知道ay = dvy/dt
和vy = duy/dt
。整合两次以获得作为时间函数的位置:
uy = -(g*t^2)/2 + c0*t + c1
您还需要ux
:
ax = dvx/dt = 0
整合两次:
ux = c2*t + c3
替换初始条件以评估常数。
停止观看视频并阅读介绍物理文本。