Skip to Content
📄 Fibonacci Laws — Read the paper
The ModelMoon & Planets

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.

MetricValue
Sun Dec RMS vs JPL0.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:

PrecessionAgainst ICRFExperienced 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.

Moon's declination variation showing the Lunar Standstill pattern with 18.6-year nodal precession cycle

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:

CycleDurationDescription
Apsidal-nodal meeting~6.0 yrWhen perigee and node align (opposite directions)
Apsidal precession~8.85 yrLunar perigee rotation (prograde)
Leveling cycle~16.88 yrNet angular displacement completes 360°
Nodal precession~18.6 yrLunar 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 years

This 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:

  1. 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.
  2. 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:

MetricValue
RMS Moon–Sun separation at eclipses0.81°
Pearson correlation with NASA gamma0.9945
Residual RMS after parallax correction0.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):

EraMean |TT diff|Worst case
Cambyses-era catalog cross-check (-524 to -522)5.6 min11.3 min
Medieval (977 to 985)7.4 min14.0 min
All 11 events6.9 min14.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.

EventOfficial timeModel predictionDifference
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.

3D simulation showing lunar eclipse of September 7, 2025

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).

TargetRMS vs JPLData rangeNotes
Sun0.003°Equation of center
Moon0.01°Meeus Ch. 47 (120 terms)
Mercury0.01°1803–220042-term parallax correction
Venus0.22°1875–220042-term parallax correction
Mars0.02°1899–220030-term parallax correction
Jupiter0.06°1803–220042-term parallax correction
Saturn0.10°1803–220036-term parallax correction
Uranus0.01°2000–220024-term parallax correction
Neptune0.01°1805–220024-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:

PlanetIndependent obs. median errorJPL/IMCCE error at same epochsRatio
Mercury0.013° (n=23 transits)0.159°0.11×
Jupiter0.013° (n=28 occultations)0.281°0.11×
Saturn0.022° (n=21 occultations)0.334°0.22×
Neptune0.002° (n=29 occultations)0.034°0.19×
Uranus0.020° (n=2 occultations)0.154°0.09×
Mars0.177° (n=913 Tycho)0.240°1.04×
Venus0.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:

PlanetEcliptic periodEcliptic H/nICRF periodICRF H/n
Mercury~243,867 yrH×(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 yrH/16 (prograde)~111,772 yrH/3 (ICRF-prograde)
Mars~74,515 yrH×(8/36) (prograde)~39,449 yr−8H/68 (retrograde)
Jupiter~68,783 yr8H/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 yrH/3 (prograde)~33,532 yr−H/10 (retrograde)
Neptune~670,634 yr2H (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.

Mercury orbital diagram aligned with NASA transit data WebGeocalc data for Mercury perihelion precession Mercury perihelion movement relative to the invariable plane
Orbital element (J2000)Value
Ascending node (ecliptic)48.330°
Argument of periapsis (ecliptic)29.127°
Ecliptic inclination7.005°
Longitude of perihelion77.457°
Ascending node (invariable plane)32.83°
Argument of perihelion (invariable plane)44.627°
Invariable plane inclination6.3472858°
Eccentricity0.20564
Perihelion period (ecliptic)~243,867 yr = H×(8/11)
Perihelion period (ICRF)~28,844 yr = −8H/93 (retrograde)
Mean invariable plane inclination6.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.

Venus orbital diagram WebGeocalc data for Venus perihelion precession Venus perihelion movement relative to the invariable plane
Orbital element (J2000)Value
Ascending node (ecliptic)76.679°
Argument of periapsis (ecliptic)54.898°
Ecliptic inclination3.395°
Longitude of perihelion131.577°
Ascending node (invariable plane)54.70°
Argument of perihelion (invariable plane)76.877°
Invariable plane inclination2.1545441°
Eccentricity0.00678
Perihelion period (ecliptic)~447,089 yr = −8H/6 (retrograde)
Perihelion period (ICRF)~24,387 yr = −8H/110 (retrograde)
Mean invariable plane inclination2.151359°
Inclination amplitude±0.062165°

Mars

Mars is aligned with opposition data. Perihelion precession: ~1,600 arcsec/cy.

Mars orbital diagram showing opposition alignment WebGeocalc data for Mars perihelion precession Mars perihelion movement relative to the invariable plane
Orbital element (J2000)Value
Ascending node (ecliptic)49.557°
Argument of periapsis (ecliptic)286.508°
Ecliptic inclination1.850°
Longitude of perihelion336.065°
Ascending node (invariable plane)354.87°
Argument of perihelion (invariable plane)341.195°
Invariable plane inclination1.6311858°
Eccentricity0.09339
Perihelion period (ecliptic)~74,515 yr = H×(8/36)
Perihelion period (ICRF)~39,449 yr = −8H/68 (retrograde)
Mean invariable plane inclination1.833251°
Inclination amplitude±1.164214°

Jupiter

Perihelion precession: ~1,800 arcsec/cy (varies over longer periods).

Jupiter orbital diagram WebGeocalc data for Jupiter perihelion precession Jupiter perihelion movement relative to the invariable plane
Orbital element (J2000)Value
Ascending node (ecliptic)100.488°
Argument of periapsis (ecliptic)274.219°
Ecliptic inclination1.303°
Longitude of perihelion14.707°
Ascending node (invariable plane)312.89°
Argument of perihelion (invariable plane)61.817°
Invariable plane inclination0.3219652°
Eccentricity0.04839
Perihelion period (ecliptic)~68,783 yr = 8H/39
Perihelion period (ICRF)~41,270 yr = −8H/65 (retrograde)
Mean invariable plane inclination0.321086°
Inclination amplitude±0.021404°

Saturn

Perihelion precession: ~-3,400 arcsec/cy (retrograde in the ecliptic frame, varies over time).

Saturn orbital diagram WebGeocalc data for Saturn perihelion precession Saturn perihelion movement relative to the invariable plane
Orbital element (J2000)Value
Ascending node (ecliptic)113.645°
Argument of periapsis (ecliptic)338.483°
Ecliptic inclination2.489°
Longitude of perihelion92.128°
Ascending node (invariable plane)118.81°
Argument of perihelion (invariable plane)333.318°
Invariable plane inclination0.9254704°
Eccentricity0.05386
Perihelion period (ecliptic)~41,270 yr = −8H/65 (ecliptic-retrograde)
Perihelion period (ICRF)~15,873 yr = −8H/169 (retrograde)
Mean invariable plane inclination0.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.

Uranus orbital diagram WebGeocalc data for Uranus perihelion precession Uranus perihelion movement relative to the invariable plane
Orbital element (J2000)Value
Ascending node (ecliptic)74.009°
Argument of periapsis (ecliptic)96.722°
Ecliptic inclination0.773°
Longitude of perihelion170.731°
Ascending node (invariable plane)307.80°
Argument of perihelion (invariable plane)222.931°
Invariable plane inclination0.9946692°
Eccentricity0.04726
Perihelion period (ecliptic)~111,772 yr = H/3
Perihelion period (ICRF)~33,532 yr = −H/10 (retrograde)
Mean invariable plane inclination1.015182°
Inclination amplitude±0.023831°

Neptune

Perihelion precession: ~200 arcsec/cy.

Neptune orbital diagram WebGeocalc data for Neptune perihelion precession Neptune perihelion movement relative to the invariable plane
Orbital element (J2000)Value
Ascending node (ecliptic)131.785°
Argument of periapsis (ecliptic)274.016°
Ecliptic inclination1.770°
Longitude of perihelion45.801°
Ascending node (invariable plane)192.04°
Argument of perihelion (invariable plane)213.761°
Invariable plane inclination0.7354155°
Eccentricity0.00859
Perihelion period (ecliptic)~670,634 yr = 2H
Perihelion period (ICRF)~26,825 yr = −2H/25 (retrograde)
Mean invariable plane inclination0.743803°
Inclination amplitude±0.013551°

How planetary calculations work

All calculations in the 3D simulation share three characteristics:

  1. Grounded in scientific data: ascending/descending nodes, eccentricity values, etc. from official sources.
  2. Direct perihelion calculations: positions are computed from orbital elements directly, not from layered approximations.
  3. 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.

Last updated on: