三体問題 仿真器 返回
Classical Mechanics / Chaos

三体問題 仿真器

实时可视化三天体的引力相互作用。从8字形周期解、拉格朗日稳定三角形等特殊解,到庞加莱于1890年证明无一般解的"混沌",全面体验。

预设
参数设置
● 质量 m₁
● 质量 m₂
● 质量 m₃
G 定数
轨迹长度
pt
播放控制
轨迹对比
计算结果
全能量 E
角动量 L
0.00
経過时间 t
三体問題仿真 — 实时状態値
天体 x y vx vy
天体1 (青)
天体2 (粉色)
天体3 (绿色)
天体1(青) 天体2(粉色) 天体3(绿色)
能量明细
动能:
势能能量:
全能量:
角动量 (z成分):
理论与主要公式

各天体 $i$ 受到的重力加速度:

$$\ddot{\mathbf{r}}_i = G \sum_{j \neq i}\frac{m_j (\mathbf{r}_j - \mathbf{r}_i)}{|\mathbf{r}_j - \mathbf{r}_i|^3}$$

全能量(Save量):

$$E = \frac{1}{2}\sum_i m_i |\dot{\mathbf{r}}_i|^2 - G\sum_{i < j}\frac{m_i m_j}{|\mathbf{r}_i - \mathbf{r}_j|}$$

角动量(Save量):$\mathbf{L}= \sum_i m_i (\mathbf{r}_i \times \dot{\mathbf{r}}_i)$

数值积分:蛙跳法(Störmer–Verlet),$\Delta t = 0.0005$

庞加莱(1890年)证明了一般三体问题不存在解析积分。这成为混沌理论的出发点。

反馈
请提供您的意见或报告问题

什么是三体问题

🙋
“三体问题”是什么?听起来像科幻小说里的东西。
🎓
简单来说,就是研究三个天体(比如三个太阳或行星)在彼此引力作用下如何运动的问题。听起来简单,但它是个著名的“混沌”系统,意味着没有通用的数学公式能完美预测它们未来的轨迹。在实际工程中,比如设计绕月或绕地飞行的航天器轨道时,就需要考虑这种多体引力影响。
🙋
诶,真的吗?没有公式能算?那这个模拟器是怎么画出行星轨道的?
🎓
问得好!虽然得不到精确的“解析解”,但我们可以用计算机进行“数值模拟”,一步步计算它们的位置。这个模拟器用的就是“蛙跳法”。你试着拖动上面三个天体的质量滑块,比如把其中一个质量设得特别大,你会发现另外两个就像它的卫星一样绕着转,轨道会变得相对稳定。这就是在模拟“限制性三体问题”。
🙋
我听说有个很漂亮的“8字形”轨道,那是怎么来的?
🎓
那是三体问题中一个非常神奇的“周期解”!当三个天体质量相等,并且初始位置和速度设置得恰到好处时,它们就会沿着一个像数字“8”的轨道永恒地、规律地追逐下去。你可以在模拟器的预设条件里选择“8字形解”,然后试着微调一下“轨迹长度”参数,就能清晰地看到这个优美的舞蹈。改变任何一个天体的质量,这个完美的舞蹈就会被打破,陷入混沌。

物理模型与关键公式

每个天体所受到的引力由牛顿万有引力定律决定,将所有其他天体对它的引力矢量相加,就得到了它的运动方程:

$$\ddot{\mathbf{r}}_i = G \sum_{j \neq i}\frac{m_j (\mathbf{r}_j - \mathbf{r}_i)}{|\mathbf{r}_j - \mathbf{r}_i|^3}$$

这里,$\mathbf{r}_i$ 是第 $i$ 个天体的位置矢量,$\ddot{\mathbf{r}}_i$ 是其加速度,$m_j$ 是第 $j$ 个天体的质量,$G$ 是万有引力常数。分母上的三次方意味着引力随距离的衰减非常快。

在理想的封闭系统中,总能量(动能与势能之和)是守恒的。模拟器会实时计算这个值,你可以用它来检验数值计算的精度:

$$E = \frac{1}{2}\sum_i m_i |\dot{\mathbf{r}}_i|^2 - G\sum_{i < j}\frac{m_i m_j}{|\mathbf{r}_i - \mathbf{r}_j|}$$

等式右边第一项是所有天体的动能之和($|\dot{\mathbf{r}}_i|$ 是速度大小),第二项是所有天体对之间的引力势能(负号表示吸引)。一个稳定的模拟,这个 $E$ 值应该几乎不变。

现实世界中的应用

航天器轨道设计与导航:深空探测器的轨道规划必须考虑太阳、地球、月球等多体的引力影响。例如,前往月球的飞船并非直线飞行,而是遵循一条精心计算的、受多体引力塑造的转移轨道。

拉格朗日点空间站:在地球和太阳的引力平衡点(即拉格朗日点,是三体问题的特解),航天器可以用很少的燃料维持相对位置。詹姆斯·韦伯太空望远镜就部署在日地系统的L2点。

星系与恒星系统演化:宇宙中双星、三星系统非常普遍。研究三体动力学有助于理解这些系统的稳定性、行星能否在其中存在,以及恒星之间复杂的引力相互作用(如捕获、弹射)。

CAE中的数值方法验证:三体问题是测试各种“数值积分算法”(如模拟器中使用的蛙跳法)精度和稳定性的经典算例。工程中许多复杂的多物理场仿真,其核心的时间推进算法原理与此相通。

常见误解与注意事项

首先,请勿认为“仿真结果总是正确的”。本工具属于数值计算的一种,而蛙跳法也并非万能。尤其当天体发生极端接近的“近距离交会”时,计算误差会急剧增大,可能导致物理上不可能的高速旋转或逃逸现象。在实际应用中,处理这类奇点附近的情况需要特殊技巧。

其次,需避免“预设参数是特殊魔法解”的误解。八字形轨道确实优美,但它是质量比、位置和速度经过完美调整后形成的极度精密的平衡状态。在现实宇宙中自然形成这种配置的概率几乎为零。正确的理解方式应是将其视为数学上存在的“可能性之一”。

参数设置技巧方面,建议注意无量纲化处理。例如,相较于将质量设为1、10、100,将总质量归一化为1后按(0.1、0.3、0.6)等方式设定,能更便于比较和理解系统行为。距离与时间参数同理,例如在脑海中构建以日地距离为1(天文单位)、1年为单位的参照系,会增强现实感。