'Basic' 弹道

'Basic' Projectile Trajectories

我正在尝试在 Java 中重新创建射弹轨迹,但是,我遇到了一些问题。我看过很多解释公式之类的视频,但他们在方程式中有一个目标,而我没有。我的意思是他们有一个范围来计算他们的子弹落下,但我想弄清楚子弹最终会落下多少。

我目前正在使用的是:

dropDistance = (9,807 / 2) * t²

我不是数学家,我确实被困在这个问题上,当目标范围未知时,我不知道如何实现它。它应该在 3D space (x,y,z) 中工作,但我认为公式中只需要 Y?

这是一道简单的物理题。

您需要从牛顿第二运动定律开始。你听说过它,但重要的是实际上是三个方程,因为力和加速度是矢量:

force = mass*acceleration

从二维开始,简化您的问题。在那种情况下,这是两个等式:

Fx = m*ax = 0 (no force in x-direction; ignore drag)
Fy = m*ay = -m*g

求解 ay:

ay = -g = constant (9.8 m/sec^2)

你从微积分知道 ay = dvy/dtvy = duy/dt。积分两次得到位置uy作为时间的函数:

uy = -(g*t^2)/2 + c0*t + c1

你还需要ux:

ax = dvx/dt = 0

积分两次:

ux = c2*t + c3

代入初始条件以评估常量。

停止观看视频并阅读介绍物理的文字。