Classifying and Finding New Possible Orbits (Part I)
From the archive (2024). Corrected in October 2026; see the note at the end.
Summer research 2024: the three-body problem · Part 10 of 11
A weekly research log from my summer project at the University of Edinburgh, supervised by Prof. Jenni Smillie.
← Proving the Figure-Eight Orbit Exists: Action Minimisation on the Shape Sphere · Problem of Two Fixed Centres (Part III) →
This post describes a first systematic search for interesting orbits: a scan over a family of initial conditions, recording which ones stay bounded.
Set-up
My code integrates the motion of three bodies from given initial conditions, and, as we have seen, the trajectories are highly sensitive to those conditions. So let’s scan a family of initial conditions systematically.
Take three unit masses, \(m_1 = m_2 = m_3 = 1\), and \(G=1\). Start them on a line with zero total momentum:
| Body | Initial position | Initial velocity |
|---|---|---|
| 1 | \((-1, 0)\) | \((a, b)\) |
| 2 | \((1, 0)\) | \((a, b)\) |
| 3 | \((0, 0)\) | \((-2a, -2b)\) |
This is the standard family that contains the figure-eight orbit, at about \((a,b) = (0.347, 0.533)\).
I vary \(a\) and \(b\) independently from \(0\) to \(1\) in steps of \(0.01\). Each simulation runs for \(50\,000\) steps with \(\Delta t = 0.001\). If any body moves further than a fixed distance from the origin before the end, the run returns False (escaped); otherwise it returns True and the point \((a, b)\) is plotted. Many initial conditions lead to escapes or near-collisions, and a few lead to periodic orbits.
Results


Around the figure-eight orbit, the outcome is more sensitive to changes in the vertical velocity \(b\) than to changes in \(a\). This agrees with the findings of an earlier Edinburgh vacation-project report by F. Ramos.
A finer scan of that region (about 15 hours):

Limitations
The escape radius I used, \(20\), turned out to be too generous: many runs counted as “bounded” are not periodic in any useful sense.
Choosing the radius is genuinely difficult, because the three-body problem has no natural bound on the separations. In the two-body problem, negative energy forces a bounded orbit. With three bodies, two of them can form a tight binary whose potential energy is arbitrarily negative, which leaves the third body enough energy to travel arbitrarily far, and possibly return, while the total energy stays negative. With unit masses and \(G = 1\), the potential energy is
\[V = -\left(\frac{1}{r_{12}} + \frac{1}{r_{23}} + \frac{1}{r_{13}}\right),\]and making one separation small makes \(V\) as negative as we like, whatever the other two separations are. So there is no cut-off that cleanly separates “bound” from “escaping”.
A better criterion: the return proximity function
A more targeted test looks for orbits that come back close to where they started in phase space, using the return proximity function
\[\begin{aligned} P(t)&=\left|\mathbf{X}(t)-\mathbf{X}_0\right| \\ &=\sqrt{\begin{aligned}&\textstyle\sum_{i=1}^3\left[\mathbf{r}_i(t)-\mathbf{r}_i(0)\right]^2 \\ &\textstyle+\sum_{i=1}^3\left[\mathbf{p}_i(t) - \mathbf{p}_i(0)\right]^2\end{aligned}} . \end{aligned}\]For a periodic orbit, \(P(t)\) oscillates and dips close to zero once per period: the smaller the minimum, the closer the orbit returns to its initial state. In the next run I will keep orbits with \(P<15\) throughout the simulation and \(\min_{t > 0} P(t) < 0.7\).
Progress
Each scan takes over 30 hours. The code is already fairly optimised, so the next step is to check whether a larger time step (\(0.01\) instead of \(0.001\)) keeps enough accuracy. Five of the eight weeks have passed, and the search for genuinely new orbits is the most open-ended part of the project.
Credits
This search is inspired by the paper New Families of Periodic Orbits for the Planar Three-Body Problem Computed with High Precision.
Changes on 25 October 2026
What was wrong.
- The initial conditions put the body with velocity \(-2(a, b)\) at \((1, 0)\). The figure-eight values quoted, \((a, b) \approx (0.35, 0.53)\), belong to the standard arrangement with that body at the origin, which the table now gives.
- The potential energy was written \(1/a + 1/b + 1/c\). Gravitational potential energy is negative: \(V = -(1/r_{12} + 1/r_{23} + 1/r_{13})\).
- The argument for why no cut-off radius works did not hold up. The real reason is that two bodies can form a tight binary with arbitrarily negative potential energy, which leaves the third body enough energy to travel arbitrarily far.
- The return proximity function compared the momenta with zero instead of with their initial values.
What changed. All are fixed, and the diary-style asides are shorter.