Skip to content

dvansonsbeek/3d

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

833 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fibonacci Laws of Planetary Motion — Interactive 3D Solar System Simulation

License: GPL v3 Version Three.js

Solar System Simulation

Live Demo — Experience the simulation in your browser

Preprint — Read the accompanying research paper

What if the orbits of all eight planets, the wobble of Earth's axis, and the rhythm of ice ages are all governed by the same mathematical structure?

This interactive 3D simulation visualizes the Fibonacci Laws of Planetary Motion — six laws that connect every planet's orbital tilt, shape, and precession to a single timescale. Built with just 6 free parameters, the simulation accurately reproduces the geocentric positions of the Sun, Moon, and all seven planets — verified against JPL Horizons ephemeris data (~1800–2200 AD) and over 700 historical astronomical observations (~2000 BC to ~4000 AD). From the same geometric framework, it simultaneously produces obliquity, eccentricity, perihelion precession, and inclination oscillation for all planets.


Two Motions, One Ratio

The model starts from a single observation: two of Earth's precession motions rotate in opposite directions.

Motion Direction Cycle
Axial Precession Clockwise ~25,794 years
Inclination Precession Counter-clockwise ~111,772 years

These two counter-rotating motions interact in a Fibonacci ratio of 3:13. From this starting point, the model derives what is normally calculated separately: precession of the equinoxes, obliquity oscillation, eccentricity cycles, Milankovitch beat frequencies, the length of days and years, and the orbital-forcing component of climate (the timing of glacial-interglacial cycles).

Everything comes together in the Earth Fundamental Cycle (H): a 335,317-year master cycle at J2000 (H slowly evolves on geological timescales via Earth-Moon tidal evolution — see the deep-time section below) from which Earth's major precession periods emerge as Fibonacci divisions (H/3, H/5, H/8, H/13) — and this simulation visualizes it all in one interactive view.


The Solar System Resonance Cycle (8H) — ESSRT

Earth's H is the model's master cycle, but it isn't the largest. Eight Earth Fundamental Cycles — 8H = 2,682,536 years at J2000 — is the Solar System Resonance Cycle: the super-period at which every major planetary cycle (axial precession, perihelion precession, inclination oscillation, ascending node regression, obliquity oscillation, eccentricity oscillation) across all eight planets divides evenly as an integer. This is the 8H integer-divisor lattice that the climate work (docs 90–92) demonstrates from the LR04 + CENOGRID paleoclimate records, the Fibonacci Laws use (Law 6 lock at 8H/65, axial precession H/13 = 8H/104), and the deep-time framework expands across geological time.

The unifying theory is the Expanding Solar System Resonance Theory (ESSRT) (Doc 99):

  • The L1 integer labels (n = 9, 12, …, 65, 66, 68, …, 185 — 32 components in total) are scale-invariant structural constants of the solar system. Same integers at every epoch.
  • The literal periods scale with the current value of H(t): in the Devonian H ≈ 309,083 yr, today H = 335,317 yr, in 200 Myr H ≈ 350,665 yr — but 8H/65 is still the obliquity beat, 8H/104 is still axial precession, etc.
  • Two physically independent drivers expand H(t): Driver 1 is Earth-Moon tidal evolution (Moon recedes ~3.4 cm/yr, Earth's length-of-day grows); Driver 2 is solar mass loss (every planet's orbit slowly expands via Kepler's 3rd law). Both act simultaneously; the structural invariant H × days/year ≈ 122,471,920 couples them at the per-planet observational level.

ESSRT therefore unifies the modern-era 8H climate lattice (docs 90–92), the deep-time predictions (see deep-time section below), and the future projections (tidal-lock asymptote at ~87 R_⊕) into a single coherent framework with the same 6 free parameters throughout. The Solar System Resonance Cycle Period Table is in Doc 55.


The Six Fibonacci Laws

The model implements six laws — anchored on Earth and extending to all eight planets through Fibonacci numbers:

  1. Fibonacci Cycle Hierarchy — Earth's major precession periods divide H by Fibonacci numbers (H/3, H/5, H/8, H/13). A hierarchy unique to Earth.
  2. Inclination Amplitude Constant — A single constant ψ predicts all eight inclination amplitudes from Fibonacci divisors and mass alone
  3. The Inclination Balance — Seven planets' angular-momentum-weighted oscillations balance against Saturn alone (anti-phase) to 99.9975%
  4. Eccentricity Amplitude Constant — A single constant K predicts all eight eccentricity amplitudes from Fibonacci divisors, mass, distance, and axial tilt
  5. The Eccentricity Balance — Seven planets' eccentricities balance against Saturn alone using the same Fibonacci divisors and phase groups as Law 3 (99.86%)
  6. Saturn-Jupiter-Earth Resonance — Jupiter's ICRF perihelion and Saturn's ecliptic perihelion lock to one period, 8H/65 (a structural balance, not a coincidence); this is the obliquity beat in Earth's climate record, one 8H-lattice step from Earth's Fibonacci obliquity H/8 (= 8H/64). The gas giants drive Earth's spin-axis dynamics through their mutual resonance lock

The Fibonacci divisors follow a mirror symmetry: Mercury↔Uranus, Venus↔Neptune, Earth↔Saturn, Mars↔Jupiter. Out of 7,558,272 candidate configurations, four successive physical filters (inclination balance ≥99.994%, eccentricity balance ≥99%, Laplace–Lagrange bounds, direction match) narrow the field to 15 deep-analysis survivors — of which mirror symmetry then picks out only one (Config #7).

See the Fibonacci Laws documentation for the full derivation, and verify-laws.js for comprehensive verification (44/45 checks pass).


How It Works

The Sun is still the center of our solar system. The model uses a geo-heliocentric frame — viewing from Earth's perspective — to make the two counter-rotating precession motions visible:

  • Earth wobbles clockwise around a reference point (the EARTH-WOBBLE-CENTER) in ~25,794 years — this is axial precession
  • Earth's perihelion point wobbles counter-clockwise around the Sun in ~111,772 years — this is inclination precession
  • These two motions meet every ~20,957 years — producing perihelion precession
  • Earth orbits its perihelion point (close to the Sun) in 1 solar year, and all planets orbit their own perihelion points following Kepler's 3rd law

The result: obliquity, eccentricity, inclination, and all precession movements emerge from just two opposing forces in a 3:13 ratio.

For more details see holisticuniverse.com.


Quick Start

Prerequisites

  • Node.js (v16 or higher) — for the simulation and optimization tools
  • Python 3 (optional) — needed for ML training (tools/fit/python/) and statistical analysis (scripts/)

Installation

git clone https://github.com/dvansonsbeek/3d.git
cd 3d
npm install
npm start

The simulation will open in your browser at http://localhost:1234

Orbital Data Explorer (Dashboard)

An interactive data dashboard for exploring planetary orbital elements across a full Earth Fundamental Cycle:

npm run dashboard:export   # generate JSON data from the orbital engine
npm run dashboard          # start dashboard at http://localhost:5050

Features: multi-planet overlay, synchronized zoom/pan, light/dark mode, CSV export, range presets (Full H, H/3, H/5, H/8, H/13, H/16), and obliquity decomposition for Earth.

Python Analysis Scripts (Optional)

The scripts/ directory contains statistical analysis and verification scripts (Fibonacci significance tests, exoplanet tests, eccentricity analysis, Milankovitch spectral analysis on LR04 + Cheng2016 paleoclimate records producing the 8H Orbital Forcing Formula, Planet Nine falsification). To use them:

pip install -r requirements.txt   # numpy, pandas, openpyxl, scipy
python3 scripts/fibonacci_significance.py

Build for Production

npm run build

Features

  • Interactive 3D solar system with textured planets, rings, shadows, and starfield
  • Equation of center (variable speed) and empirical parallax corrections for all planets
  • Time controls: play, pause, speed adjustment, and date navigation
  • Click any planet to focus the camera and see its orbital data
  • Planet info sidebar with per-planet data, charts, and precession analysis
  • Eccentricity Balance Scale for visualizing Law 5 balance per planet
  • Invariable Plane Balance Explorer for interactive Fibonacci Law testing
  • Orbital Forcing Formula Explorer — Tools-menu modal plotting the 8H formula on top of LR04 across five tabs (full record → forward projection of the next natural glaciation)
  • Console tests for year length, day length, and calibration verification
  • Export functionality for solstice dates and object positions
  • Built with Three.js and Tweakpane v4

Deep-Time Implementation — Hadean to +200 Myr

The simulation is not limited to the modern era. The model's 6 free parameters apply at all epochs from the Hadean (4.5 Gyr ago, Moon at the Roche limit) through J2000 and into the future tidal-lock asymptote at ~87 R_⊕. A toggle in the developer panel enables deep-time mode, after which the time slider can be scrubbed across geological timescales and the entire scene graph — Earth, Moon, all seven planets, plus the perihelion-ecliptic frames — updates in real time to the physically correct positions for the target epoch.

The framework is documented in Doc 99 — Expanding Solar System Resonance Theory (ESSRT): a canonical 9-step chain from t_Ma through length-of-day (LOD), the Earth Fundamental Cycle H(t), AU, solar mass loss, Kepler year, Moon distance, Moon synodic month, anomalistic year, stellar/sidereal days, and planet orbital + synodic periods. The chain is anchored to modern Lunar Laser Ranging and the Farhat 2022 lunar-distance evolution polynomial; deep-time outputs are then independently validated against three external anchors that the model was not fit against:

  • Wells 1963 (Devonian coral growth bands at 380 Ma): predicted Earth Fundamental Cycle H ≈ 309,083 yr matches Wells's paleontological day-count to ~1.4 %
  • Wu et al. 2024 (650-Myr cyclostratigraphy from sedimentary records): predicted H(t) matches Wu's reconstruction across the entire Phanerozoic to within ~1 %
  • Patterson 1956 Pb-Pb Earth age (4.55 Gyr): the model places the Moon at the Roche limit at that epoch — no Hadean constraint was used in the fit; the result emerges from the same proper-physics chain that produces the modern Moon distance

Because the 6 free parameters are fit against modern J2000 data and then projected backward and forward via the proper-physics chain, the deep-time match is a falsifiable prediction, not a fit. The same 6 free parameters that reproduce the modern solar system to JPL Horizons precision (~1800–2200 AD) also reproduce paleontological day-counts at Devonian, cyclostratigraphic precession at 650 Ma, and the Hadean Moon-distance constraint at Earth formation — internally consistent across the full 4.5-Gyr lifetime of the solar system.


Related Findings — Mass Calibration Chain

The model's gravitational parameters (GM_Sun, GM_Earth, GM_Moon, GM_planet) are computed from a self-consistent chain rather than copied from a reference table. The chain re-parameterizes classical 19th–20th century perturbation results (Hill 1878, Brown 1908, Brouwer 1959) into compact closed forms and verifies the synthesis against JPL DE440 reference data. The physics is classical; the contribution is synthesis and presentation:

  • Doc 24 — Moon Kepler Derivation — Re-parameterizes Hill-Brown's solar perturbation on the lunar orbit as Δa = a_M·μ·m (barycentric wobble × phase-fraction). Reproduces the textbook 384,748 km Kepler-effective Moon distance from the geometric LLR value (384,399 km), giving GM_Earth to 3.7 ppm vs DE440 — the precision floor of any Kepler-from-Moon-orbit derivation
  • Doc 25 — Universal Mass-from-Moon Formula — Packages three classical terms (Newton's two-body Kepler + Hill-Brown's solar perturbation + Brouwer's J2 oblateness) as a single closed-form formula and verifies it against 22 moons of 7 planets. Matches DE440 to 3–340 ppm — a synthesis demonstration, not a new physical law
  • Doc 26 — Universal Sun-side Δa Formula — An algebraic identity: the symmetric Δa = a·(1 − ((μ_S+μ_E−μ_b)/(μ_S+μ_E))^(1/3)) makes the elaborate two-body Kepler form algebraically identical to the simple T = 2π·√(a³/(μ_S+μ_E)) for every planet. Useful as a conceptual lens; the model uses the simple form

These are calibration findings, not Fibonacci Laws, and not improvements on Newton. The physics is fully classical; the contribution is pedagogical — cleaner notation, a closed-form derivation of a textbook value, and a unified-formula demonstration across all moon-bearing planets in DE440. Suitable for an undergraduate astrodynamics or physics-education context.

Headline numbers: The model derives GM_Earth and GM_Moon to ~4 ppm and GM_Sun to 0.07 ppm against JPL DE440. These residuals sit at the precision floor of Kepler-from-Moon-orbit derivations (Hill-Brown m⁴-and-beyond terms), and fall inside the ~22 ppm uncertainty in G that bounds any mass-in-kg statement.


Documentation

Detailed documentation is available in the /docs folder, organized by category:

Range Category Start here
00–09 Getting Started & Overview Introduction, User Guide, Glossary
10–19 Theory & Model Fibonacci Laws
20–29 Technical Reference Constants Reference, Formulas
30–39 Calculations Anomaly, Ascending Nodes, Inclination
40–49 Architecture & Code Architecture, Scene Graph
50–59 UI & Tools UI Panels, Balance Explorer
60–69 Optimization & Fitting Overview, Fitting Pipeline
70–79 Verification Ascending Node Limitations
80–89 Per-Planet Setup Mercury Scene Graph Setup
90–99 Climate Analysis Climate Formula (Doc 92), Climate Summary (Doc 95), ESSRT (Doc 99)
100–109 ΔT & Historical Eclipse Validation Pure-tidal solar eclipses (Doc 101), GIA α(t) lunar validation (Doc 102), -135 Babylonian case study (Doc 103)

Investigation & Verification:

  • Python Scripts — Statistical significance tests, exoplanet Fibonacci tests, eccentricity analysis, Milankovitch paleoclimate tests
  • Milankovitch Framework (Doc 90), Milankovitch Evidence & Hypothesis Tests (Doc 91), and LR04 / CENOGRID Variance Decomposition + Canonical Climate Formula + Modal Implementation (Doc 92) — Spectral analysis of LR04 + Cheng 2016 U-Th-dated speleothems + Westerhold 2020 CENOGRID 67-Myr Cenozoic record + Bereiter 2015 EPICA Dome C CO₂ + CenCO2PIP Consortium 2023 deep-time CO₂. Doc 90 states the framework; doc 91 covers the canonical 32-component 8H Orbital Forcing Formula, per-planet contributions, the 100-kyr-band centroid (Mercury–Mars s₁−s₄ nodal beat at 107 kyr), the pre-registered super-cycle hypothesis test (NULL), fourteen falsifiable follow-up tests (16 positive / 2 partials / 5 nulls), and the dedicated 405-kyr off-lattice characterization (carbon-cycle silicate-weathering thermostat resonance). Doc 92 documents the canonical L1 + L2 + L3 modular formula with sequential ridge fitting per regime (post-MPT, iNHG-MPT, pre-iNHG, lr04-full, CENOGRID δ¹⁸O / δ¹³C, EPICA CO₂, CenCO2PIP), stitched per-regime evaluation, the Climate Formula Explorer modal (8 tabs in src/script.js), and the full reproducing pipeline
  • Historical Eclipse Validation (Doc 100), Pure-tidal Solar Eclipses (Doc 101), GIA α(t) Lunar Validation (Doc 102), and -135 Babylonian Case Study (Doc 103) — The model's ΔT formula (pure-tidal Farhat 2022 Moon-distance evolution + a viscoelastic α(t) GIA correction from independent satellite gravimetry — Cox & Chao 2002 + Peltier ICE-5G(VM2), zero parameters fitted to eclipse data) tested directly against the historical eclipse record. Doc 101: visibility-window methodology on 19 cleanly-attributed solar eclipses (-762 to 1654 CE) — model beats Stephenson's empirical fit on penumbra count (19/19 vs 17/19) and per-event mean residual (8,682 vs 8,789 s). A 2026-06-24 tighter umbra-centerline criterion further gives ★ TOTAL matches at conventional documented dates for -584 Thales/Anatolia (73 km, vindicating Herodotus), -762 Bur-Sagale/Nineveh (85 km, vindicating the Assyrian Eponym Canon), -708 Confucius (with chronology re-attribution, 176 km), -309 Sicily/Agathocles. Doc 102: higher-resolution lunar-timing test on 270 primary-source observations (Stephenson, Morrison & Hohenkerk 2016; Babylonian + Greek + Chinese + Arab traditions, -720 BCE to 1280 CE) — mean residual 24.4 min vs NASA Espenak/Meeus polynomial 20.0 min (within 4 min of the observation noise floor); four independent observation traditions agree on the model's residual to ±200 s after detrending — the cross-cultural validation argument. The Munk-MacDonald-scale (~5-6 ms/cy) non-tidal Earth-rotation assumption is rejected; the smaller GIA-scale (~0.6 ms/cy) contribution survives and is included as α(t). Doc 103: focused case study of the framework's one persistent residual (the -135 Babylonian eclipse, 1,159 km BestGap), decomposed into ~270 km α(t)-uncloseable ΔT + ~440 km Meeus Ch. 47 polynomial residual in Moon β + ~450 km other Meeus terms — establishes the framework's prediction (deep partial at Babylon, centerline over Saudi Arabia) as the correct prediction given its Meeus polynomial. Doc 100 provides the prior RMS-residual baseline (35 eclipses, all three ΔT formulas statistically indistinguishable at ~2° RMS)
  • Fitting Pipeline — Pipeline: Earth perihelion harmonics, ML precession prediction, parallax corrections, solar measurements, obliquity/cardinal-point/year-length harmonics
  • Predictive Formula Guide — ~2421-term physical-beat ML system for planetary precession prediction (R² > 0.99999 per planet; superseded the 429-term unified system on 2026-04-20)

Fitting Pipeline

The model's constants are stored in 4 JSON files in public/input/. When you change any model parameter (e.g., H, eccentricityBase, planet orbital elements), the fitting pipeline recalibrates all derived coefficients so the simulation matches JPL Horizons observations.

node tools/fit/run-pipeline.js --all           # full pipeline (~2.5 hrs)
node tools/fit/run-pipeline.js --phase1        # Steps 1-2 only (~15 sec)
node tools/fit/run-pipeline.js --phase2        # Steps 4a-9 (~2.5 hrs)
node tools/fit/run-pipeline.js --from 5        # resume from Step 5

The pipeline runs across 6 phases: Sun geometry → planet alignment → perihelion harmonics → ML training → parallax corrections → solar measurements & harmonic fits → verify → sync to script.js. Step 3 (browser data export) is always manual. Step 6a (solar measurements) exports all cardinal points, perihelion/aphelion, and world-angles in a single scene-graph pass; steps 6b-6e fit harmonics from that data. See tools/fit/README.md for the full reference.

Safety: Step 8 (verify-pipeline.js) validates all results against IAU reference values before syncing to script.js. If any parameter change produces unrealistic values — e.g., year lengths that differ from IAU by more than 1 second, obliquity that doesn't match J2000 within 0.01", or planet baselines that regress — the pipeline stops and reports which checks failed. This prevents invalid parameter changes from propagating into the simulation.


Quick Facts

  • Master cycle: 335,317 years at J2000 (the Earth Fundamental Cycle, H; slowly evolves under deep-time tidal evolution)
  • Axial precession: ~25,794 years (H/13)
  • Inclination precession: ~111,772 years (H/3)
  • Perihelion precession: ~20,957 years (H/16)
  • Model parameters: 70 model parameters (Earth 11, Moon 3, 7 planets x 8) and 75 calibration inputs from astronomical observations — with only 6 free parameters for the entire model

Roadmap

  • Add more celestial objects

Credits

License

This software is licensed under the GNU General Public License (GPL-3.0). See the LICENSE for details.

Contact

For questions about the model or if you want to help develop this further: