Animate Neptune's Moons
Interactive orbital animation of Neptune's 16 moons with real Keplerian mechanics, eccentricity, inclination, and detailed moon data.
About
Neptune possesses 16 confirmed natural satellites. Their orbits range from a = 48,227 km (Naiad) to 49,285,000 km (Neso). This simulator solves Kepler's equation at each frame to compute true orbital positions, accounting for eccentricity e and inclination i. A simple two-body approximation is used. Perturbations from other moons, solar radiation pressure, and Neptune's oblateness (J2) are not modeled. For irregular satellites with high eccentricities (e > 0.4), the rendered ellipse shape is accurate, but long-term orbital evolution (precession, Kozai-Lidov oscillations) is omitted.
Triton is the only large moon and orbits retrograde (inclination ≈ 157ยฐ), indicating capture origin. Its tidal interaction is causing slow inspiral. The remaining moons divide into regular prograde inner moons and irregular outer satellites on highly eccentric, inclined orbits. Orbital radii are displayed on a logarithmic scale to keep all 16 moons visible simultaneously. Moon disc sizes use log-scaling relative to Triton's diameter of 2,707 km.
Formulas
Each moon's position is computed by solving Kepler's equation at every animation frame. Given mean anomaly M advancing linearly with time, eccentric anomaly E is found iteratively.
This is solved via Newton-Raphson iteration:
True anomaly ฮฝ is then derived from E:
Radial distance r from Neptune:
The 2D projection applies inclination as vertical offset: yoffset = r โ sin(i) โ sin(ฮฝ). Orbital radii are log-scaled: rdisplay = log10(a) mapped linearly to canvas radius range.
Where: M = mean anomaly rad, E = eccentric anomaly rad, e = eccentricity (dimensionless), ฮฝ = true anomaly rad, a = semi-major axis km, i = orbital inclination rad, r = radial distance km.
Reference Data
| Moon | Semi-Major Axis km | Period days | Eccentricity | Inclination ยฐ | Diameter km | Year | Group |
|---|---|---|---|---|---|---|---|
| Naiad | 48,227 | 0.294 | 0.0004 | 4.75 | 58 | 1989 | Inner |
| Thalassa | 50,075 | 0.311 | 0.0002 | 0.21 | 82 | 1989 | Inner |
| Despina | 52,526 | 0.335 | 0.0002 | 0.07 | 150 | 1989 | Inner |
| Galatea | 61,953 | 0.429 | 0.0001 | 0.05 | 176 | 1989 | Inner |
| Larissa | 73,548 | 0.555 | 0.0014 | 0.20 | 194 | 1981 | Inner |
| Hippocamp | 105,283 | 0.950 | 0.0005 | 0.06 | 18 | 2013 | Inner |
| Proteus | 117,647 | 1.122 | 0.0005 | 0.08 | 420 | 1989 | Inner |
| Triton | 354,759 | 5.877 | 0.0000 | 156.87 | 2,707 | 1846 | Major (retrograde) |
| Nereid | 5,513,818 | 360.14 | 0.7507 | 7.23 | 340 | 1949 | Irregular |
| Halimede | 16,611,000 | 1879.1 | 0.2646 | 112.90 | 62 | 2002 | Irregular |
| Sao | 22,228,000 | 2912.7 | 0.1365 | 53.48 | 44 | 2002 | Irregular |
| Laomedeia | 23,567,000 | 3171.3 | 0.3969 | 37.87 | 42 | 2002 | Irregular |
| Psamathe | 48,096,000 | 9074.3 | 0.3809 | 126.31 | 40 | 2003 | Irregular |
| Neso | 49,285,000 | 9541.0 | 0.5714 | 136.44 | 60 | 2002 | Irregular |