三体模拟器
2026-10-13·
·
6 分钟阅读时长
·
阅读量 次
XIETU

m1 比能量
束缚
E₁ = --
½|v|² + U/m
m2 比能量
束缚
E₂ = --
½|v|² + U/m
m3 比能量
束缚
E₃ = --
½|v|² + U/m
1.0×
中心 (0.00, 0.00)t = 0.00
0.005
⚙ 初始条件设置
位置单位:无量纲 · 速度单位:无量纲 · 质量单位:无量纲
天体 1
m₁ = 质量;x₁,y₁ = 位置;vx₁,vy₁ = 速度
天体 2
m₂ = 质量;x₂,y₂ = 位置;vx₂,vy₂ = 速度
天体 3
m₃ = 质量;x₃,y₃ = 位置;vx₃,vy₃ = 速度
m1
m2
m3
✧ m1×m2
✧ m2×m3
✧ m1×m3
★ 严格共点
⚠ 逃逸
等待计算…
🌌 三体问题知识手册
从初始值到混沌 · 从共点到逃逸
📌 一、初始值含义
三体问题在二维平面中,每个天体有 4 个自由度:位置 (x, y) 与速度 (vx, vy)。三个天体共 12 个初始值,加上 3 个质量,共 15 个参数。
1.1 位置 (x, y)
天体在二维平面上的坐标,单位为无量纲(此模拟中 1 单位 ≈ 画布上的 200 像素)。
- 质心:三体位置的加权平均,若初值满足
Σ mᵢ·rᵢ = 0,则质心在原点。 - 8 字型解的质心:位于原点,因此三体系统整体不动,只有内部运动。
1.2 速度 (vx, vy)
天体在 x 和 y 方向的速度分量。影响轨迹形状和系统总能量。
- 总动量为零:
Σ mᵢ·vᵢ = 0时,系统质心静止,这是 8 字型解的必要条件。 - 总角动量为零:
Σ mᵢ·(rᵢ × vᵢ) = 0时,系统不发生整体旋转。
1.3 质量 (m)
天体的引力"荷"。质量越大,引力越强,对周围天体的影响越大。
- 等质量 (1:1:1):8 字型解、等边三角形解成立的前提。
- 质量悬殊 (如 10:1:1):近似"双星 + 行星"系统,更稳定。
- 归一化总质量 = 3:保持质量比不变,把所有质量等比缩放使总和为 3。
💡 8 字型解的物理意义
这套初值是 Moore (1993) 和 Chenciner-Montgomery (2000) 发现的精确周期解。三个等质量天体沿同一条"8"字曲线运动,互相追逐,周期约
这套初值是 Moore (1993) 和 Chenciner-Montgomery (2000) 发现的精确周期解。三个等质量天体沿同一条"8"字曲线运动,互相追逐,周期约
T ≈ 6.325。⚛ 二、物理量解释
2.1 比能量 (Specific Energy)
每个天体单位质量的能量,是判断逃逸的关键指标:
Eᵢ = ½|vᵢ|² + Uᵢ/mᵢ = ½|vᵢ|² − G·Σⱼ≠ᵢ (mⱼ / rᵢⱼ)
注:模拟中引入了软化参数 SOFTENING = 0.02,实际计算时 rᵢⱼ = √(Δx² + Δy² + SOFTENING²),用于避免天体近距离时的数值奇点。
注:模拟中引入了软化参数 SOFTENING = 0.02,实际计算时 rᵢⱼ = √(Δx² + Δy² + SOFTENING²),用于避免天体近距离时的数值奇点。
- Eᵢ < 0:束缚态。该天体能量不足,逃不出系统引力。
- Eᵢ > 0:逃逸态。该天体速度超过局部逃逸速度,将飞向无穷远。
- Eᵢ = 0:临界态。刚好逃到无穷远时速度为零。
2.2 合力 (Total Force)
天体 i 受其他两天体引力的矢量和:
Fᵢ = Σⱼ≠ᵢ G·mᵢ·mⱼ·(rⱼ − rᵢ) / |rⱼ − rᵢ|³
2.3 引力场与等势线
三体引力势叠加:
Φ_total = −G·(m₁/r₁ + m₂/r₂ + m₃/r₃)
等势线(引力场开关)由 Marching Squares 算法从网格采样中提取。势阱越深,等势线越密集越亮。
🪐 三、三体的已知周期解
3.1 拉格朗日等边三角形解 (1772)
三个天体始终组成等边三角形,绕共同质心旋转。
- 稳定性:取决于质量比。等质量时不稳定!
- 稳定性判据:Routh (1875) 发现需要质量参数
β < √2,等质量时 β = √3 ≈ 1.732 > 1.414,所以不稳定。
3.2 欧拉共线解 (1767)
三个天体始终共线,绕质心做周期运动。
- 不稳定:共线是"针尖上的平衡",稍微偏移就会产生垂直连线方向的合力。
3.3 8 字型周期解 (2000)
三个等质量天体沿同一条"8"字曲线运动,互相追赶。
- 不稳定:但失稳速率比前两者更慢(特征指数 λ ≈ 0.01~0.05)。
✧ 四、三引力线共点定理
4.1 定义
每个天体所受合力方向的反向延长线称为该天体的"引力线"。三条引力线是否交于同一点?
4.2 数学结论
一般情况下,三条引力线不共点。
但存在一个充要条件:
但存在一个充要条件:
[d₁₂, F₂]·[F₁, F₃] = [d₁₃, F₃]·[F₁, F₂]4.3 何时共点?
- 三体共线:三条引力线完全重合(退化共点)。
- 等边三角形旋转解:三线严格共点于质心。
- 8 字型特定相位:一个周期内离散发生 2~3 次。
⚠ 关于"近似共点"
由于
由于
F₁ + F₂ + F₃ = 0(总力为零),三条引力线在统计上总是指向系统内部某处。所以三个交点通常比较接近,但严格共点只在上述特殊情况下发生。🚀 五、逃逸的关键因素
5.1 核心机制:能量再分配
三体系统逃逸的根本原因是引力相互作用导致的能量再分配:
两个天体通过近距离引力相互作用,一个失去能量被"拉慢",另一个获得能量被"踢飞"。
总能量守恒,但各个天体的能量不守恒——引力做功会在天体之间转移能量。
5.2 三种逃逸机制
| 机制 | 描述 | 时间尺度 |
|---|---|---|
| 引力弹弓 | 双星把能量"给"单星,单星逃逸 | 单次交会 |
| 混沌放大 | 初值微差指数放大,随机落入逃逸区 | 几个特征时间 |
| 共振泵浦 | 周期共振累积能量 | 多次交会 |
| 数值误差 (非物理机制) | 假逃逸(数值积分误差累积导致,非真实物理过程) | 取决于精度 |
5.3 逃逸的最终命运
三体 → 双星 + 逃逸单星
对绝大多数初始条件,三体系统最终会解体为"双星 + 逃逸单星"。
5.4 本模拟中的逃逸检测
每个天体的比能量面板实时显示 Eᵢ:
- 束缚态:绿色能量条,标签"束缚"
- 逃逸态:卡片变红闪烁,画布上天体变红 + 脉冲光环 + "⚠ 逃逸"文字
- 滞后检测:需要 E 持续超过阈值才确认,避免近距离交会时的误判抖动
🌪 六、混沌与稳定性
6.1 什么是"不稳定"?
动力学系统的稳定性由 Lyapunov 指数 λ 描述:
- λ < 0:稳定。扰动逐渐衰减。
- λ = 0:中性稳定。扰动保持。
- λ > 0:不稳定。扰动指数增长:
δ(t) ~ δ(0)·e^(λt)。
6.2 三体问题的混沌本质
等质量三体问题的所有已知周期解,在李雅普诺夫意义下都不稳定。
这是三体问题被称为"混沌"的根本原因。
这是三体问题被称为"混沌"的根本原因。
6.3 各解的稳定性对比
| 解 | Lyapunov 指数 | 视觉失稳时间 |
|---|---|---|
| 欧拉共线解 | λ ≈ 0.1~0.5 | 几周期内崩溃 |
| 拉格朗日等边解 | λ ≈ 0.1~0.3 | 几十周期内崩溃 |
| 8 字型解 | λ ≈ 0.01~0.05 | 上百周期后崩溃 |
🎮 七、操作指南
7.1 画布操作
- 拖动:平移视图
- 滚轮 / 双指捏合:缩放
- 自动适应:根据三体位置自动调整视图(平滑跟随,用户交互时自动退出)
- 重置视图:回到初始缩放与中心
7.2 显示开关
| 开关 | 显示内容 |
|---|---|
| 引力场 | 引力井光晕 + 等势线(基于物理坐标计算) |
| 天体轨迹 | 三体近期运动路径(实线,无光晕) |
| 天体历史轨迹 | 三体历史运动路径(虚线,永不消失) |
| 交点轨迹 | 三对引力线交点的近期路径(黄色实线) |
| 交点历史轨迹 | 三对引力线交点的历史路径(黄色虚线,永不消失) |
| 交点标记 | 交点圆点 + 严格共点★ |
| 合力箭头与引力线 | 每个天体所受合力矢量 + 正向延长虚线 |
7.3 初值设置
- 质量 (m₁, m₂, m₃):金色输入框,改变引力强度
- 位置 (x, y):天体坐标
- 速度 (vx, vy):速度分量
- 预设:8 字型、等边三角形、共线欧拉、随机扰动
- 归一化总质量:按比例缩放质量,使总和 = 3
- 应用初值并重置:用新初值重启模拟
7.4 观察建议
观察逃逸过程:
1. 选择"等边三角形旋转"预设
2. 观察比能量面板:初始都是负值
3. 等到失稳时刻:某个 E 突然跳到正值(滞后检测避免误判)
4. 画面上对应天体变红 + 脉冲环
5. 用"自动适应"拉远视图追踪逃逸天体
1. 选择"等边三角形旋转"预设
2. 观察比能量面板:初始都是负值
3. 等到失稳时刻:某个 E 突然跳到正值(滞后检测避免误判)
4. 画面上对应天体变红 + 脉冲环
5. 用"自动适应"拉远视图追踪逃逸天体
体验混沌:
1. 点击"随机扰动"预设
2. 每次点击产生略微不同的初值
3. 观察轨迹如何完全不同 —— 这就是"初始条件的敏感依赖性"
1. 点击"随机扰动"预设
2. 每次点击产生略微不同的初值
3. 观察轨迹如何完全不同 —— 这就是"初始条件的敏感依赖性"
🌌 三体问题 · 混沌与秩序的交响
Φ_total = −G·Σ mᵢ/rᵢ · F = m·a · E = ½|v|² + U
Φ_total = −G·Σ mᵢ/rᵢ · F = m·a · E = ½|v|² + U
请支持我坚持下去,不限额捐赠!!!

微信捐赠

支付宝捐赠