祈灵工具箱

🎯抛体运动模拟 - 空气阻力、最佳发射角、轨迹对比动画

拖动滑块或直接在画布上拖拽瞄准,就能发射一个物体,看它沿轨迹飞行,并实时读出 t、x、y、vₓ、v_y 和速率。打开空气阻力后,按棒球、足球、乒乓球等真实参数(质量、阻力系数、直径、空气密度)用 RK4 积分二次阻力方程,与无阻力的抛物线同框对比,并数值搜索出有阻力时射程最远的发射角。还可以把当前轨迹「保留」在图上,改参数再发射,最多叠加 8 条做对比。

免费 · 无需注册 · 浏览器本地处理最后更新:

正在加载工具...

如何使用抛体运动模拟(含空气阻力)

  1. 1设置初速度、发射角和发射高度,选择星球(或自定义 g)
  2. 2需要时勾选空气阻力,选一种球或输入质量、C_d、直径和空气密度
  3. 3点「发射」或在画布上按住拖动瞄准、松手发射,观察轨迹与速度矢量
  4. 4对照结果表里有无阻力的射程、最大高度、飞行时间、落地速度和最佳角,用「保留这条轨迹」叠加比较

常见问题

为什么不计空气阻力时 45° 射得最远,有阻力时却更小?
地面发射、无阻力时射程 R = v₀²sin2θ / g,在 θ = 45° 时 sin2θ 取最大值 1。有空气阻力时,物体在空中越久、路程越长,被阻力消耗的速度就越多;高抛的弧线在空中时间长,损失尤其大,所以把角度压低一些反而更划算。阻力越强(轻而大的球、速度越快),最佳角越低,乒乓球、羽毛球可以低到 30° 多甚至更低。若从高处发射,即使没有阻力,最佳角也小于 45°:θ* = arctan(v₀/√(v₀² + 2gh₀))。
二次空气阻力是怎么算的?为什么要数值积分?
在常见球类的速度范围内,空气阻力近似与速度平方成正比:F = ½ρC_dAv²,方向与速度相反。写成加速度就是 a = −g ĵ − k|v|v,k = ρC_dA / 2m。由于 |v| 同时含 vₓ 和 v_y,水平和竖直运动耦合在一起,没有初等解析解,所以工具用四阶龙格–库塔法(RK4)按约飞行时间 1/2000 的步长积分,并用二分法把落地时刻精确到 y = 0。
终端速度是什么意思?
物体下落时阻力随速度增大,当阻力等于重力 mg 时加速度为零,速度不再增加,这个速度就是终端速度 v_t = √(g/k) = √(2mg / ρC_dA)。它是衡量阻力强弱最直观的量:棒球约 40 m/s,足球约 27 m/s,乒乓球只有 9 m/s 左右。初速度远小于终端速度时阻力影响很小,接近或超过终端速度时轨迹会明显变得「前长后短」、下落段更陡。
有阻力时轨迹为什么不对称?
无阻力时水平速度不变,上升和下落关于最高点对称。有阻力时水平速度一路减小,所以最高点之后同样的时间里水平走得更少,下落段比上升段更陡、更短;落地速度也小于初速度,落地角大于发射角。结果表里可以对比落地速度和落地角,看出能量被阻力耗散了多少。
在月球上扔东西会怎样?
月球重力约 1.62 m/s²,只有地球的 1/6,而且几乎没有大气。按 R = v₀²sin2θ / g,同样的初速度和角度,射程和最大高度都约为地球(无阻力)的 6 倍,飞行时间也约为 6 倍。选择「月球」预设时空气密度自动设为 0,正好可以看到纯粹的抛物线。