u/CKret76

I upgraded my browser-based 3D solar system simulator with ephemeris data and on-demand streaming (~800 GB backend)
▲ 88 r/space

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

Demo:
https://ckret.net/sol

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

reddit.com
u/CKret76 — 7 days ago
▲ 280 r/space

Demo: https://ckret.net/sol/

Three days of rabbit-holing on orbital mechanics — here's the result. Purely browser-based 3D space simulator built with Three.js and vanilla JS — no frameworks, no build step.

What's in it:

- 8 planets with real elliptical orbits from J2000 Keplerian elements (not animation paths)

- 65 tracked moons with tidal locking, chaotic rotation for Hyperion, etc.

- 9 dwarf planets: Pluto, Eris, Sedna, Makemake, Haumea and more

- 10 named comets with particle tails

- Voyager 1 & 2 with actual JPL Horizons trajectory data (binary search interpolation)

- 130 Hipparcos catalog stars with proper motion — constellations slowly deform as you scrub deep time

- 15,500 small-body particles for asteroid belt, Kuiper belt, scattered disc, and Oort cloud

- Timeline scrubbing across deep time with landmark buttons (Voyager launch, major events)

- Galactic vortex view showing the solar system's helical path through the galaxy

- Fully responsive — works on mobile too

The orbital math does proper Kepler equation solving with Newton iteration, so positions are deterministic from simulation time rather than accumulated stepping.

Keyboard shortcuts: Space to pause, O for orbits, T for trails, 1/2 to switch views, / to search.

Would love feedback. Tech nerds: the source is pretty readable if you want to dig into the orbital math.

reddit.com
u/CKret76 — 20 days ago