实时太阳系:包含 52.6 万颗小行星和所有被追踪的卫星

查看原文 HN 讨论

文章摘要

这是一个在浏览器里运行的三维太阳系可视化网站,名为「Космос сейчас」(俄语「此刻的太空」),隶属于作者的 Belle Lune 2 项目,界面支持多语言。作者 wanick 在 HN 发布后拿到 400 多分。网站本身是一个纯前端的 WebGL 应用,页面几乎没有正文,下面的介绍综合了页面界面元素和作者在评论区的说明。

它展示了什么。 按作者的说法,这是按真实比例呈现的太阳系「当前状态」,外加地球周围所有被追踪的人造物体:

可以怎么玩。 拖动旋转视角、滚轮缩放、单击天体弹出信息卡和轨道、双击飞向该天体;支持 WASD 自由飞行。顶部有时间轴,可以快进、倒退或跳到任意日期,卫星会按发射日期出现或消失。侧栏可以按分组开关显示(行星、小行星、卫星、探测器等),一键切到「地球」「整个太阳系」「银河系」视角。还有一些细致的功能:「随地球旋转」模式,用日地旋转坐标系展示拉格朗日点附近探测器的晕轨道;「短路径」只显示探测器过去一个月和未来半年的轨迹;星座连线;「事件」面板列出近期小行星近地掠过和日月食;还可以放一个「宇航员」到某个位置或某颗行星表面观察,支持 VR。讨论期间作者又加了一个无尽的「屏保」模式,配上生成的音乐,自动展示飞掠、日食、任务和延时摄影。

技术实现。 渲染用的是纯 WebGL2,没有用任何引擎;轨道推算放在 Web Worker 里。有人问 52.6 万个天体怎么还能这么流畅,是否做了距离剔除?作者说没有剔除:顶点着色器在每一帧为每颗小行星解开普勒方程,CPU 几乎不碰它们。30MB 的小行星数据通过 Service Worker 缓存,再次访问无需重新下载,新目录每天在后台更新。卫星在过去时间的位置是用当前 TLE 向回推算的,超过 90 天就标注为估算值。作者说这是另一个项目的副产品,花了几个晚上做成,目前没有开源。

比例的说明。 网站说「按真实比例」,但有评论指出若真按比例,卫星根本看不见。作者随后在页面上补充说明:距离是按比例的,点的大小不是。

HN 评论精华

评论区气氛轻松,大量用户表示惊叹,作者在讨论中修复了很多 bug、补了不少功能。

Starlink 的数量让人震撼。 很多人第一次直观地看到近地空间有多拥挤。1shooner 问被追踪的航天器里是不是几乎三分之一是 Starlink,Sayrus 说比例更高:约 3.5 万个「卫星和航天器」中有 1.2 万多是碎片,去掉碎片后 Starlink 约占一半,只看在役卫星则约占三分之二;维基百科称 Starlink 占所有可机动在役卫星的约 75%。ev0lv 给出的数字是:截至 2026 年 9 月 29 日,地球轨道上有 16,613 颗在役卫星,其中 11,128 颗是 Starlink,并担心凯斯勒综合征会让后代看不到银河。AustinDev 反驳说 Starlink 轨道太低,几年内会自然坠落,真正有凯斯勒风险的是 700 到 1000 公里的轨道,500 公里以下有大气阻力,不足为虑。einpoklum 总结了自己的观察:太空垃圾多得惊人,地球同步轨道上有一圈密集的物体,像一层外壳。

比例和「拥挤」的误读。 ____tom____ 质疑「真实比例」的说法。philipwhiuk 指出,这恰恰是拿这类图来论证「太空很拥挤」的根本问题。dylan604 说缩小后能清楚看到地球也有一个「环」。zamadatix 给出了量级对比:木星环薄到直到探测器抵达才被发现,质量却有约 5 万亿吨(误差几个数量级),而人类有史以来发射入轨的总质量还不到 10 万吨;这里之所以看起来像环,只是因为每个卫星标记都有一座大城市那么大。作者也向 boringg 解释,那就是距地约 3.6 万公里的地球静止轨道带,是真实存在的,只是点比卫星大得多。

专业人士的交流。 ddahlen 说自己以前的工作是为 NASA 望远镜计算小行星位置,推荐了他的轨道推算库 kete,并分享了今年早些时候做的一个只含小行星、同样在 Worker 中做完整轨道推算的版本。他问探测器位置如何获取,作者说是每天从 Horizons API 拉取每个探测器的状态向量。laylower 问人类对潜在危险小行星的监测是否足够。gridmap 介绍了专门搜寻近地天体的 NEO Surveyor 任务、验证偏转能力的 DART 任务,以及鲁宾天文台未来十年的时空遗产巡天(LSST)。

有趣的发现。 eutropia 问木星轨道前后约 60 度处为什么有两大团小行星,dvh 指出那是特洛伊小行星。totetsu 和 marcd35 分别觉得韦伯望远镜的轨道像墨西哥卷饼和爱心,作者解释那是 L2 点的晕轨道,打开「随地球旋转」就能看到环。climech 追踪了欧罗巴快船,它即将第二次借地球引力加速;shagie 推荐搜索 JUICE,看它前往木星前的复杂轨道。sebmellen 说以自己名字命名的小行星 31689 Sebmellen 找不到,作者回复按名字或编号都能搜到。subtlesoftware 说打开小行星显示简直是「Jump scare」,noosphr 则只说了一句:「谢谢,这太吓人了。」

性能与工程赞誉。 FlowingRiver 回忆当年在 486DX 上算 30 个天体的轨道,靠 FPU 才勉强 30 帧,没 FPU 只有 2 帧,如今浏览器里 50 万个天体能跑 60 帧以上。mentalgear 认为这说明在数据结构化且公开的前提下,LLM 已经能轻松做出这类可视化,真正的门槛是数据。derpyzza 反问作者并没说用了 LLM,0x_rs 说界面里的间隔号「·」是明显的迹象,不过并不减损作品价值。

和 Celestia 的比较。 tintor 说 Celestia 十多年前就做到了这一切。bbor 不满这种说法,认为不必暗示别人抄袭或无知:这个项目在浏览器里运行、包含卫星,而 Celestia 需要下载,且看起来已基本停滞。defrost 纠正 bbor 贴的是早已废弃的 SourceForge 页面,Celestia 在 GitHub 上仍有维护,和 Stellarium 一样支持社区扩展数据。

反馈与快速迭代。 作者在讨论期间几乎有求必应:mncharity 列了一长串反馈(空格键暂停、Esc 取消选择、太阳不该画成黄色而应该是白色、高倍速下某个碎片轨道显示异常),作者几乎全部修复;vibe42 建议搜索「interstellar」时列出所有星际天体(如 3I/ATLAS),作者也加上了;oxzidized 发现找不到南希·格雷斯·罗曼太空望远镜,作者不仅补上了它(当时距地球约 140 万公里,正飞往 L2),还顺带补了 IMAP、Aditya-L1、ESCAPADE 等探测器;移动端缩放和关闭浮层的问题也已修复。aaroninsf 以为实时模式卡住了,作者解释:实时 1 秒/秒的速度下,卫星每秒只移动一个像素左右,中间按钮是暂停键,他点了反而暂停了。joshspankit 说愿意为 VR 版本付费;jurakovic 问是否开源,作者说「暂时没有,也许以后」。