基本参数
地球公转周期 365.2564 天
月球公转周期 27.32166 天
月球轨道面与地球轨道面交角 α=5°09′
地球和月球都是椭圆轨道,但是考虑离心率都很小,可以近似为圆形。
计算思路

计算月食或者日食即计算向量 SunEarth 和 EarthMoon 的夹角如果接近0,即太阳、地球、月球一线月食发生。类似,若夹角180度,即日食发生。
SunEarth=R∗[cos(ω1t+2π),sin(ω1t+2π),0]EarthMoon=r∗[cos(ω2t+2π)cosα,sin(ω2t+2π),sin(ω2t+2π)sinα]
其中, ω1 是地球公转角速度, ω1 是月球公转角速度。 R 是地球公转半径, r 月球公转半径。向量之间的夹角为 β
cosβ=∣SunEarth∣∗∣SunEarth∣SunEarth⋅SunEarth=RrSunEarth⋅SunEarth=RrRr[sin(ω1t)sin(ω2t)cosα+cos(ω1t)cos(ω2t)]=sin(ω1t)sin(ω2t)cosα+cos(ω1t)cos(ω2t)
当 1−cosβ<=δ 时,可认为近似夹角为0。
解方程
从网上查到月食、日食数据,以20250908为参考点
日期 | 描述 | 距离20250908天数 |
---|
20250314 | 月食 | -178 |
20250908 | 月全食 | 0 |
20250922 | 日偏食* | 14 |
20260217 | 日环食* | 162 |
20260303 | 月食 | 176 |
20260813 | 日全食* | 339 |
20260828 | 月偏食 | 354 |
20270206 | 日环食* | 516 |
20270221 | 半影月食 | 531 |
20270719 | 半影月食 | 679 |
20270802 | 日全食* | 693 |
20270817 | 半影月食 | 708 |
20281231 | 月食 | 1210 |
20290626 | 月食 | 1387 |
20291221 | 月食 | 1565 |
函数图像求解

月食解
相对20250908的天数







日食解
相对20250908的天数








可以看到,解和网上查到的月食日食数据吻合较好,但是有一些解但是并没有查到月食日食信息,有可能是数据有待精确,或者是发生在海洋上没有列出。