v1.4
Release path
A compact history of the main product-level changes. Patch-level fixes and local workflow notes are intentionally omitted.
- v1.4
French localization
Adds French UI, version history, simulator controls, source notes, and orbit descriptions.
- v1.3
Version history and public metadata
Adds the visible version badge, release history, MIT license, and dueyama GitHub links.
- v1.2
Public polish
Adds the browser icon, clearer README/project metadata, and public-safe GitHub/Vercel workflow notes.
- v1.1
Clearer classifications
Separates orbit type from stability, explains card family labels, and refines stable, unstable, unverified, and escape wording.
- v1.0
2D and 3D atlas
Promotes the app from a planar demo into a curated atlas with 2D and projected 3D tabs, source links, and stable/unstable spatial examples.
- v0.4
RK45 and high-precision presets
Adds adaptive Dormand-Prince RK45, high-precision periodic orbit presets, and the reference list for source material.
- v0.3
Localized explanations
Adds Japanese, English, and Chinese UI text, browser-language selection, and the calculation-method explanation.
- v0.2
Interactive simulator controls
Adds stability badges, reference traces, wheel zoom, long history, perturbation, and the RK4 integrator.
- v0.1
Initial 2D catalog
Starts the Next.js app with a local 2D three-body catalog, detail pages, and canvas simulation.
A working catalog of three-body orbits.
Liu Cixin's The Three-Body Problem [1] turns an unpredictable triple-star world into fiction; this atlas stays closer to the equations, integrating known planar orbits from published initial conditions [2][3].
Start with 2D choreography, relative equilibrium, and scattering, then switch to the new 3D tab for spatial periodic examples.
Equal-mass choreography
Figure-eight orbit
Orbit: three equal masses chase one another around the same horizontal figure-eight curve.
Relative equilibrium
Lagrange equilateral
Orbit: the bodies keep an equilateral triangle shape while the whole system rotates.
Periodic choreography
Butterfly I
Orbit: three equal masses weave a compact butterfly-like loop from a symmetric collinear start.
Periodic choreography
Butterfly II
Orbit: a compact butterfly-family loop with a tight central crossing.
Periodic choreography
Butterfly I 5A
Orbit: A longer butterfly-family orbit with a broader woven loop.
Periodic choreography
Butterfly III 6A
Orbit: A medium-period Butterfly III loop with repeated compact crossings.
Periodic choreography
Butterfly III 11A
Orbit: A longer Butterfly III variant with a compact repeated crossing pattern.
Periodic choreography
Goggles
Orbit: three bodies draw a tight looped pattern resembling paired lenses.
Periodic choreography
Yin-yang I alpha
Orbit: a balanced two-lobed periodic pattern with a yin-yang-like structure.
Periodic choreography
Yin-yang I beta
Orbit: a smaller two-lobed yin-yang-like periodic pattern.
Periodic choreography
Moth I
Orbit: a wing-like equal-mass periodic orbit with broad moth-shaped loops.
Periodic choreography
Moth I 8F
Orbit: A long moth-family entry whose one-period trace fills a wider winged shape.
Periodic choreography
Moth III
Orbit: a wide moth-like periodic orbit with a longer period.
Periodic choreography
Moth VIIb 7A
Orbit: A VIIb moth-family orbit with a dense but still readable crossing structure.
Periodic choreography
Dragonfly
Orbit: a periodic orbit with long crossing strokes and a dragonfly-like outline.
Periodic choreography
Yarn
Orbit: a long looping path that builds into a dense yarn-like pattern.
Figure-eight family
Figure-eight V.7.C
Orbit: A figure-eight-family variant with a longer looping choreography.
Figure-eight family
Figure-eight V.11.A
Orbit: A longer figure-eight-family preset that stays compact while the pattern develops.
Figure-eight family
Figure-eight V.14.A
Orbit: A long-period figure-eight-family path with many compact returns.
Chaotic scattering / escape
Pythagorean three-body
Orbit: masses 3, 4, and 5 begin at a 3-4-5 triangle, fall inward, and scatter apart.
How the app computes the motion
- The live simulation uses Newtonian gravity with G = 1 and a fixed timestep for each preset.
- The live integrator can switch between fixed-substep RK4 and adaptive Dormand-Prince RK45 [4].
- A small softening term is applied near collisions to avoid singular forces, so this is a visualization model rather than a proof-grade orbit integrator.
- Known solutions are stored as initial positions, velocities, masses, and display metadata. The app integrates forward from those initial conditions.
- Public-table presets use six-decimal initial conditions from the published table [2] after RK45 screening in this viewer. High-precision presets use 15-decimal conditions [3] because several six-decimal table values are not accurate enough for long playback.
- The 3D tab collects a curated subset of equal-mass spatial periodic-orbit initial conditions reported by Li and Liao [5], including both linearly stable and linearly unstable examples.
- History, wheel zoom, and Perturb are viewing tools: Perturb applies a one-time small kick; it does not continuously inject noise.
Orbit type and stability are shown separately. Most entries are periodic solutions; Lagrange is a relative equilibrium, and Pythagorean is a transient scattering example. Li and Liao [6] explicitly checked the original 15 planar examples: this app marks the seven Table 1 cases as unstable, the Table 3 matches included here as stable, and leaves less certain derived presets unverified.
- Choreography
- Three bodies follow one shared curve with a time shift.
- Relative equilibrium
- The shape stays fixed while the whole configuration rotates.
- Family
- A named group of related periodic orbits, such as butterfly, moth, or figure-eight variants.
- Scattering / escape
- A non-periodic close-encounter example where one or more bodies eventually leave.
Published periodic-orbit table
The table lists equal-mass planar three-body periodic-orbit initial conditions as p1, p2, and period T, using units where G = 1 and each mass is 1. Public-table presets here are six-decimal entries that were screened with RK45; high-precision presets use 15-decimal conditions for better numerical behavior. Among the butterfly entries currently shown here, Butterfly I uses the 15-decimal source, while the Butterfly III variants use the six-decimal public table.
Open initial-conditions PDFOpen high-precision condition noteOpen 3D initial-condition setReferences
- [1] Cixin Liu, The Three-Body Problem, translated by Ken Liu, Tor Books, 2014; originally published in Chinese as San ti, 2006.
- [2] A. Hudomal, "New Periodic Three-Body Orbits," public initial-condition table for equal-mass planar periodic three-body orbits.
- [3] S. J. Liao, "A comment on Three Classes of Newtonian Three-Body Planar Periodic Orbits," table of 15-decimal initial conditions and stability discussion.
- [4] J. R. Dormand and P. J. Prince, "A family of embedded Runge-Kutta formulae," Journal of Computational and Applied Mathematics, 6(1), 19-26, 1980. DOI: 10.1016/0771-050X(80)90013-3.
- [5] X. Li and S. Liao, "Discovery of 10,059 new three-dimensional periodic orbits of general three-body problem," arXiv:2508.08568, 2025; initial-condition data in sjtu-liao/three-body.
- [6] X. Li and S. Liao, "On the stability of the three classes of Newtonian three-body planar periodic orbits," Science China Physics, Mechanics & Astronomy, 57, 2121-2126, 2014. DOI: 10.1007/s11433-014-5563-5.