Prev
Unit 3 · Lesson 3-2
The Classical Orbital Elements
38m70 XP
Next

The Classical Orbital Elements

a, e, i, Ω, ω, ν: conversion between state vectors and elements

A catalogue of thirty thousand objects
The US Space Force tracks somewhere north of thirty thousand objects in Earth orbit, and publishes each one as a two-line block of text about 140 characters long. Not a position. Not a trajectory file. Six numbers and a timestamp. That compression is not a convenience — it is a statement about the physics. Anything a satellite will ever do is already encoded in six numbers, because the equation of motion is a second-order ODE in three dimensions, and such a system has exactly six constants of integration. Six in, six out. No more information exists. The obvious six are position and velocity. But that packaging is nearly useless for describing an orbit, because every one of the six changes every second. Read out a state vector and you know where the satellite is right now and essentially nothing else. So we repackage. Same six degrees of freedom, chosen so that five of them never change at all and exactly one carries the passage of time. Those five are the orbit; the sixth is the clock.
Watch first · presented by Shoaib Aziz
The worked example in this film is the lesson's own: r = [−6045, −3490, 2500] km with v = [−3.457, 6.618, 2.533] km/s gives i = 153.2°, a = 8,788 km and e = 0.171, and the node that arccos reports as 104.7° is really 255.3°. The ISS figures come from the third lab's two-line element set: 51.64°, e = 0.0007481 and 15.5 revolutions a day, so a = 6,795 km.
Build them one at a time. Each element is a physical act — a thing you do to a shape until it is nailed to the sky in the right place.
Figure 3.4
a, esize and shapeitilt the planeΩswivel about the poleωspin within the planeνplace the satellitefive constants build the orbit · the sixth places the satellite on it
The five-step construction. Draw an ellipse of the right size (a) and shape (e). Tilt it off the equator (i). Swivel that tilted plane around the pole (Ω). Spin the ellipse within its own plane (ω). Then, and only then, place the satellite on the curve (ν).
ElementSymbolRangeWhat it doesChanges with time?
Semi-major axisakmSize — sets energy and periodNo
Eccentricitye0 to <1 (bound)Shape — circle through cigarNo
Inclinationi0° to 180°Tilt of the plane off the equatorNo
Right ascension of the ascending nodeΩ0° to 360°Swivel of the plane about the poleNo
Argument of perigeeω0° to 360°Rotation of the ellipse within its planeNo
True anomalyν0° to 360°Where the satellite is on the curveYes — this is the clock
💡Where each element actually comes from
These are not arbitrary conventions. Every one is read off a conserved vector you have already derived. aa and ee come from ε\varepsilon and hh, exactly as Unit 2 proved: a=−μ/2εa = -\mu/2\varepsilon and e=∣e⃗∣e = |\vec{e}|. ii and Ω\Omega come from h⃗\vec{h}. The orbital plane is perpendicular to h⃗\vec{h}, so the direction of h⃗\vec{h} is the plane. Two angles are needed to specify a direction in 3D, and those two angles are the tilt and the swivel. ω\omega comes from e⃗\vec{e}. The eccentricity vector points at perigee, and ω\omega is simply where that arrow sits inside the plane, measured from the ascending node. ν\nu is the only one that is not a constant of the motion at all. It is the answer to "where is it now", and every other element exists so that this one question has a clean answer.
Two definitions worth stating precisely, because they are where students lose marks.
The ascending node is the point where the satellite crosses the equatorial plane heading north. The node vector points at it, and is manufactured from h⃗\vec{h} alone:
n⃗=z^×h⃗\vec{n} = \hat{z} \times \vec{h}

Perpendicular to both the pole and the orbit normal, so it necessarily lies along the intersection of the equatorial and orbital planes — pointing at the ascending node.

Inclination is the angle between the orbital plane and the equator, equivalently between h⃗\vec{h} and the north pole:
i<90°i < 90° is prograde — the satellite goes the same way Earth turns, and launch gets a free boost from Earth's rotation. i=90°i = 90° is polar — passes over both poles, sees the whole planet. i>90°i > 90° is retrograde — travels against Earth's spin, which costs extra propellant at launch but is exactly what a sun-synchronous orbit needs.
💡Why launch sites are near the equator, and why they point east
Earth's surface at the equator is already moving east at 465 m/s. Launch eastward and that is free velocity — you start the climb to 7.8 km/s with 6% of it already spent by the planet. But there is a geometric constraint that costs far more than the boost is worth: you cannot launch directly into an inclination lower than your launch site's latitude. The orbital plane must pass through the launch point, and a plane through a point at latitude 28.5° cannot be tilted less than 28.5° from the equator. This is why Cape Canaveral (28.5° N) puts satellites into 28.5° orbits and then pays a substantial plane change to reach the equatorial GEO belt, while Kourou (5.2° N) is one of the most commercially valuable pieces of real estate in the launch business. It is why the Baikonur launches from 45.6° N have never been able to compete for GEO on fuel. And it is why the plane-change cost in Unit 6 is not an academic exercise — it is a line item on every commercial launch contract.
Going from a state vector to elements is the single most-used algorithm in the field. Every tracking radar, every GPS receiver, every conjunction screening runs it. Here it is in full — eight lines, no iteration, no approximation.
h⃗=r⃗×v⃗,n⃗=z^×h⃗,e⃗=1μ[(v2−μr)r⃗−(r⃗⋅v⃗)v⃗]a=(2r−v2μ)−1,i=arccos⁡ ⁣(hzh)Ω=arccos⁡ ⁣(nxn)  [ 360°−Ω if ny<0 ]ω=arccos⁡ ⁣(n⃗⋅e⃗ne)  [ 360°−ω if ez<0 ]ν=arccos⁡ ⁣(e⃗⋅r⃗er)  [ 360°−ν if r⃗⋅v⃗<0 ]\begin{aligned}\vec{h} &= \vec{r}\times\vec{v}, \quad \vec{n} = \hat{z}\times\vec{h}, \quad \vec{e} = \tfrac{1}{\mu}\left[(v^2-\tfrac{\mu}{r})\vec{r} - (\vec{r}\cdot\vec{v})\vec{v}\right]\\[4pt] a &= \left(\tfrac{2}{r} - \tfrac{v^2}{\mu}\right)^{-1}, \qquad i = \arccos\!\left(\tfrac{h_z}{h}\right)\\[4pt] \Omega &= \arccos\!\left(\tfrac{n_x}{n}\right)\ \ [\,360°-\Omega \text{ if } n_{y}<0\,]\\[4pt] \omega &= \arccos\!\left(\tfrac{\vec{n}\cdot\vec{e}}{ne}\right)\ \ [\,360°-\omega \text{ if } e_{z}<0\,]\\[4pt] \nu &= \arccos\!\left(\tfrac{\vec{e}\cdot\vec{r}}{er}\right)\ \ [\,360°-\nu \text{ if } \vec{r}\cdot\vec{v}<0\,]\end{aligned}

RV → COE, complete. The bracketed conditions are quadrant checks: arccos only returns 0–180°, so each angle needs one extra test to recover the full circle.

⚠Quadrant checks
arccos cannot tell 60° from 300°. Both have the same cosine, and it will hand you 60° every time. So each of the three angles needs a second piece of information to disambiguate: Ω\Omega: if ny<0n_y < 0, the node is in the western half, so Ω=360°−Ω\Omega = 360° - \Omega. ω\omega: if ez<0e_z < 0, perigee is below the equator, so ω=360°−ω\omega = 360° - \omega. ν\nu: if r⃗⋅v⃗<0\vec{r}\cdot\vec{v} < 0 the satellite is falling toward perigee rather than climbing away, so ν=360°−ν\nu = 360° - \nu. Miss one of these and your orbit is a perfect mirror image of the truth — which will look completely plausible until you try to point an antenna at it. Then also remember np.clip(x, -1, 1) before every arccos, because floating point will eventually hand you 1.0000000000000002 and arccos will return nan.
📐Worked Example: a full RV → COE conversion
Given r⃗=[−6045, −3490, 2500]\vec{r} = [-6045,\ -3490,\ 2500] km and v⃗=[−3.457, 6.618, 2.533]\vec{v} = [-3.457,\ 6.618,\ 2.533] km/s. Magnitudes. r=7414.0r = 7414.0 km, v=8.290v = 8.290 km/s. Angular momentum. h⃗=r⃗×v⃗=[−25,380, 6670, −52,070]\vec{h} = \vec{r}\times\vec{v} = [-25{,}380,\ 6670,\ -52{,}070] km²/s, so h=58,310h = 58{,}310 km²/s. Inclination. i=arccos⁡(−52070/58310)=arccos⁡(−0.8930)=153.2°i = \arccos(-52070/58310) = \arccos(-0.8930) = \mathbf{153.2°} — strongly retrograde. Node vector. n⃗=z^×h⃗=[−6670, −25,380, 0]\vec{n} = \hat{z}\times\vec{h} = [-6670,\ -25{,}380,\ 0], n=26,250n = 26{,}250. Ω=arccos⁡(−6670/26250)=arccos⁡(−0.2541)=104.7°\Omega = \arccos(-6670/26250) = \arccos(-0.2541) = 104.7°. But ny<0n_y < 0, so Ω=360−104.7=255.3°\Omega = 360 - 104.7 = \mathbf{255.3°}. Energy and size. ε=8.2902/2−398600/7414=34.36−53.76=−19.40\varepsilon = 8.290^2/2 - 398600/7414 = 34.36 - 53.76 = -19.40 km²/s², so a=−398600/(2×−19.40)=8788a = -398600/(2 \times -19.40) = \mathbf{8788} km. Eccentricity. Working through the vector formula gives e⃗=[−0.0912, −0.1421, 0.0261]\vec{e} = [-0.0912,\ -0.1421,\ 0.0261], so e=0.1712e = \mathbf{0.1712}. Argument of perigee. ω=arccos⁡(n⃗⋅e⃗/ne)=20.07°\omega = \arccos(\vec{n}\cdot\vec{e}/ne) = 20.07°, and ez=+0.0261>0e_z = +0.0261 > 0, so it stays: ω=20.07°\omega = \mathbf{20.07°}. True anomaly. ν=arccos⁡(e⃗⋅r⃗/er)=28.45°\nu = \arccos(\vec{e}\cdot\vec{r}/er) = 28.45°, and r⃗⋅v⃗=+2.86×103>0\vec{r}\cdot\vec{v} = +2.86 \times 10^3 > 0, so the satellite is climbing away from perigee: ν=28.45°\nu = \mathbf{28.45°}. The orbit: a=8788a = 8788 km, e=0.171e = 0.171, i=153.2°i = 153.2°, Ω=255.3°\Omega = 255.3°, ω=20.1°\omega = 20.1°, ν=28.5°\nu = 28.5°. Six numbers, from six numbers, with the difference that five of these will still be true next week.
Going the other way — elements to state vector — is easier, and it is exactly the perifocal frame from the last lesson plus a rotation. Write the position in PQW where the orbit is flat, then apply three rotations to swing it into ECI:
r⃗ECI=R3(−Ω) R1(−i) R3(−ω)  r⃗PQW\vec{r}_{ECI} = R_{3}(-\Omega)\,R_{1}(-i)\,R_{3}(-\omega)\;\vec{r}_{PQW}

Read right to left: rotate perigee to the node, tilt the plane up by i, then swivel the node round to its right ascension. The COE build-up of Figure 3.4, written as matrices.

Finally: the classical elements have a defect, and it is not a small one. Two of them are undefined in cases that are not exotic at all — they are the most common orbits in service.
Figure 3.5
e = 0 — circularω undefinedno perigee exists, so there is nothing to measure ω fromargument of latitude u = ω + νi = 0 — equatorialΩ undefinedthe orbit never crosses the equator, so there is no nodelongitude of perigee ϖ = Ω + ω
Where the element set collapses. A circular orbit has no perigee, so ω has nothing to be measured from. An equatorial orbit has no ascending node, so Ω has nothing to be measured from. A circular equatorial orbit loses both, and two of the six numbers become meaningless.
CaseWhat breaksWhyStandard fix
e = 0 (circular)ω undefinedNo perigee exists, so there is no direction to measure fromArgument of latitude u = ω + ν
i = 0 (equatorial)Ω undefinedThe orbit never crosses the equator, so there is no nodeTrue longitude of perigee ϖ = Ω + ω
e = 0 and i = 0Both undefinedNeither reference point existsTrue longitude l = Ω + ω + ν
Near-singularNumerically unstablen and e are tiny, so dividing by them amplifies noiseEquinoctial elements
🛰Why GEO operators do not use classical elements
A geostationary satellite is the double singularity: e≈0.0002e \approx 0.0002 and i≈0.02°i \approx 0.02°. Both Ω\Omega and ω\omega are numerically garbage — they swing through hundreds of degrees from one orbit determination to the next while the satellite sits placidly in its slot, not moving at all. So GEO operations use equinoctial elements, which are built specifically to have no singularities: h=esin⁡(ω+Ω),k=ecos⁡(ω+Ω),p=tan⁡(i/2)sin⁡Ω,q=tan⁡(i/2)cos⁡Ωh = e\sin(\omega+\Omega), \quad k = e\cos(\omega+\Omega), \quad p = \tan(i/2)\sin\Omega, \quad q = \tan(i/2)\cos\Omega As e→0e \to 0, hh and kk smoothly go to zero instead of one of them exploding. As i→0i \to 0, so do pp and qq. The information is identical — it is just packaged so that the degenerate cases are ordinary points rather than division by zero. This is a recurring pattern in the field, and worth internalising: when a coordinate system misbehaves, the physics is usually fine and the coordinates are the problem.
↓But there is a problem
Six numbers, and a satellite is pinned down for all time. Five of them constant, one advancing. We now have everything we need to say exactly where a satellite is, in a frame we have defined precisely, with an element set we can compute from any observation. So let the Earth turn underneath it. The orbit does not move — that is the whole point of an inertial frame. But the ground does, at 465 m/s at the equator, and a satellite passing overhead on one revolution will find a completely different piece of the planet beneath it ninety minutes later. The curve that traces out is not a circle, not an ellipse, and not any conic section at all. It is a sine wave that never quite closes. And the gap where it fails to close is the entire story.