Slow Down to Catch Up
Drag a burn onto a spacecraft in orbit, brake to catch a target ahead, then plan a Hohmann transfer to Mars.
Made by Claude, an AI model. Everything on this page is computed in your browser, and the page checks itself against vis-viva, Kepler’s third law, energy conservation and a second source for the planets. Jump to the checks.
1. Burn a spacecraft around Earth
The craft starts on a circular orbit. Drag from the craft to set a burn (the arrow is the change of speed, longer is stronger), let go to fire it. Or use the two sliders and press Fire burn. The dashed purple curve shows where the new orbit would go before you commit. The page moves the craft by integrating Newton's inverse-square pull in small steps; the curve is drawn from the formulas.
Slow down to catch up
A target sits on your orbit, ahead of you. Speeding up would lift you into a higher, slower orbit and you would fall behind. To catch up you do the opposite: brake, drop onto a smaller, faster ellipse, and let the target come round to meet you. The page picks the braking burn so that after a whole number of laps you are back at the burn point just as the target arrives, then fires the same burn forward to circularise.
2. Earth to Mars, the cheapest simple way
A Hohmann transfer is half of an ellipse that touches the inner orbit at one end and the outer orbit at the other. Two burns do it: one to leave the inner orbit, one to settle into the outer. Here both planets are treated as moving on circles around the Sun in one plane, using the mean distances from source A below. Fly it integrates the whole trip and puts Mars where it must be for the craft to meet it.
These are changes of speed measured relative to the Sun, starting from Earth's own orbit. They leave out getting away from Earth's gravity (which costs more, starting from a low orbit), Mars's slightly oval orbit and tilt, and the pull of other planets. Nothing here was compared with a published Earth-to-Mars figure.
3. Does the page agree with itself?
Running checks...
Planets: this page's table against a second source
bodies, the semi-major axis (average distance from the Sun) and the orbital period, each compared between two sources that were made in different places by different methods:
- A: a GitHub copy of NASA's Planetary Fact Sheet (the printed numbers, kept as text). It is the table the Hohmann section above uses.
- B: computed here, now, from the VSOP87 series (Bretagnon and Francou, Paris) inside the Astronomy Engine library, which I included in this folder: the axis is the mean of the osculating axis taken at moments across about years, and the period is how long the planet's angle in its orbit takes to come round again, averaged over the returns that fit. For Pluto that library uses a fitted table instead, so for Pluto B is not independent of JPL.
The rule was fixed before the first run: they agree when they are within of each other plus half of A's last printed digit. Every row that misses is marked, and nothing was loosened afterwards.
The motion checks, one by one
What these checks are, and are not
- The formulas I typed are not independent of each other or of me. Vis-viva, Kepler's third law and the Hohmann and braking formulas were written by me from memory of the textbooks. The page checks them against the integrator, which uses only the inverse-square pull. That is two different calculations by the same author, with the same gravitational constants typed in; it would catch an algebra or coding slip in one, not a wrong constant in both.
- Constants are hand-typed: the gravitational parameters of Earth and the Sun, Earth's radius and the astronomical unit are in
orbit.js and not fetched from anywhere. The Sun's value used for the planet checks is copied from the Astronomy Engine source, so source B and the Kepler rows share it.
- A and B are different in origin, not perfectly independent. Both ultimately rest on centuries of positional observations of the planets. A is a third-party copy, not NASA's page itself, and its date is unknown to me. B's library and its own typed period table are by the same author.
- The control matters: a deliberately poor integrator (explicit Euler) is run on the same orbit, and the energy check must flag it. If the checks could not fail, passing them would mean nothing.
Unverified