Course 07 · Orbital mechanics
Latitude, azimuth and the orbits you can reach
Why a launch site's latitude sets the lowest inclination it can fly, what the Earth's spin is worth, and the azimuth that hits a given plane.
The last two lessons moved a vehicle from one conic to another and never asked where the first conic came from. It comes from the pad. A launch site is a point on a spinning, slightly flattened sphere, and at the moment of liftoff the rocket already has a position and a velocity: the site's own. Everything it does afterwards is a correction to that starting state.
Two facts constrain what the correction can reach. The orbital plane passes through the centre of the Earth — orbits as conic sections showed why, from the constancy of the angular momentum. And at liftoff it passes through the pad. A plane through two fixed points still has one degree of freedom, which is the direction the vehicle sets off in: the launch azimuth. Pick the azimuth and the plane is decided.
This matters because the plane is the most expensive thing to change once the vehicle is up. Turning the velocity of a low orbit through a single degree costs 136 m/s, the price of a sizeable manoeuvre. So the plane is chosen on the ground, twice over: by the azimuth, and by the time of day at which the Earth's rotation carries the pad into the plane that is wanted. This lesson is about both choices, and about the Earth's spin, which helps with one and complicates the other.
The plane through the pad
A plane through the centre of the Earth meets its surface in a great circle. The circle is tilted to the equator by the orbit's inclination , so it climbs to latitude on one side of the Earth and falls to on the other, and no further. (For a retrograde orbit, , the extremes are .) The pad has to lie on that circle. So a pad at latitude can only launch into orbits with
The lowest inclination a site can fly directly is its own latitude, and it is reached by launching due east, which puts the pad at the orbit's most northerly point. Nothing about the rocket changes this. A vehicle launched from Cape Canaveral, at 28.56° north, cannot enter an equatorial orbit without a plane change later, and a plane change of 28.56° in low orbit costs 3.84 km/s — half the orbital speed itself.
The playground's launch sites, from src/sim/sites.ts, with the eastward speed
each gets for free (the next section derives it):
| Site | Latitude | Ground speed east |
|---|---|---|
| Alcântara | 2.32° S | 464.7 m/s |
| Kourou | 5.24° N | 463.2 m/s |
| Sriharikota | 13.72° N | 451.9 m/s |
| Wenchang | 19.61° N | 438.3 m/s |
| Starbase | 26.00° N | 418.3 m/s |
| Cape Canaveral | 28.56° N | 408.8 m/s |
| Tanegashima | 30.40° N | 401.5 m/s |
| Vandenberg | 34.63° N | 383.1 m/s |
| Mahia | 39.26° S | 360.6 m/s |
| Baikonur | 45.92° N | 324.1 m/s |
Each site's lowest inclination is its latitude. That is why Kourou puts satellites into geostationary orbit more cheaply than the Cape, and why the International Space Station, which has to be reachable from Baikonur, orbits at 51.6°: nothing under 45.92° can be flown from there at all.
The spherical triangle
Now the relation between the azimuth and the inclination. Put the pad at latitude with local unit vectors up, east and north, and suppose the vehicle's velocity is horizontal, on azimuth measured clockwise from north:
The orbit's angular momentum is along , and in a right-handed east–north–up frame and . So the orbit normal is . The inclination is the angle between that normal and the Earth's axis, and of the two local directions only north has a component along the axis, :
The same result falls out of spherical trigonometry. The equator, the pad's meridian and the orbit's great circle make a triangle on the sphere with a right angle where the meridian meets the equator; its angle at the ascending node is , its angle at the pad is , and the side opposite the node is the latitude. Napier's rules for a right spherical triangle give exactly the line above, and two more that locate the pad on the orbit: its angular distance from the node (the argument of latitude) has .
Read it both ways. Forwards, a due-east launch () gives , and any other azimuth gives more. Backwards, the azimuth for a wanted inclination is
which has no solution when — an inclination below the latitude — and two when it has one: and . They reach the same inclination but not the same plane. The first sets off north-east, with the pad on the northbound half of the orbit; the second south-east, on the southbound half. From Cape Canaveral to the Space Station's 51.64° the two are 44.96° and 135.04°: one up the American coast, one down it, and which of them is the right one depends on which half of the station's orbit is passing over at launch time.
Figure · azimuth and inclination
- INCLINATION i
- 28.56 °
- DIRECTION
- prograde · due east
- PAD'S EASTWARD SPEED
- 409 m/s
- THE EARTH'S SPIN
- saves 409 m/s
- HEADING TO FLY OVER THE GROUND
- 90.00 °
Move the azimuth through due east and the inclination bottoms out at the latitude, then climbs again on the other side: two headings for every inclination, one on each half of the orbit. Due north or due south gives a polar orbit from anywhere. Past due south the orbit turns retrograde, and the highest latitude it reaches falls again — a retrograde orbit of 97.8° only reaches 82.2°. Switch to Baikonur and the curve lifts off the floor: nothing under 45.92° is on offer at any azimuth.
What the spin is worth
The Earth turns once a sidereal day, 23 h 56 min 4 s, at rad/s. A point on the surface at geodetic latitude goes round a circle of radius , where is the ellipsoid's prime-vertical radius of curvature ( for the WGS84 ellipsoid), so its speed is
— 465.1 m/s on the equator, 408.8 m/s at the Cape and 324.1 m/s at Baikonur, always due east. The vehicle does not have to build that speed; it only has to build the difference between it and the orbit's. For a circular orbit of speed on inertial azimuth , the speed to be added relative to the ground comes from the law of cosines:
For the playground's 200 km parking orbit, km/s, and at the Cape:
- Due east the pad's speed simply subtracts: 409 m/s saved, 463 m/s at Kourou.
- Due north or south, into a polar orbit, the eastward speed has to be cancelled rather than used. It is at right angles, so the cost is small — , 11 m/s — but it is a cost.
- Due west, retrograde, it adds: 409 m/s more than on a still Earth and 818 m/s more than due east.
- A sun-synchronous orbit from Vandenberg, inclined 97.8° at 600 km, is launched a little west of south and pays 72 m/s for it.
That is a saving of six per cent of the orbital speed at best. It shapes the map: launch sites sit as close to the equator as their owners' territory allows, and on east coasts, so that the east-going rockets that benefit most fly out over the sea.
The azimuth in space and the azimuth you fly
The relation is about the direction of the velocity in space — the inertial velocity, whose cross product with the position is the angular momentum. But the vehicle is steered relative to the ground. It leaves the pad already moving east at , and whatever it builds over the ground is added to that. The heading it flies over the ground is therefore not .
Write the velocity triangle in the pad's horizontal plane: the orbital velocity is the ground-relative velocity plus the pad's, . Take the east and north components and the ground heading follows:
The pad's motion is eastward, so removing it swings the heading away from east: north of on a northbound launch, south of it on a southbound one. The two agree only for a launch due east, where the pad's velocity already lies along the orbit's. From the Cape to the Space Station the correction is 2.21° — 44.96° in space, 42.75° over the ground.
The playground learnt this the hard way. Its launch-window planner solved correctly, and then reported as the launch azimuth, which the mission stores and the vehicle flies as a compass heading. At the Cape, Baikonur and Vandenberg nothing showed: for most lunar and Martian windows the inclination they need is their own latitude, the launch is due east, and the two azimuths coincide. At Kourou they do not. The Moon window of 8 November 2026 wants an inclination of 27.42° — the Moon that week is 27° south of the equator, far beyond Kourou's 5.24° — so the planner said 63.05°. Flown over the ground, that heading picks up the pad's 463 m/s on top and ends up 64.59° in space, an orbit of 25.91°: a plane 1.55° away from the one the transfer was solved in. On arrival the Moon was 405,385 km from the Earth and 10,715 km out of the plane the vehicle was flying in, which the reference programs then had to buy back in mid-course corrections. The fix, in the commit "A launch window now reports the azimuth a pilot flies", is the triangle above: the planner now subtracts the pad's velocity and reports 61.42°.
Figure · the azimuth you fly
- AZIMUTH IN SPACE β
- 63.05 °
- HEADING OVER THE GROUND
- 61.42 °
- CORRECTION
- 1.63 °
- SPEED TO BUILD OVER THE GROUND
- 7.374 km/s
- FLYING β AS THE HEADING GIVES i
- 25.91 °
- PLANE ERROR · WORST MISS AT 384,400 KM
- 1.55° · 10,367 km
The correction is zero due east, grows towards a polar launch — 3.41° at Kourou, 3.01° at the Cape — and shrinks again beyond it. It is largest near the equator, where the pad is fastest. Try the southbound pass as well: the correction is the same size and turns the other way.
Two caveats keep this honest. The triangle assumes the whole orbital speed is built along one ground heading, and a real ascent builds it along a heading that drifts; the right answer is guidance that steers the plane closed, which is where the "Try it" section below ends up. And the latitude in is strictly the geocentric one, the angle of the pad's position vector above the equatorial plane, which is 0.16° less than the geodetic latitude on the map at the Cape. A due-east flight from the Cape reaches 28.40°.
Changing the plane afterwards
If the plane is wrong once the vehicle is in orbit, the only fix is to turn the velocity. Turning a velocity of size through without changing its size is the third side of an isosceles triangle:
and it has to be done where the orbit crosses the target plane — at a node — or it moves the node as well as the inclination. It is proportional to the speed, which makes it the exact opposite of the Oberth effect of transfers and the Oberth effect: a plane change is cheapest where the vehicle is slowest.
- In low orbit, at 7.784 km/s, one degree costs 135.9 m/s. Taking a Cape orbit to the equator would cost 3,840 m/s; from Kourou, 712 m/s.
- At geostationary radius, 3.075 km/s, one degree costs 53.7 m/s. In lunar orbit at 100 km, 28.5 m/s.
- Combined with a burn that is being made anyway, it costs much less. The apogee burn that circularises a geostationary transfer orbit turns a 1.597 km/s velocity into a 3.075 km/s one; folding the plane change into it makes it . From the equator that is 1,477 m/s; from Kourou 1,491; from the Cape 1,838; from Baikonur 2,274. The latitude of the launch site is 347 m/s of the difference between Kourou and the Cape, on the most valuable orbit there is.
Doglegs
A plane change made during the ascent is called a dogleg. The vehicle is still slow and still thrusting, so a turn folded into the climb can be cheap. Hold the thrust at an angle to the velocity, in the horizontal plane: the speed grows at and the heading turns at , so and over a burn from to
An upper stage going from 3 to 7.8 km/s turns its plane 1° for 0.8 m/s and 5° for 20 m/s, against 136 and 679 m/s for the same turns made in orbit. The cost grows as the square of the yaw, so small turns are nearly free: this is how real ascents trim their plane, and how the playground's reference programs do.
Large turns are another matter. A 30° turn costs 673 m/s in the same idealisation, and a dogleg meant to reach an inclination below the site's latitude needs one: the plane has to contain the vehicle's position when the engine stops, so the vehicle has to be carried south, across latitude, before it turns east — and it covers only a couple of thousand kilometres on the way up. Sites hemmed in by land pay for doglegs routinely — Sriharikota has to steer round Sri Lanka on its way to polar orbits — and the playground's presets for Wenchang, Tanegashima and Sriharikota all launch a little south of east, out over the sea.
Launching into a given plane
A plane is fixed in space. The Earth turns under it, and the pad rides round its circle of latitude once a sidereal day. Put the plane's ascending node at right ascension and the pad at sidereal angle , and the sine of the pad's angle out of the plane is the dot product of the pad's position and the plane's normal:
The pad is in the plane when that is zero, at :
- Twice a day when : once where the plane's northbound half passes over the pad, calling for a north-easterly launch, and once for the southbound half and a south-easterly one. From the Cape to the Space Station's plane, the two crossings are 8.57 and 15.36 hours apart.
- Once, grazing, when : the pad touches the plane at its most northerly point and the launch is due east.
- Never when .
How long the opportunity lasts depends on how much plane error the vehicle can absorb, since the pad moves out of the plane at a rate per radian of rotation. At the ±2° the playground quotes its windows at, the Cape's two daily windows into the station's plane last 25.7 minutes each. Real launches to the station have instantaneous windows: they need no plane error at all, and they must also arrive at the right point in the station's orbit.
The grazing case is different in kind. The pad's circle is tangent to the plane, so it lingers near it, and ±2° lasts 94 minutes either side of the tangent point: one window of 3 hours 8 minutes a day instead of two short ones.
Figure · the pad under a plane
- PAD OUT OF PLANE NOW
- -0.03 °
- CROSSINGS PER DAY
- 2 · NE + SE
- NEXT CROSSING
- 8 h 34 min · β 135.0°
- WINDOW AT ±2°
- 25.7 + 25.7 min
Set the Cape against a plane of 28.6° and watch the two crossings run into each other; drop below 28.56° and the pad never reaches the plane, though it comes within 2° for a while longer. Move to Kourou at 51.6° and the crossings are 11.4 and 12.5 hours apart, nearly opposite, because a pad near the equator sees the plane's two halves almost symmetrically.
The plane of a transfer
A transfer to the Moon or to Mars does not ask for one plane. It asks for a plane that contains one direction: the Moon's position on arrival, or the departure asymptote for Mars. Any plane through that direction and the centre of the Earth will do, and they form a family, one for each inclination from the direction's own declination upwards. The lowest the pad can join is
The Moon's declination swings north and south once a month, to ±27.7° in November 2026; over an 18.6-year cycle the swing grows to 28.7° (in 2024 and 2025) and shrinks to 18.6° (in 2034). From the Cape, at 28.56°, the Moon is within reach of a due-east launch into the pad's own minimum plane every day from 2026 on, and there is one long window a day. From Kourou the plane has to be tilted up to the Moon's declination, which is why its lunar window needs 27.42° and a heading of 61.4°. The Martian opportunity of late 2026 departs on an asymptote 28.90° north, just above the Cape's latitude, so even the Cape has to fly 28.90° for it, on a heading a few degrees either side of due east.
In Vivapse
The presets are LAUNCH_SITES in src/sim/sites.ts: the real pads, with
their geodetic latitude, longitude and elevation, and each site's usual azimuth.
That azimuth is a ground heading, and it is interesting to run it through the
triangle: Baikonur's 63° reaches 51.3°, Wenchang's 100° reaches 21.7°, and
Vandenberg's due-south 180° reaches 87.7° — slightly prograde, because the pad's
eastward motion leans the orbit. A true polar orbit from Vandenberg is flown on
182.8°.
The window planner, src/sim/windows.ts, does this lesson's geometry in order.
planeFor finds the two planes of a given inclination that contain the
transfer's direction, from where
is the direction's right ascension. crossingOf finds when the pad
passes through the chosen plane, solving the ±2° band directly rather than
hunting for a sign change, because in the grazing case there is none — the
planner used to report no window at all on floating-point noise there. The
launch azimuth is then derived as above, from the inclination through
to the ground heading, with the pad's speed
and the parking orbit's circular speed.
A program reads the result as fc.plan: inclination and azimuth in
degrees (the azimuth is the ground heading), and window with open, best
and close in seconds from T+0. The heading the mission launches on is
fc.mission.azimuth, and the orbit it actually reaches is
fc.orbit.inclination, with fc.orbit.raan measured from the direction of
Greenwich at T+0. The flight computer reference lists them,
and missions and destinations describes the planner in full.
The planner's documented simplifications: the pad's speed is compared with a circular parking orbit's, and the parking orbit's plane is assumed not to drift under during the coast to injection (it turns about half a degree in 90 minutes at 28.6°, well inside the ±2° band).
Two of this lesson's traps were live in the planner until its third physics audit, found while this lesson was being written. It used the pad's geodetic latitude where the geometry wants the geocentric one, so its lowest inclination from the Cape read 28.56° where the flight reaches 28.40°. And it always took the north-easterly solution of : when the pad's crossing of the plane was the southbound one, the reported heading reached the right inclination in the wrong plane. From Kourou that put the parking orbit about 41° from the Moon's direction, and every lunar landing from there failed. The planner now takes the root from the direction of motion at the crossing, works in geocentric latitude, and puts the pad within 0.03° of the plane it reports; the Kourou landings go 5 for 5.
Try it
Open the playground with the default vehicle and the full-mission program. In the Mission panel, set the launch site to the Guiana Space Centre and leave the azimuth at 90°. Launch: the orbit event reports an inclination of 5.2°, the geocentric latitude of Kourou. Do the same from Cape Canaveral and it reads 28.4°. The panel's own readout beside the azimuth makes the same prediction before launch: it turns the heading you type into the azimuth in space and applies with the pad's geocentric latitude.
Now set the azimuth at Kourou to 61.4° — the lunar window's heading — and add a line that reports the plane as it forms. At the top of the program:
let nextPlaneLog = 0;
and as the first lines inside update(fc):
if (fc.t >= nextPlaneLog) {
nextPlaneLog += 20;
fc.log("inclination", fc.orbit.inclination.toFixed(2), "° heading", fc.heading.toFixed(1), "°");
}
On the pad the inclination reads 5.20°: the pad's own velocity is due east, so the "orbit" it describes is the flattest one the site has. Through the first stage it climbs — 9.6° at one minute, 18.9° at 100 s, 23.9° at staging — and then it stops. The orbit arrives at 24.0°, not 27.4°.
The heading was right and the plane is still wrong, because the full-mission
program flies the first stage along an Earth-fixed great circle and the upper
stage along its own velocity in space (fc.setPlane('orbit'), yaw 0). At
staging the vehicle is moving at 2.7 km/s, and the pad's 460 m/s is a sixth of
that rather than the seventeenth it is of the finished orbit; the upper stage
then builds the rest of the speed in the plane it inherited. A heading only
starts the job. Closing the plane is guidance's work, and a few lines do it.
In the upper stage's phase, find
fc.steer(m.pitch, 0);
change the 0 to planeYaw(fc), and add at the end of the program:
const TARGET_INCLINATION = 27.42; // degrees
function planeYaw(fc) {
if (fc.altitude < 90e3) return 0;
const err = TARGET_INCLINATION - fc.orbit.inclination;
const north = fc.state.v.z >= 0 ? 1 : -1; // heading north or south?
return Math.max(-10, Math.min(10, -6 * err * north));
}
Positive yaw thrusts to the right of the velocity, which tips the orbit's
angular momentum towards the pole and lowers the inclination while the vehicle
is heading north; hence the sign. Fly it again: the orbit comes out at 27.41°,
in a 150 × 199 km orbit instead of 193 × 200 km — the doglegs section's price,
paid in periapsis. The lunar reference programs trim their plane in exactly
this way, against fc.plan.inclination.
What carries forward
A launch now puts the vehicle in the right plane at the right time, and a burn in that plane sends it towards the Moon or out of the Earth's reach. What happens next is the subject of spheres of influence and patched conics: where the Earth stops being the body that matters, how a trajectory is stitched from one conic to the next, and what arriving at another world costs. The windows themselves — which day, not just which hour — come from Lambert's problem.