
I upgraded my browser-based 3D solar system simulator with ephemeris data and on-demand streaming (~800 GB backend)
13 days ago I posted the original version of my browser-based solar system simulator built with Three.js and vanilla JS. The original version took about 3 days to build. This updated version took another 3-4 days of actual development time.
Based on feedback from that post, I added a new Ephemeris mode alongside the original Kepler mode.
The original system propagated orbital elements analytically, which works well for visualization and deep-time scrubbing. The new mode streams sampled JPL Horizons ephemeris data from a SQL Server backend and evaluates positions with Hermite interpolation using position + velocity vectors.
You can now watch things like the Shoemaker-Levy 9 Jupiter impacts, realtime Earth day/night cycles, evolving constellations over deep time, and ephemeris-driven planetary motion directly in the browser.
The backend dataset is now ~800 GB. The browser does not download all of that. It only streams the slices it needs, with progressive loading around the current simulation time.
Some of what is in it now:
- 1.5M+ known bodies in the database
- Ephemeris mode + original Kepler mode
- Ephemeris-backed positions for any object with samples in the database
- Real-time mode, deep-time scrubbing, and real-size mode
- Geo-lock system for surface-relative observation
- Planets, moons, dwarf planets, named comets, asteroid belt, Kuiper belt, scattered disc, and Oort cloud populations
- Voyager 1 & 2 trajectories
- Shoemaker-Levy 9 fragmentation and Jupiter impact sequence
- Earth day/night rotation anchored to Greenwich sidereal time
- Animated Earth cloud layer with procedural storms
- Moon phase/orientation calibration for more realistic realtime illumination
- Proper-motion stars and constellations that deform over deep time
- Fully reactive desktop/mobile UI
GitHub:
https://github.com/CKret/SOL---Solar-System-Simulation
Would love feedback from orbital mechanics / graphics / simulation nerds 🙂
Recreation of Saturn, Tethys, Mimas and Janus Cassini photo
The accuracy of the sim is quite remarkable. The image above is a recreation of a photo the Cassini probe took on March 13, 2006 of Saturn, Tethys, Mimas and Janus. (See the photo here https://x.com/konstructivizm/status/2052325394498343270).