NEO Radar:41859颗小行星的实时轨道模拟
Neo Radar: A browser-based orbital mechanics engine with 41k real asteroids
NEO Radar 是一款基于浏览器的真实轨道力学引擎,能够追踪 41859 颗近地天体。它摒弃了简化的近似模型,直接调用 JPL Horizons 星历数据,利用完整的 N 体动力学和 RK4 积分器,模拟包括八大行星在内的所有引力摄动。无论是高保真的 47 个关键目标,还是庞大的 MPC 目录,系统都能提供任务规划师级别的精确数据。与传统的二体模型相比,NEO Radar 在 50 年的模拟窗口中,位置误差仅 412 公里,而简化模型可能产生数万公里偏差。用户甚至可以实时切换外行星引力开关,直观观察木星和土星引力对轨道不确定性锥的影响,真正体验真实的太空物理。
你看到的数字,正是任务规划师所使用的数字。
HN 评论区
25- markstock
如果积分计算只涉及外行星,请不要称之为“完整的 N 体动力学”。
- Catloafdev
看来是被 hug-of-death 了——你是怎么加载 4 万个数据点的?
- daviazpen
HN 的朋友们好!
我是 Davi,一位来自巴西的 17 岁开发者。过去几个月,我一直在开发 NEO Radar,这是一个基于浏览器的轨道力学引擎,专注于近地天体。
我的目标不是再造一个太阳系可视化器,而是想弄明白轨道传播到底是如何工作的,并尽可能从零开始实现其中的原理。
一些亮点:
• 来自小行星中心的 41,812 颗真实小行星
• JPL Horizons 星历数据
• 用于开普勒方程的牛顿 - 拉夫逊求解器
• 自适应 RK4 N 体积分
• 蒙特卡洛不确定性传播
• 真实的行星摄动
• 交互式日心坐标系 2D 可视化
在架构设计上,我特别满意的一点是物理引擎与渲染完全解耦。积分器没有任何 DOM、Canvas 或 fetch 依赖——它只是输出状态向量,由渲染器消费。
仓库中还包含基准测试、单元测试以及描述数值方法和模型局限性的文档。
这个项目让我对数值方法和轨道力学的理解,远超我刚开始时的预期。
我非常希望能收到反馈,尤其是来自有航天动力学、数值模拟或科学可视化经验的朋友。我相信还有很多可以改进的地方。
GitHub: