2026 年 9 月 27 日,独立开发者 Dima Kogan 公开了一个名为 dkogan/moon 的开源项目,试图用三维几何代码终结困扰观测者已久的月球晨昏线悖论。日落之后,太阳明明已没入西方地平线,半空中的月亮亮面却常常违背直觉斜斜朝上,并不直接指向地下的光源。这场由山野露营引发的算力推演,不仅扯出了业余仿真里隐蔽的数学滑移,更在推导过程中意外击穿了顶级大语言模型的空间理解底牌。

从仰角视线到代码仿真:月亮亮面究竟在朝哪里指

在人类的肉眼常识中,月亮是一面镜子,受光面理应像一根几何箭头,笔直指向作为光源的太阳。但在黄昏的天空下,观测者经常能看到下弦月或凸月的亮弧向上扬起,形成所谓的月球晨昏线悖论。Kogan 试图用纯粹的观测视线来解释这一现象:当太阳刚落山而月亮升上高空时,观测者其实是在从下方仰望月球,因而看到了月球底部的背光阴影,让亮区看起来朝向上方。

为了验证直觉,他在 dkogan/moon 项目中建立了一套基于观测者切平面的三维坐标系。程序使用斐波那契采样算法在月球表面生成约 1000 个采样点,设定平均地月距离为 384.8e6 米、月球半径 1.737e6 米,并借助立体投影渲染出人在地面仰望夜空时的局部视场。

dkogan/moon 核心仿真参数与计算链路 1000 月表斐波那契网格采样点 几何离散度基准 384.8e6m 平均地月空间距离常量 半径设为 1.737e6m 85.4%→50% 仰角扫描月相照亮漂移 代码变量未控制硬伤 投影渲染管线流程 输入:观测点切平面坐标系 + 太阳方位角 135° 处理:立体投影算法(Stereographic Projection)映射至局部天顶视场 输出:复现晨昏线视觉朝向,但将月相渐变误判为纯仰角视差

从定性角度看,代码确实跑出了月亮亮面向上翘起的形态。然而,把错觉仅仅归结为人在下方仰视,在物理机制上其实立不住脚。这种表述容易让读者误以为月球受光的半球恰好转到了下方;实际上,真正的几何症结从来不在于视线高低,而在于人类大脑如何把三维空间的光线,强行压进一张扁平的天空画布。

审计代码缺陷:混淆相位公式的 85% 到 50% 滑移

对这套开源代码做深度审计会发现,Kogan 在论证核心结论时留下了一个明显的数学漏洞。他在展示仰角扫描图时,声称自己展示的是一个四分之三满月从地平线升至天顶的过程。但代码为了简化计算,选择固定太阳相对方位角为 135°,仅变动月球仰角从 0° 至 90°。

依照几何光照公式计算,其照亮比例受仰角和方位角共同约束。随着月球仰角升高,其可见盘面的照亮比例实际上从地平线处的 85.4% 持续下滑,升至 60° 仰角时降为 67.7%,到达 90° 天顶时已收缩至整整 50%。

这意味着程序输出的那张仰角扫描图,根本不是一个固定 75% 亮度的凸月在改变仰角,而是在上升过程中一路衰退成了半月。在天文学定义中,照亮 75% 的凸月与公转周期走完四分之三的下弦月有严格界限,后者的盘面照亮比例本就只有 50%。Kogan 将固定月相与固定方位角仰角扫描混为一谈,把相态本身的变化当成了仰角抬升带来的视觉遮挡。

与成熟的天文仿真软件相比,这类简易几何脚本的短板非常明显。开源天文馆软件 Stellarium 在计算天体位置时,不仅调用完整的精确历元数据与测站视差修正,还会加入大气折射模型。地表浓厚的大气层在接近地平线处能将太阳视位置向上抬升约 34 角分。尽管这几十角分的折射并不能反转几十度的晨昏线朝向,但 Stellarium 严谨考虑了地表曲率、天平动、月表地形起伏以及相机会聚旋转效应,避免了把数学坐标系的计算伪影错认成物理规律。

  • 风险.在天体几何建模中脱离多变量控制,极易将参数联合变动产生的几何形变,误读为主变量引起的物理机制。
天象认知对比:平面直觉误区 vs 天球大圆弧投影 大脑局域欧氏平面假定 空间预设:无参照物天幕视为二维幕布 连线直觉:月亮亮面垂线必须沿直线指地 视错觉根源:强行拉平曲率导致方向背离 推演结论:错认几何现实,误判亮面朝天 天球非欧几何投影实境 空间预设:视线依附于三维天球表面 传播实径:日地月三维光线投影为大圆弧 切面投影:观测者局部视场只捕捉切线 物理真相:大圆弧在大仰角下自然翘曲

大圆投影与文本盲区:顶级大模型为何算不明白非欧空间

月球晨昏线错觉的几何真相,其实来自球面天幕的投影法则。太阳光在三维空间中沿直线传播,但在以观测者为球心仰望的天球表面,连接太阳与月球的最短视线是一段大圆弧。人类双眼在缺乏地形参照物的高空天幕下,极易默认套用二维欧氏平面,认定最短路径应该是一条局域水平线,于是把大圆弧切线在天空中的弯折视作异常。

比错觉本身更有意思的,是 Kogan 在编写代码时测试 AI 得到的反馈。他先后调动主流大模型 Claude 与 Gemini 协助推导几何关系,并询问给定观测角下应该看到何种形态。两款代表当前最高水准的模型在这个问题上全面崩溃。它们不仅无法在空间中对齐观测者切平面与太阳光照向量,还陷入了无限的循环论证,只能反复吐出从网页上爬取来的支离破碎的科普套话。

文本织就的概率模型没有真实空间感,一旦脱离预料好的题库,立体几何推演就会露出死穴。

大模型在此类任务上的失灵具有典型技术代表性。现有生成式模型依赖在海量文本中寻找词元概率关联,但公开发表的网络讨论本身就充斥着对晨昏线错觉的模糊定性与错误直觉。当一个问题要求严苛的四元数旋转、三维视向量交叉乘积以及球面大圆切平面投影时,没有外挂物理引擎的纯语言架构根本无法在内部构建一个自洽的动力学世界模型。

Kogan 由此感叹通用人工智能还远未成型。这一判断打中了当下多模态推理的痛点。对于致力于计算机视觉、物理仿真和空间计算的工程团队而言,天球视投影暴露了评测基准的一大盲区:大模型可以洋洋洒洒写出几十种天文常识,但只要给它换一个非正交视角,它的逻辑链条就会瞬间断裂。

  • 结论.检验下一代模型是否具备真实物理理解力,不需要晦涩的逻辑陷阱,把它们放进真实世界的三维坐标系里算一次投影就足够了。