Skip to content
← Astrophysics

An ongoing project by Dash Dahlberg

Orbital Sandbox

Change a spacecraft’s velocity.
See how its orbit changes.

An interactive laboratory for exploring orbital mechanics, planning maneuvers, and checking what a simplified model can explain.

Illustration of a circular and an elongated orbit around a central body. Not to scale.Change in velocityA different path
One position. Different velocities. Different orbits.
Illustration; not a simulated trajectory.

The starting point

A question about
Jupiter’s moons.

The first time I saw Jupiter’s four largest moons through my great-grandfather’s telescope, two were on each side of the planet. I wondered how often all four might appear on the same side. I calculated their orbital periods by hand, but I still wanted to see their positions changing over time.

I found a NASA animation that answered my first question and made me curious about other real and hypothetical orbits. Orbital Sandbox grew out of wanting to explore those questions myself: what happens when I change the central body, a satellite’s altitude, or its velocity?

The first version let me change those inputs and see the resulting orbit. I later added tools for planning prograde and retrograde burns. I want to understand how a spacecraft moves through a whole mission, including when and why its orbit needs to change.

Authorship & tools

How I build.

I also wanted to try building a project with Codex. I enjoyed Kerbal Space Program and wanted a smaller tool for experimenting with the orbital mechanics I had encountered in the game.

I develop Orbital Sandbox with AI-generated and AI-assisted code. I describe what I want, try the working versions, question results or visuals that do not make sense to me, and ask for revisions. Making burns easier to experiment with is one of the improvements I care about most: entering new orbital values is easier than figuring out which maneuver will produce them.

Read more about my use of AI →

Selected revisions

The project changed as it grew.

These milestones follow the project’s development record, from the first simulator to the current experience.

  1. December 2025

    A working orbit simulator

    The first version connected position and velocity controls to an orbital path. Early revisions corrected orbital calculations and clarified the difference between altitude and distance from a planet’s center.

  2. July 2026

    From a single orbit to a flight plan

    A new propagation engine, maneuver planning, 3D rendering, and guided challenges made it possible to preview and replay changes to an orbit.

  3. July 2026

    Historical missions, with sources

    The archive added Artemis I, Cassini’s Grand Finale, and Voyager 1 at Jupiter using recorded JPL Horizons trajectory data.

  4. September 2026

    Making the results easier to understand

    Recent revisions corrected burn-time announcements, added a written orbit summary, and made the main telemetry labels more readable.

Two corrections that matter

A planet’s surface and its center are different reference points. An early revision made the semi-major-axis readout use distance from the center, while keeping altitude above the surface distinct.

A burn’s time and the time shown by the next playback frame are also different. The current version reports the burn’s event time, even when accelerated playback moves past it between updates.

Physics & boundaries

What the model includes.

The editable sandbox uses a point-mass, two-body gravity model. A universal-variable propagator calculates motion between instantaneous burns. The planner supports full three-dimensional state vectors and radial, transverse, and normal maneuvers, displayed in either 2D or 3D.

It does not include atmospheric drag, a planet’s uneven gravity field, gravity from additional bodies, finite-duration engine burns, or full spacecraft systems. The spacecraft is enlarged for visibility.

The historical archive is a separate form of evidence: it plays back pre-generated JPL Horizons vectors. Those tracks are not predictions from the sandbox’s two-body solver.

Explore the sourced mission archive →

Evidence & open questions

Checking the result.

The project’s automated checks cover circular-orbit return, forward and reverse propagation, maneuver execution, invalid states, and compatibility with saved plans. The public validation page shows representative numerical cases, while the sandbox’s Flight data panel exposes state vectors, orbital quantities, and solver diagnostics.

Read the validation evidence → Read the methods →

The sandbox includes state-derived maneuver explanations and a guided demonstration. The Earth investigation compares the two-body model with Earth’s oblateness to ask: when does the simpler model stop being good enough?

Take the 80-second tour → Explore the Earth investigation →

Read the eight-page case study →

Open the sandbox and inspect the flight data →