Sun, Moon & Planets
The Sun, Moon, and planets are modelled in the 3D simulation with high physical accuracy. All orbits include Kepler’s variable speed (equation of center) and parallax corrections for geocentric positions; the Moon adds full gravitational perturbation corrections (Meeus Ch. 47). All orbital periods fit into the 335,317-year Earth Fundamental Cycle as whole-number multiples.
In each per-planet table below the ICRF perihelion longitude drives the inclination oscillation (formula at Invariable Plane); the ascending node on the invariable plane sets the direction of the angular momentum perturbation vector for the balance.
Sun: equation of center
The Sun’s orbit includes the equation of center — Kepler’s 2nd Law, which makes the Sun move faster near perihelion (January) and slower near aphelion (July). The correction uses the standard two-term series:
θ += 2e·sin(M) + 1.25e²·sin(2M)where e is orbital eccentricity and M is mean anomaly from perihelion.
A key implementation detail: the model uses a circular orbit with an offset center to reproduce the Earth–Sun distance variation. This geometric offset already creates apparent speed variation (the Sun subtends a larger angle when closer). The equation of center uses a reduced eccentricity to add only the remaining speed variation not already provided by the geometry, avoiding double-counting.
| Metric | Value |
|---|---|
| Sun Dec RMS vs JPL | 0.002° |
| True model error (after frame correction) | 0.003° |
| Tropical year accuracy | +0.10 s vs IAU |
| Sidereal year accuracy | +0.02 s vs IAU |
RA comparison note: the apparent ~0.28° RA drift vs JPL Horizons is not a model error — it is a coordinate-frame mismatch. JPL uses the fixed ICRF/J2000 equinox while the model uses the of-date equatorial frame where the equinox precesses naturally at ~50.245″/yr. After correcting for this, the true Sun error is 0.003°.
Moon movements
The Moon exhibits two primary precession cycles:
| Precession | Against ICRF | Experienced on Earth |
|---|---|---|
| Nodal | ~18.61321 yr | ~18.59979 yr |
| Apsidal | ~8.84741 yr | ~8.85045 yr |
The Moon’s nodal precession causes the Lunar Standstill — when the Moon reaches its extreme northern or southern declination relative to Earth’s equator.
The lunar leveling cycle (~16.88 years)
To correctly model all Moon movements in 3D, an additional cycle is needed: a leveling cycle of ~16.88 years. Without this third component the Moon’s 3D position cannot be accurately reproduced.
The Moon’s nodal precession (~18.6 yr, retrograde) and apsidal precession (~8.85 yr, prograde) move in opposite directions. They meet every ~6 years — the well-known apsidal-nodal synodic period — but the two have different angular velocities. The net angular displacement completes a full 360° only after ~16.88 years:
| Cycle | Duration | Description |
|---|---|---|
| Apsidal-nodal meeting | ~6.0 yr | When perigee and node align (opposite directions) |
| Apsidal precession | ~8.85 yr | Lunar perigee rotation (prograde) |
| Leveling cycle | ~16.88 yr | Net angular displacement completes 360° |
| Nodal precession | ~18.6 yr | Lunar node rotation (retrograde) |
Derivation: the apsidal line rotates faster than the nodal line retreats. The difference in their angular velocities determines how long it takes for their combined effect on the Moon’s position to level out:
ω_apsidal − ω_nodal = 2π/8.85 − 2π/18.6 = 0.3722 rad/yr
2π / 0.3722 = 16.88 yearsThis is not a beat frequency (the apsidal-nodal beat is ~6 yr, since they move in opposite directions). It is the period for the net angular displacement of the two precessions to sweep through a full revolution.
A ~16.88-year period has been independently detected in Gulf of Alaska air temperatures by Royer (1993, J. Geophys. Res., 98, 4639–4644) and noted as a lunar tidal frequency by Pukite (2014) . All Moon cycle durations fit into the 335,317-year Earth Fundamental Cycle.
Moon position: two systems working together
The Moon’s position in the 3D simulation is determined by two systems:
- 5-layer precession hierarchy (geometric): five nested rotating containers handle sidereal month, apsidal precession, nodal precession, leveling cycle, and orbital inclination (5.145°). This produces the circular orbit ring visible in the scene.
- Meeus analytical corrections (perturbative): a table-driven implementation of Meeus’s Astronomical Algorithms Ch. 47, using 60 longitude terms and 60 latitude terms. These capture the Sun’s gravitational perturbations — evection, variation, annual equation, and dozens of smaller effects — shifting the Moon away from its geometric circle.
The orbit ring shows the unperturbed circular path from the hierarchy; the Moon itself shows the physically correct Meeus-corrected position. The difference between the ring and the Moon makes gravitational perturbation effects directly visible.
How it works: each frame, the simulation computes the Moon’s ecliptic longitude and latitude from the full Meeus series, converts to equatorial coordinates (RA/Dec), and repositions the Moon mesh accordingly. Both the displayed coordinates and the 3D visual position use the Meeus-corrected values, bypassing the hierarchy’s approximations for the Moon’s final position.
Moon position accuracy
The Moon’s position has been verified against 58 solar eclipses from the NASA GSFC catalog (2000–2025). At each known eclipse the geocentric Moon–Sun angular separation was measured:
| Metric | Value |
|---|---|
| RMS Moon–Sun separation at eclipses | 0.81° |
| Pearson correlation with NASA gamma | 0.9945 |
| Residual RMS after parallax correction | 0.04° |
| JPL Horizons Dec comparison (RMS) | 0.02° |
The 0.81° RMS is not an error — it is the theoretical geocentric limit. Solar eclipses are topocentric events: the Moon’s parallax (~0.95°) means a geocentric observer always sees a small offset. The correlation between this offset and NASA’s gamma parameter (r = 0.9945) confirms the model is correct. True residual after accounting for parallax is 0.04°.
Geocentric vs topocentric: the simulation models the view from Earth’s center. A real observer on Earth’s surface sees the Moon shifted by up to ~0.95° due to parallax. This is why the model cannot predict the exact ground location of an eclipse shadow — but it correctly predicts when and that an eclipse occurs.
Deep-time Moon polynomial validation (±15 min over 2,500 years)
The 36-eclipse modern test above measures the Moon polynomial against NASA’s catalog for 2000–2025. To validate accuracy at the deep-time end of the historical record, the same polynomial was cross-checked against 11 canonical eclipses from NASA’s Five Millennium Catalog spanning -524 to 985 CE in TT-space (the comparison is ΔT-independent — any residual is purely a Moon polynomial accuracy question):
| Era | Mean |TT diff| | Worst case |
|---|---|---|
| Cambyses-era catalog cross-check (-524 to -522) | 5.6 min | 11.3 min |
| Medieval (977 to 985) | 7.4 min | 14.0 min |
| All 11 events | 6.9 min | 14.0 min |
The Meeus Ch. 47 polynomial residual at ~1,000 years from J2000 (≈ 0.13° in Moon ecliptic longitude at the worst case) is well within the modern parallax limit. The simulation’s Moon polynomial therefore holds across the entire historical eclipse record without deep-time correction — see Historical Eclipse Validation for the full methodology and the broader pure-tidal-vs-Stephenson ΔT comparison built on this foundation.
Eclipse visualisation
The 3D simulation includes eclipse visualisation using Three.js lighting and shadow functions. With the full Meeus Ch. 47 perturbation model, the Moon’s position is accurate to 0.04° (after parallax correction), making solar eclipses visible at the correct dates.
| Event | Official time | Model prediction | Difference |
|---|---|---|---|
| 2025 Mar 29 solar eclipse | ~10:48 UTC | ~10:45 UTC | ~3 minutes |
| 2025 Sep 7 lunar eclipse | ~18:12 UTC max | ~18:06 UTC | ~6 minutes |
| 2025 Sep 21 solar eclipse | ~19:43 UTC | ~19:54 UTC | ~11 minutes |
The eclipse timing differences reflect the remaining geocentric–topocentric gap. The Moon’s positional accuracy (0.04° residual) is at the theoretical limit for a geocentric model; further improvement requires accounting for the observer’s surface location.
Historical eclipse browser (25 events, -762 to 2024)
The simulation also includes a browsable catalog of 25 well-documented historical solar eclipses spanning the Bur-Sagale eclipse of -762 BCE through the 2024 April 8 total over North America. The catalog mixes 8 modern landmark eclipses (Eddington 1919, Halley 1715, Henry I 1133, Thales -584, etc.) with 17 ancient and medieval events drawn from the model’s validation suite (Thucydides -430 in Athens, the Babylonian best-preserved diary -135, Plutarch’s 71 CE Aegean eclipse, the six Ibn Yunus Cairo observations, and more). Each entry jumps the simulation to the moment of greatest eclipse, where Moon and Sun can be visually verified as aligned in the 3D scene.
The full pure-tidal-vs-Stephenson comparison built on this catalog is at Historical Eclipse Validation.
Planetary movements
All planets are configured in the 3D simulation with their perihelion precession fully modelled according to Kepler’s Third Law. Each planet includes an equation of center (variable orbital speed) and a parallax correction series for accurate geocentric positions.
Simulation accuracy
All orbits use circular geometry with variable-speed corrections (equation of center), approximating Keplerian motion without ellipse equations. Per-planet parallax corrections are fitted against JPL Horizons and historical transit/opposition reference data (~1800–2200 AD).
| Target | RMS vs JPL | Data range | Notes |
|---|---|---|---|
| Sun | 0.003° | — | Equation of center |
| Moon | 0.01° | — | Meeus Ch. 47 (120 terms) |
| Mercury | 0.01° | 1803–2200 | 42-term parallax correction |
| Venus | 0.22° | 1875–2200 | 42-term parallax correction |
| Mars | 0.02° | 1899–2200 | 30-term parallax correction |
| Jupiter | 0.06° | 1803–2200 | 42-term parallax correction |
| Saturn | 0.10° | 1803–2200 | 36-term parallax correction |
| Uranus | 0.01° | 2000–2200 | 24-term parallax correction |
| Neptune | 0.01° | 1805–2200 | 24-term parallax correction |
All 9 targets within 0.22°, seven under 0.06°. The accuracy holds over ~200–400 years for most planets.
Validation against independent historical observations
The accuracy figures above measure the model against modern JPL Horizons ephemerides — itself a numerical-integration model. To validate against direct sky observations (independent of any modern ephemeris), the model has been benchmarked against Tycho Brahe’s pre-telescopic Mars observations (1572–1601, Opera Omnia vols. 10–13), the NASA/Espenak Mercury & Venus transit catalogues, and the Project Pluto mutual planetary occultation catalogue.
At the epochs where direct historical observations exist, the model matches them as well as — and for five of seven planets, measurably better than — the JPL DE441 / IMCCE INPOP19 ephemerides do at the same epochs:
| Planet | Independent obs. median error | JPL/IMCCE error at same epochs | Ratio |
|---|---|---|---|
| Mercury | 0.013° (n=23 transits) | 0.159° | 0.11× |
| Jupiter | 0.013° (n=28 occultations) | 0.281° | 0.11× |
| Saturn | 0.022° (n=21 occultations) | 0.334° | 0.22× |
| Neptune | 0.002° (n=29 occultations) | 0.034° | 0.19× |
| Uranus | 0.020° (n=2 occultations) | 0.154° | 0.09× |
| Mars | 0.177° (n=913 Tycho) | 0.240° | 1.04× |
| Venus | 0.101° (n=8) | 0.117° | 1.20× |
The Mars row is the most robust: 913 pre-telescopic naked-eye Tycho observations match the model at median 0.18° dec error — fully comparable to (and slightly better than) IMCCE INPOP19 at the same epoch, on a sample large enough to be statistically meaningful. The result is consistent with the model’s residuals against JPL Horizons at extended ranges reflecting divergent extrapolation between the two models rather than a fitness deficit in this one.
See Verification Data Reference in the simulation repo for the full methodology and the re-runnable validation scripts in tools/fit/.
Planetary perihelion data
All values come from NASA and WebGeocalc. For the full list of transit catalogues, opposition dates, and conjunction data used for validation, see Appendix: Planetary Events & Catalogues.
Perihelion precession: ecliptic and ICRF
The ecliptic frame is the natural frame for solar system dynamics — secular perturbation theory, the Laplace-Lagrange eigensystem, and angular momentum conservation all operate in this plane. No physical mechanism couples the solar system’s internal precession to the external ICRF; the ICRF rates follow from the ecliptic dynamics expressed in a different reference frame (see Fibonacci Laws — ICRF Perspective).
The conversion to ICRF subtracts H/13 (the general precession). Only Earth’s ecliptic rate exceeds this threshold — making Earth the sole prograde planet in ICRF. All others precess retrograde:
| Planet | Ecliptic period | Ecliptic H/n | ICRF period | ICRF H/n |
|---|---|---|---|---|
| Mercury | ~243,867 yr | H×(8/11) (prograde) | ~28,844 yr | −8H/93 (retrograde) |
| Venus | ~447,089 yr | −8H/6 (ecliptic-retrograde) | ~24,387 yr | −8H/110 (retrograde) |
| Earth | ~20,957 yr | H/16 (prograde) | ~111,772 yr | H/3 (ICRF-prograde) |
| Mars | ~74,515 yr | H×(8/36) (prograde) | ~39,449 yr | −8H/68 (retrograde) |
| Jupiter | ~68,783 yr | 8H/39 (prograde) | ~41,270 yr | −8H/65 (retrograde) |
| Saturn | ~41,270 yr | −8H/65 (ecliptic-retrograde) | ~15,873 yr | −8H/169 (retrograde) |
| Uranus | ~111,772 yr | H/3 (prograde) | ~33,532 yr | −H/10 (retrograde) |
| Neptune | ~670,634 yr | 2H (prograde) | ~26,825 yr | −2H/25 (retrograde) |
Earth, Jupiter, and Saturn have pure Fibonacci ICRF denominators (3, 8, 21). The frame transformation produces the Fibonacci subtraction identities 16−13=3, 5−13=−8, and −8−13=−21 — generating the complete chain 3 → 5 → 8 → 13 → 21. Earth is the sole prograde planet in ICRF — an exception created by the Fibonacci number 13 (the general precession). For what this means for Earth’s inclination dynamics: Why Earth Is Unique.
Mercury
Mercury’s model is fully aligned with NASA transit data. Perihelion precession: ~572 arcsec/cy.
| Orbital element (J2000) | Value |
|---|---|
| Ascending node (ecliptic) | 48.330° |
| Argument of periapsis (ecliptic) | 29.127° |
| Ecliptic inclination | 7.005° |
| Longitude of perihelion | 77.457° |
| Ascending node (invariable plane) | 32.83° |
| Argument of perihelion (invariable plane) | 44.627° |
| Invariable plane inclination | 6.3472858° |
| Eccentricity | 0.20564 |
| Perihelion period (ecliptic) | ~243,867 yr = H×(8/11) |
| Perihelion period (ICRF) | ~28,844 yr = −8H/93 (retrograde) |
| Mean invariable plane inclination | 6.703206° |
| Inclination amplitude | ±0.386477° |
For Mercury’s “missing” perihelion precession analysis: Mercury Precession.
Venus
Venus is fully aligned with NASA transit data. Perihelion precession: ~0 arcsec/cy.
| Orbital element (J2000) | Value |
|---|---|
| Ascending node (ecliptic) | 76.679° |
| Argument of periapsis (ecliptic) | 54.898° |
| Ecliptic inclination | 3.395° |
| Longitude of perihelion | 131.577° |
| Ascending node (invariable plane) | 54.70° |
| Argument of perihelion (invariable plane) | 76.877° |
| Invariable plane inclination | 2.1545441° |
| Eccentricity | 0.00678 |
| Perihelion period (ecliptic) | ~447,089 yr = −8H/6 (retrograde) |
| Perihelion period (ICRF) | ~24,387 yr = −8H/110 (retrograde) |
| Mean invariable plane inclination | 2.151359° |
| Inclination amplitude | ±0.062165° |
Mars
Mars is aligned with opposition data. Perihelion precession: ~1,600 arcsec/cy.
| Orbital element (J2000) | Value |
|---|---|
| Ascending node (ecliptic) | 49.557° |
| Argument of periapsis (ecliptic) | 286.508° |
| Ecliptic inclination | 1.850° |
| Longitude of perihelion | 336.065° |
| Ascending node (invariable plane) | 354.87° |
| Argument of perihelion (invariable plane) | 341.195° |
| Invariable plane inclination | 1.6311858° |
| Eccentricity | 0.09339 |
| Perihelion period (ecliptic) | ~74,515 yr = H×(8/36) |
| Perihelion period (ICRF) | ~39,449 yr = −8H/68 (retrograde) |
| Mean invariable plane inclination | 1.833251° |
| Inclination amplitude | ±1.164214° |
Jupiter
Perihelion precession: ~1,800 arcsec/cy (varies over longer periods).
| Orbital element (J2000) | Value |
|---|---|
| Ascending node (ecliptic) | 100.488° |
| Argument of periapsis (ecliptic) | 274.219° |
| Ecliptic inclination | 1.303° |
| Longitude of perihelion | 14.707° |
| Ascending node (invariable plane) | 312.89° |
| Argument of perihelion (invariable plane) | 61.817° |
| Invariable plane inclination | 0.3219652° |
| Eccentricity | 0.04839 |
| Perihelion period (ecliptic) | ~68,783 yr = 8H/39 |
| Perihelion period (ICRF) | ~41,270 yr = −8H/65 (retrograde) |
| Mean invariable plane inclination | 0.321086° |
| Inclination amplitude | ±0.021404° |
Saturn
Perihelion precession: ~-3,400 arcsec/cy (retrograde in the ecliptic frame, varies over time).
| Orbital element (J2000) | Value |
|---|---|
| Ascending node (ecliptic) | 113.645° |
| Argument of periapsis (ecliptic) | 338.483° |
| Ecliptic inclination | 2.489° |
| Longitude of perihelion | 92.128° |
| Ascending node (invariable plane) | 118.81° |
| Argument of perihelion (invariable plane) | 333.318° |
| Invariable plane inclination | 0.9254704° |
| Eccentricity | 0.05386 |
| Perihelion period (ecliptic) | ~41,270 yr = −8H/65 (ecliptic-retrograde) |
| Perihelion period (ICRF) | ~15,873 yr = −8H/169 (retrograde) |
| Mean invariable plane inclination | 0.984965° |
| Inclination amplitude | ±0.065192° |
Saturn is the only planet whose longitude of perihelion moves obviously retrograde in the ecliptic frame at the current epoch. Standard celestial mechanics attributes this to a transient phase of the ~900-year Great Inequality (Laplace 1784); the model proposes a permanent ecliptic-retrograde precession at 8H/65 = 41,270 yr, consistent with the observed rate, and treats Saturn as the sole anti-phase pivot in the Fibonacci framework (Laws 3, 5, 6). Full analysis and the testable prediction that distinguishes the two theories: Supporting Evidence §12.
Uranus
Perihelion precession: ~1,100 arcsec/cy.
| Orbital element (J2000) | Value |
|---|---|
| Ascending node (ecliptic) | 74.009° |
| Argument of periapsis (ecliptic) | 96.722° |
| Ecliptic inclination | 0.773° |
| Longitude of perihelion | 170.731° |
| Ascending node (invariable plane) | 307.80° |
| Argument of perihelion (invariable plane) | 222.931° |
| Invariable plane inclination | 0.9946692° |
| Eccentricity | 0.04726 |
| Perihelion period (ecliptic) | ~111,772 yr = H/3 |
| Perihelion period (ICRF) | ~33,532 yr = −H/10 (retrograde) |
| Mean invariable plane inclination | 1.015182° |
| Inclination amplitude | ±0.023831° |
Neptune
Perihelion precession: ~200 arcsec/cy.
| Orbital element (J2000) | Value |
|---|---|
| Ascending node (ecliptic) | 131.785° |
| Argument of periapsis (ecliptic) | 274.016° |
| Ecliptic inclination | 1.770° |
| Longitude of perihelion | 45.801° |
| Ascending node (invariable plane) | 192.04° |
| Argument of perihelion (invariable plane) | 213.761° |
| Invariable plane inclination | 0.7354155° |
| Eccentricity | 0.00859 |
| Perihelion period (ecliptic) | ~670,634 yr = 2H |
| Perihelion period (ICRF) | ~26,825 yr = −2H/25 (retrograde) |
| Mean invariable plane inclination | 0.743803° |
| Inclination amplitude | ±0.013551° |
How planetary calculations work
All calculations in the 3D simulation share three characteristics:
- Grounded in scientific data: ascending/descending nodes, eccentricity values, etc. from official sources.
- Direct perihelion calculations: positions are computed from orbital elements directly, not from layered approximations.
- Kepler’s Third Law: orbital elements follow the period-distance relationship.
For Jupiter, the calculation chain starts at PERIHELION-OF-EARTH, applies the planet’s perihelion precession speed, sets the perihelion location, adds a counter-movement correction, moves to a Sun-centered reference, then applies orbital elements and nodes. Implementation detail and Three.js scene graph: Simulation Technical Guide.
Explore in the 3D simulation: all planetary and lunar data can be verified in the Interactive 3D Solar System Simulation . The Data Explorer dashboard provides browsable tables for each planet’s orbital parameters.
Continue to Mercury Precession for the detailed analysis of Mercury’s “missing” perihelion precession.