本节摘要:卫星不掉下来,不是因为没有引力,而是因为横着跑得够快。本节把重力换成平方反比的万有引力重走受力分析:圆轨道的速度由引力当向心力一步解出,椭圆轨道交给角动量守恒与机械能守恒两本账,霍曼转移的两次点火算给你看。
牛顿的大炮思想实验是轨道问题的最佳开场:炮弹飞得越快,落地点越远;快到某个程度,地面弯曲的速率追上了下落的速率,炮弹就永远"落不到"地面——轨道运动是永远没完成的坠地。解剖动作照旧:隔离卫星,只标一根力(引力指向地心),沿法向立账"引力等于质量乘向心加速度",圆轨道速度一步解出。真正的"力"只有一根,轨道却千姿百态,差别全在横向速度的初始值:恰好取圆轨道值是圆,少了是落地的椭圆段,多了是甩远的椭圆段,再多是逃逸的双曲线。
椭圆轨道比圆轨道多一层结构,好在有两条守恒律兜底:引力对转轴对称,角动量守恒管住"近地点最快、远地点最慢"的节奏;引力是保守力,机械能守恒管住轨道的总预算。两本账联立,几乎不用解微分方程就能把轨道问清楚。
标准病例:四百公里高的近地圆轨道。地球引力参数 GM 取三点九八六乘十的十四次方(单位立方米每二次方秒),轨道半径取地球半径加轨道高。速度等于 GM 除以半径再开方,周期用周长除以速度,直接验算。
# 手术一:圆轨道。v = sqrt(GM/r),T = 2*pi*r/v import math GM = 3.986004418e14 # 地球引力参数 m^3/s^2 R_earth = 6.371e6 # 地球半径 m for alt, tag in ((400e3, "近地轨道"), (35786e3, "静止轨道")): r = R_earth + alt v = math.sqrt(GM / r) T = 2 * math.pi * r / v print(f"{tag}: 轨道半径 {r/1e3:.0f} km 速度 {v:.1f} m/s 周期 {T/60:.1f} min") # 近地轨道: 轨道半径 6771 km 速度 7672.6 m/s 周期 92.4 min # 静止轨道: 轨道半径 42164 km 速度 3074.7 m/s 周期 1436.1 min # 静止轨道周期恰约 23.93 小时,与地球自转同步——"静止"的由来 print("静止轨道周期小时 =", round(2*math.pi*42164e3/3074.7/3600, 2)) # 23.93 # 逃逸速度:动能恰好清空引力势能 v = sqrt(2GM/r) print("地表逃逸速度 =", round(math.sqrt(2*GM/R_earth), 1), "m/s") # 11174.9
两行轨道读数藏着轨道力学的市场行情:近地轨道每秒七点七公里、九十二分钟绕一圈;拉到三万六千公里高,引力弱了,速度降到三公里出头,周期恰与地球自转同步。注意速度不是"发射后保持"的初速,而是该高度上引力与向心需求的平衡点——高度定速度,速度定周期,全是同一根引力力的账。
椭圆轨道的两本守恒账先立好:角动量守恒给出近远地点速度与半径成反比;机械能守恒给出活力公式——速度平方等于 GM 乘二除 r 再减一除半长轴。标准工程病例:从近地圆轨道转移到静止轨道的霍曼方案,在近地点点火一次进入椭圆转移轨道,漂移半天后在远地点再点火一次进入静止圆轨道。两次点火的速度增量直接决定燃料预算。
# 手术二:霍曼转移 LEO(400km) 到 GEO。活力公式 v^2 = GM*(2/r - 1/a) import math GM, R_earth = 3.986004418e14, 6.371e6 r1, r2 = R_earth + 400e3, R_earth + 35786e3 a_t = 0.5 * (r1 + r2) # 转移椭圆半长轴 v_circ1 = math.sqrt(GM / r1) v_circ2 = math.sqrt(GM / r2) v_peri = math.sqrt(GM * (2/r1 - 1/a_t)) # 转移轨道近地点速度 v_apo = math.sqrt(GM * (2/r2 - 1/a_t)) # 转移轨道远地点速度 print("第一次点火增量 =", round(v_peri - v_circ1, 1), "m/s") # 2399.5 print("第二次点火增量 =", round(v_circ2 - v_apo, 1), "m/s") # 1457.2 # 角动量对账:r1*v_peri 应等于 r2*v_apo print("近地点角动量 =", round(r1*v_peri/1e9, 3), " 远地点 =", round(r2*v_apo/1e9, 3), "(单位 1e9)") # 近地点角动量 = 68.198 远地点 = 68.198 —— 守恒精确闭合 print("远近速度比 =", round(v_apo/v_peri, 4), " 半径反比 =", round(r1/r2, 4)) # 均为 0.1606 # 机械能升级:转移轨道比圆轨道"贵"多少 print("LEO 比能 =", round(0.5*v_circ1**2 - GM/r1, 2)/1e6, "MJ/kg(负数)")
对账两行最见功力:近远地点的半径乘速度逐位一致,角动量守恒在数值上自我签字;速度比等于半径反比,五万多公里的高度差换来六倍的速率差——卫星过近地点风驰电掣、过远地点龟速爬行,遥感成像要挑时机,挑的就是这段账。

⚠️ 常见坑:把圆轨道速度公式套在椭圆上用。椭圆轨道的速度随位置变化,活力公式才是通用账本;圆轨道只是它取 r 恒等于 a 的特例——公式用错场景,点火增量能差出整段燃料预算。
轨道问题翻来覆去就是几个量的互推:高度换半径、半径换速度、速度换周期。把这套换算写成一小段代码随身带,任何轨道高度十秒内报出速度与周期,也能顺手检查"同步轨道为什么非得在那个高度"。
# 轨道速查:高度 → 半径、速度、周期 import math GM, R_earth = 3.986004418e14, 6.371e6 def orbit(alt): r = R_earth + alt v = math.sqrt(GM / r) T = 2 * math.pi * r / v return v, T for alt in (200e3, 800e3, 20200e3): v, T = orbit(alt) print(f"高度 {alt/1e3:7.0f} km 速度 {v:7.1f} m/s 周期 {T/60:6.1f} min") # 高度 200 km 速度 7788.5 m/s 周期 88.4 min # 高度 800 km 速度 7455.5 m/s 周期 100.7 min # 高度 20200 km 速度 3873.2 m/s 周期 718.4 min # 每抬高一级,速度与周期各让一步——引力随距离变弱的直接后果
三档高度三档脾气:两万公里高的中圆轨道周期近十二小时,导航卫星星座靠这个高度把全球时间基准织成网。速查表的意义不在背数,而在对量级——报出的周期若与常识差出几倍,先查单位换算,再查小数点。
要点复盘:
天上解完了,转到水里。下一节研究"无限多质点"的连续介质:静水压强随深度累加,流动起来压强与速度玩跷跷板。