跳到主要内容
Sandbox Physics

M003 · 抛体运动与逆向设计

抛体飞行设计器

有阻力和侧风时,怎样瞄准才能命中目标? 用带阻力的轨迹模拟来瞄准,按真空公式算会打偏。阻力的方向与抛体相对空气的速度相反,有侧风时,抛体就会被往旁边推。反复调整发射,直到模拟轨迹命中,还要从俯视方向检查横向偏差。

从发射台向地面上可以挪动的目标发射,在侧视图、俯视图、速度分量和能量收支里同时跟踪飞行。可以比较真空、线性阻力和平方阻力,修正侧风的偏移,或在发射速率不变时找出射得最远的仰角。

交互模型抛体飞行设计器
检查游标0 s0\,\mathrm{s}
相对空气速率0 m s−10\,\mathrm{m\,s^{-1}}
阻力大小0 N0\,\mathrm{N}
Magnus 力大小0 N0\,\mathrm{N}
Magnus 平动功率0 W0\,\mathrm{W}
橙色标尺跨度0 m0\,\mathrm{m}
经过时间0 s0\,\mathrm{s}
速度:纵向、竖直、横向[000] ms\begin{bmatrix}0\\0\\0\end{bmatrix}\,\frac{\mathrm{m}}{\mathrm{s}}
加速度:纵向、竖直、横向[000] ms2\begin{bmatrix}0\\0\\0\end{bmatrix}\,\frac{\mathrm{m}}{\mathrm{s}^{2}}
落地时间0 s0\,\mathrm{s}
纵向落点0 m0\,\mathrm{m}
横向落点0 m0\,\mathrm{m}
地面脱靶距离0 m0\,\mathrm{m}
轨迹曲率0 m−10\,\mathrm{m^{-1}}
机械能0 J0\,\mathrm{J}
空气做功0 J0\,\mathrm{J}
能量收支误差0 J0\,\mathrm{J}
减半步长的落点变化0 mm0\,\mathrm{mm}
设计结果调整发射或拖动目标

物理教程

从轨迹预测走到发射设计

背景已知怎么发射,问落在哪里,这是初值问题;已知目标,问该怎么发射,这是逆向设计问题。侧视图、俯视图上的横向漂移、速度分量和能量收支,都来自同一条三维轨迹。目标在水平地面上,抛体第一次落回地面,实验就结束。

为什么值得理解OpenStax《University Physics》第一卷第 4.3 节讲真空中的抛体,第 6.4 节讲平方阻力。这个实验另外加了线性阻力模型,按相对空气的速度算阻力,还能在给定范围内用数值方法搜索发射方案。每改一个参数,都能看到可测量的变化。

先抓重点

核心问题
在真空里选出的发射方案,加入侧风与阻力后还能命中吗?
一句话直觉
重力竖直向下,阻力却取决于抛体相对空气的完整速度 u=v−w\boldsymbol u=\boldsymbol v-\boldsymbol w。只看侧视图,可能看不出横向偏得很远;俯视图能把它显示出来。

核心数学模型

三维运动方程

r˙=v,mv˙=−mgey+FD\dot{\boldsymbol r}=\boldsymbol v,\qquad m\dot{\boldsymbol v}=-mg\boldsymbol e_y+\boldsymbol F_D

三个坐标依次是纵向、竖直和横向。发射仰角和方位角决定三个初速度分量。质点用 RK4 积分向前推进,阻力强时最大步长自动缩小。

三种空气模型

FD={0vacuum,−bulinear,−k∥u∥uquadratic,u=v−w\boldsymbol F_D=\begin{cases}\boldsymbol 0&\text{vacuum},\\-b\boldsymbol u&\text{linear},\\-k\lVert\boldsymbol u\rVert\boldsymbol u&\text{quadratic},\end{cases}\qquad\boldsymbol u=\boldsymbol v-\boldsymbol w

倍数乘在参考系数上:线性阻力的参考值是 0.08 kg 每秒,平方阻力是 0.003 kg 每米。这些是直接设定的经验系数,实验不会去算 Reynolds 数,也不会算某个具体物体的阻力系数。

真空中的落地时间和射程

timpact=v0sin⁡θ+v02sin⁡2θ+2gh0g,ximpact=v0cos⁡θcos⁡ϕ timpactt_{\mathrm{impact}}=\frac{v_0\sin\theta+\sqrt{v_0^2\sin^2\theta+2gh_0}}{g},\qquad x_{\mathrm{impact}}=v_0\cos\theta\cos\phi\,t_{\mathrm{impact}}

从地面发射、方位角为零、没有空气时,45 度射得最远。发射高度和空气都会改变最佳角度。只有在真空中质量才会消掉,调风速也不会改变真空轨迹。

能量、空气做功与曲率

E=12m∥v∥2+mgy,Wair=∫FD⋅v dt,κ=∥v×a∥∥v∥3E=\tfrac12m\lVert\boldsymbol v\rVert^2+mgy,\quad W_{\mathrm{air}}=\int\boldsymbol F_D\cdot\boldsymbol v\,dt,\quad\kappa=\frac{\lVert\boldsymbol v\times\boldsymbol a\rVert}{\lVert\boldsymbol v\rVert^3}

在地面参考系里,机械能的变化等于空气做的功。风可以给抛体输入能量,空气做正功不一定是数值算错了。曲率表示每走一段路径方向转了多少,不只由速率决定。

常见难点

风不是额外的恒力

容易误解侧风就是加了一个恒定的横向加速度,真空里也一样。

正确理解空气的作用力取决于抛体相对流动空气的速度,真空中根本没有。阻力系数不变时改变质量,加速度也会变,因为加速度等于力除以质量。

搜索不保证命中

容易误解让计算机搜索,总能找到命中目标的发射方案。

正确理解搜索时发射速率和其他设置都不变,仰角和方位角也只在允许范围内调整。最接近的一发如果离目标仍超过 2 m,实验会报告脱靶,目标位置不会被偷偷挪动。

步长减半只是检查收敛

容易误解减半步长的落点差,就是轨迹的精确误差。

正确理解它只说明步长变细后落点会挪多少。真空解析解和线性阻力测试是另外的独立检查。不过,差值再小、能量收支再好,也不能证明模型里没考虑的物理效应可以忽略。

动手实验

  1. 01

    先重现真空结果

    选“真空射程”,把“发射台高度”和“发射方位角”设为零,点“搜索最远纵向射程”,再改变质量和两个风速。

    你会看到: 最佳角度接近 45 度,质量和风速都不改变真空结果。在最后一步内部求出的落地时刻,和解析公式一致。
  2. 02

    看看空气做了什么

    比较“线性阻力”和“侧风挑战”两个预设。在最高点附近暂停,看俯视图、速度分量和空气做功。

    你会看到: 两种阻力模型给出的轨迹不同。侧风把抛体往旁边吹,这段横向位移在侧视图里看不出来。
  3. 03

    为目标设计发射

    在俯视图里拖动金色目标,点“搜索命中方案”;再把目标拖到射程之外,重做一次。

    你会看到: 搜索只调仰角和方位角,速率不变。够得着的目标能在容差内命中;够不着的目标,最好的一发也明显打偏。
  4. 04

    检查发射高度和步长

    选“悬崖发射”,点“搜索最远纵向射程”,再换几个最大步长,同时看减半步长后落点变了多少。

    你会看到: 最佳角度不一定是 45 度。阻力强时,为了保持积分稳定,步长会自动变小;落地时刻在最后一个积分步内部求出。
反馈这个页面有错误、看不明白,或者缺了什么?告诉我们
反馈类型

提交时会附带本页地址、Lab ID、网站语言和设备类型。请不要填写个人信息。反馈最多保存 12 个月。隐私政策