月球上的一座环形山,什么时候才晒到太阳?
把地球上的日出问题搬到月面,用太阳直射点寻找明暗界线。
观察月面地形时,侧着照来的阳光能留下鲜明阴影。但环形山的日出并不由地球上几点钟直接决定。我们在月球上选一个位置,计算太阳在那里有多高,以及附近的日出或日落。
打开互动课程 →
先猜一下
月面上不同地点会在同一瞬间一起日出吗?
查看答案与解释
不会 — 太阳直射方向与地点经纬度共同决定太阳高度。
再把体验和科学连起来
地球上的满月,不等于月面处处正午
月球上不同经纬度的地点有不同的太阳高度。先选一个月面位置,再算太阳直射点。
月面太阳坐标 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 章