Hello 天文

月球上的一座环形山,什么时候才晒到太阳?

把地球上的日出问题搬到月面,用太阳直射点寻找明暗界线。

月球与日月食

观察月面地形时,侧着照来的阳光能留下鲜明阴影。但环形山的日出并不由地球上几点钟直接决定。我们在月球上选一个位置,计算太阳在那里有多高,以及附近的日出或日落。

打开互动课程 →

先猜一下

月面上不同地点会在同一瞬间一起日出吗?

查看答案与解释

不会 — 太阳直射方向与地点经纬度共同决定太阳高度。

再把体验和科学连起来

地球上的满月,不等于月面处处正午

月球上不同经纬度的地点有不同的太阳高度。先选一个月面位置,再算太阳直射点。

月面太阳坐标 l₀、b₀ 与余经 c₀

太阳直射点决定照明半球

直射点处太阳在头顶,距它90°的地方是几何明暗界线。随着日期变化,明暗界线扫过月面。

c₀=90°−l₀(归一化)

给某个环形山求太阳高度

代入月面经纬度即可求太阳中心高出该地点月面地平线多少。这里没有月面山脉遮挡。

sin h=sin b₀ sinφ+cos b₀ cosφ sin(c₀+λ)

从一个近似时刻寻找日出或日落

从接近目标事件的日期开始修正,直到太阳中心高度接近零。初猜不合适时明确报错,不捏造一个收敛结果。

ΔJD=∓h/(12.19075cosφ)

λ、φ是月面地点的经纬度,b₀是太阳在月面坐标的纬度。先求太阳高度h,再按日出/日落选迭代时间修正符号;接近月极时cosφ很小,不能随意外推。

试一试

先用原书哥白尼环形山算例,再切换日落的初猜。高级条件可输入自己的月面经纬度。

动手看一遍 →

符号不用背

l₀ / b₀
太阳直射月面的经度/纬度
c₀
太阳月面余经
h
太阳中心的月面高度
月面经度
按原书正向朝危海方向

算法、精度与适用范围

第53章太阳月面经纬度、余经、指定地点太阳高度及53.4迭代。太阳输入来自既有solar-coordinates的截断VSOP87 solarHigh,不调用首页简化星历。日地距离换算保留AA+/原书时代使用的149597970km/AU以便对照,不能混称现代精确AU定义。月面经度正向为书中的朝危海方向;哥白尼−20°,9.7°、第谷−11°,−43.2°取自表53.A。迭代最多30轮,巨大单步或方向不符时明确失败;未预报实际地形日照。

我的理解检查

月面太阳高度0°,这里指的是?

太阳中心到达理想地平线 — 本模型没有太阳半径与月面地形。

初猜离目标日出很远,迭代失败时应?

报告未收敛 — 迭代需要适合的初猜和停止判断。

输出日期的时间尺度是?

TT — 没有做当地时区或实际ΔT换算。

先算太阳在月面的直射点,再用地点求高度;日出是太阳中心跨过当地几何地平线的时刻。

Jean Meeus · Astronomical Algorithms, 2nd ed. · 第 53 章

月球与日月食 · 全部互动课程