这个计算器能做什么
本工具用于求解经典的抛体运动问题:物体被发射出去(忽略空气阻力),需要击中位于水平距离 l 处、高度为 h 的目标,而发射点本身位于高度 h0。由于能命中同一点的速度/角度组合有无穷多种,本计算器给出的是初速度最小的轨迹——也就是刚好能够到达目标、能量最低的那条标准解。它会输出所需的初速度(同时以 m/s 和 km/h 表示)、抛射角,以及飞行(滞空)时间。其中的物理规律普遍适用,与任何国家或地区无关。
使用方法
输入到达高度 h、水平距离 l(必须大于 0),以及发射高度 h0。目标相对于发射点的竖直上升量为 \(y = h - h_0\)。按照本模型的约定,如果目标比发射点更高,应当把 h0 填成负值,这样才能正确地增大所需的上升量。重力加速度 g 默认采用标准重力 9.80665 m/s²,但可以修改(例如填 1.62 表示月球)。
公式解析
经过点 (x, y) 的抛物线轨迹为 $$y = x\cdot\tan\theta - \frac{g\cdot x^{2}}{2\cdot V_s^{2}\cdot\cos^{2}\theta}.$$ 对初速度求最小值可得到闭式解 $$V_s = \sqrt{g\cdot(y + \sqrt{x^{2}+y^{2}})}, \qquad \theta = \arctan\!\left(\frac{y + \sqrt{x^{2}+y^{2}}}{x}\right).$$ 此时抛射角恰好平分竖直方向与指向目标的直线方向:\(\theta = 45° + \tfrac12\cdot\arctan(y/x)\)。由于水平速度恒定,飞行时间为 $$t = \frac{x}{V_s\cdot\cos\theta}.$$
计算实例
当 \(h = 50\,\text{m}\),\(l = 100\,\text{m}\),\(h_0 = 20\,\text{m}\),\(g = 9.80665\) 时:\(y = 30\,\text{m}\),\(x = 100\,\text{m}\),$$r = \sqrt{10000+900} = 104.403\,\text{m}.$$ 于是 $$V_s = \sqrt{9.80665\times 134.403} = 36.307\,\text{m/s} = 130.7\,\text{km/h},$$ $$\theta = \arctan(1.34403) = 53.35°,$$ $$t = \frac{100}{36.307\times\cos 53.35°} = 4.62\,\text{s}.$$
常见问题
为什么取最小速度?同一个目标可以被许多条轨迹击中;最小速度解是这类工具所采用的、唯一且最自然的物理答案。
如果目标在发射点上方怎么办?把 h0 填成负值,使 \(y = h - h_0\) 增大,从而符合模型的符号规则。
是否考虑空气阻力?不考虑——这是仅在均匀重力场下的理想抛体运动。