偏心率只是比1多一点,为什么不能都当成抛物线?
让轨道从略闭合走到略开放,比较同一时刻的位置。
一本轨道报告写e=0.999,另一本写1.001。两者看起来都很长,但一个仍属椭圆,另一个属于双曲线。我们保留这点差别,真正求出近日点前后的位置。
打开互动课程 →
先猜一下
e=0.999和e=1.001都可以直接当成e=1而不损失信息吗?
查看答案与解释
不可以 — 闭合与开放性质不同,位置差还会随时间积累。
再把体验和科学连起来
不要把“很接近1”直接写成1
e在1的两侧对应不同轨道:小于1仍是极扁椭圆,大于1是双曲线。很小差异可能积累成不同位置。
e<1、e=1、e>1须区分
用抛物线解作起点
原书第35章从接近的抛物线解出发,再用Landgraf/Stumpff级数修正。
g=(1−e)/(1+e)
迭代直到稳定
每轮先累加级数,再解一次三次方程;超过迭代次数或项过大必须报告不收敛。
外层级数迭代 + 内层Barker型求根
拿独立两体解作对照
用椭圆或双曲线方程独立求根,与近抛物线算法核对。不能把所有小差异都当作显示误差。
r=q(1+e)/(1+e cosν)
先求g与抛物线初值,再在外层累计Stumpff修正、内层解Barker型方程,直到收敛。末式只把ν换成r,不能替代前面的迭代;本课范围和失败处理见下方。
试一试
保持q和天数不变,依次选0.98、1、1.02。结果由原书迭代计算,并与独立两体求根比较。
动手看一遍 →
符号不用背
- g
- (1−e)/(1+e)
- s
- tan(ν/2)
- 迭代残差
- 候选答案代回方程剩余的误差
算法、精度与适用范围
实现印刷页245–247的式35.1及Landgraf程序双层迭代。最多50项/50轮,项超过10000或无法收敛则明确失败,不偷偷换算法。独立conicReference用稳定的小量级数与二分法解椭圆/双曲线方程作验证,UI展示位置差。原书六组练习覆盖q=.1,e=.987,t=254.9等,测试范围可大于UI。AA+ CalculateTrueAnomalyAndRadius实现的是另一展开式,因此不要求两者逐位相等。
我的理解检查
e稍大于1属于?
双曲线 — 理想两体模型中e>1为双曲线。
级数不收敛时应该?
明确报告失败 — 不能把数值失败伪装成合法星历。
本课有无把AA+的另一个近似分支当成完全同一算法?
没有 — 本课实现原书Landgraf主迭代,使用独立两体解核验;AA+另用近抛物线展开式。
接近临界值不等于可以抹掉差异。算法要保留轨道类型,也要能识别不收敛。
Jean Meeus · Astronomical Algorithms, 2nd ed. · 第 35 章