家里的小朋友是不是总爱问些看似简单、却很难解释清楚的问题:
- 为什么地球不会掉进太阳里?
- 月亮为什么不会掉到地球上?
- 太阳那么大,为什么不会把所有行星都吸过去?
- 火箭为什么能飞上太空?
- 为什么火箭飞上去之后不会掉下来?
要是干巴巴地解释,恐怕小朋友提不起兴趣。但如果配合这个可以动的 Gravity,就很赞了。

Gravity:开源太阳系模拟器
Gravity 是一个开源的太阳系模拟器,通过 24 个交互式动画,让小朋友了解整个太阳系——包括什么是引力、引力如何构建太阳/地球、为什么地球不会掉进太阳,以及火箭如何发射才不会掉下来等问题。
注意:一切都由真实的观测数据驱动;渲染器唯一进行“伪造”的是比例,使用了 SpaceX 风格 UI。

- 什么是引力? —— 展示两个质量体及其之间相等且相反的力矢量(牛顿第三定律);同样的力,产生不等的效应。
- 引力构建太阳 —— 尘埃云坍缩并旋转形成太阳(吸积动画)。
- 引力构建地球 —— 在剩余的圆盘中发生同样的微观过程;初生的地球在形成时闪烁着熔融的光芒。
- 运动的物体保持运动 —— 移除太阳;地球以恒定速度沿直线漂移(牛顿第一定律)。纯粹的惯性。
- 为什么地球不会掉进太阳 —— 速度矢量 + 引力矢量 + 虚线的“无引力直线路径”。引力将直线弯曲成闭合环——轨道就是持续坠落并始终错过。 …(及其他 19 个步骤)
真实性说明
- 大小 —— 每个天体都使用其真实的平均半径(太阳 696,340 公里 → 冥王星 1,188 公里)和质量。
- 轨道 —— 使用来自 JPL/IAU 近似根数表的真实 J2000.0 日心开普勒根数(半长轴、离心率、倾角、升交点黄经、近日点黄经、平黄经)。每帧都会求解开普勒方程。
- 日期 —— 时钟是真实的:T=0 对应 J2000 历元(2000-01-01 12:00)。
最后,还有一个自由探索功能。
获取
最后,青小蛙和小朋友一起看了这个 Gravity,没想到他居然耐着性子把 24 个问题看完了。他还和我讨论了如果用第一宇宙速度回外婆家,需要几秒钟,我俩算了一下,决定不坐火箭回家了,因为感觉会先离开地球 
想要发现更多有趣的开源项目?欢迎常来云栈社区逛逛!
|