Rotating the Apse Line

Author

Devendra Ghate

Published

November 5, 2026

1 Rotating the apse line

The line through the periapsis and the apoapsis of an orbit is called the line of apsides, or simply the apse line. Suppose we want to turn the apse line by an angle \(\eta\) and keep the size and the shape of the orbit unchanged. The new orbit then has the same \(a\), the same \(e\) and therefore the same \(p\). Only its argument of periapsis changes, from \(\omega\) to \(\omega+\eta\).

Why would a mission want this? A satellite on an eccentric orbit moves slowly near apoapsis and spends most of each revolution there. The direction of the apse line therefore decides which region of space the satellite spends its time over.

We will study two ways of turning the apse line. The first uses one impulse and the second uses two. At the end we compare their costs and see when each one is the better choice.

1.1 A purely radial impulse

Figure 1: The initial orbit (blue) and the final orbit (green). Both have the same \(p\) and \(e\), and the final orbit is turned by \(\eta\). The dotted lines are the two apse lines. Script: fig-man-apse-sketches.py.

Figure 1 shows the initial orbit in blue and the desired final orbit in green. The angle between their apse lines is \(\eta\).

An impulse changes the velocity of the spacecraft but not its position. So one impulse can move the spacecraft from the initial orbit to the final orbit only at a point that lies on both of them. This gives us two questions to answer. Where do the two orbits cross? What impulse is needed at a crossing? We will show that the orbits always cross at exactly two points, and that the impulse at either point is directed along the radius.

1.1.1 Where the two orbits cross

Consider a point at true anomaly \(f\) on the initial orbit. True anomaly is measured from periapsis, and the periapsis of the final orbit is \(\eta\) further along. So the same point has true anomaly \(f'=f-\eta\) on the final orbit. The orbits cross where the two radii are equal, which requires

\[ \frac{p}{1+e\cos f}=\frac{p}{1+e\cos(f-\eta)} \quad\Longrightarrow\quad \cos f=\cos(f-\eta). \]

In the last step we cancelled \(e\), which is not zero because a circle has no apse line.

Two angles have the same cosine only when they are equal or opposite, up to a whole number of turns. This gives two cases, where \(k\) is an integer. The first case is

\[ f=(f-\eta)+2\pi k\quad\Rightarrow\quad\eta=2\pi k . \]

This says that the orbit has not been turned at all, so we discard it. The second case is

\[ f=-(f-\eta)+2\pi k\quad\Rightarrow\quad f=\frac\eta2+k\pi . \]

Within one revolution, \(k=0\) and \(k=1\) give two different points. The orbits therefore cross at exactly two points. Their true anomalies on the two orbits are as follows.

\[ \begin{aligned} \text{first crossing}\qquad & f=\frac\eta2, & f'&=-\frac\eta2,\\ \text{second crossing}\qquad & f=\pi+\frac\eta2, & f'&=\pi-\frac\eta2 . \end{aligned} \]

At the first crossing \(f'=-f\). The same is true at the second crossing up to a whole turn, because \(\pi-\eta/2=-(\pi+\eta/2)+2\pi\). So \(f'=-f\) at both crossings, and this is the only fact we need for the next step.

1.1.2 The impulse at a crossing

The velocity components at true anomaly \(f\) are \(v_r=\sqrt{\mu/p}\,e\sin f\) and \(v_\theta=\sqrt{\mu/p}\,(1+e\cos f)\). At a crossing \(f'=-f\). Use the parity of cosine and sine to compare \((v_r,v_\theta)\) on the two orbits. What is the impulse?

What you should find Cosine is even and sine is odd, so \(v_\theta'=v_\theta\) and \(v_r'=-v_r\). The transverse components agree and the radial components are opposite. The impulse is therefore purely radial.

The transverse components are equal and the radial components are opposite, so the impulse is

\[ \Delta\mathbf v=(v_r'-v_r)\,\hat{\mathbf r}+(v_\theta'-v_\theta)\,\hat{\boldsymbol\theta}=-2v_r\,\hat{\mathbf r}. \]

It points along the radius, so we call it a radial impulse. It points inward where \(v_r>0\) and outward where \(v_r<0\). Its magnitude is

\[ \Delta v=2|v_r|=2\sqrt{\frac\mu p}\,e\,|\sin f| , \]

and \(|\sin f|=\sin(\eta/2)\) at both crossings. We can also write the cost with the flight path angle \(\gamma\). This is the angle between \(\mathbf v\) and the local horizontal, which is the line through the spacecraft perpendicular to the radius. Since \(v_r=v\sin\gamma\), we have \(2|v_r|=2v|\sin\gamma|\). The cost is therefore

\[ \boxed{\;\Delta v=2\sqrt{\frac{\mu}{p}}\,e\sin\frac\eta2=2v|\sin\gamma| .\;} \tag{1}\]

1.1.3 What the impulse does to the velocity

Figure 2: The velocity just before the impulse (\(\mathbf v\)) and just after it (\(\mathbf v'\)), at a crossing where \(v_r>0\). The angle \(\gamma\) is exaggerated. The impulse reverses the radial component and leaves the transverse component alone. Script: fig-man-apse-sketches.py.

The second form of Equation 1 is worth seeing geometrically, and Figure 2 shows the two velocities. Their components are \((v_r,v_\theta)\) and \((-v_r,v_\theta)\). Both have the magnitude \(\sqrt{v_r^2+v_\theta^2}\), so the impulse leaves the speed unchanged. The flight path angle changes from \(\gamma\) to \(-\gamma\). In other words, the impulse reflects \(\mathbf v\) in the local horizontal line.

The velocity has turned through an angle \(2|\gamma|\) at constant speed. So \(\mathbf v\), \(\mathbf v'\) and \(\Delta\mathbf v\) form an isosceles triangle. Its two equal sides have length \(v\) and the angle between them is \(2|\gamma|\). Its third side is \(2v\sin(2|\gamma|/2)=2v|\sin\gamma|\), which is the second form of Equation 1. We will meet the same triangle again when we study plane changes.

We could have predicted this result without any calculation. Both orbits have the same \(a\), so vis-viva, \(v^2=\mu(2/r-1/a)\), gives them the same speed at the same radius. Both orbits also have the same \(p\), and therefore the same angular momentum \(h=\sqrt{\mu p}\). Since \(h=rv_\theta\), they have the same \(v_\theta\) at the same radius. If the speed and \(v_\theta\) are both the same, then \(v_r\) can differ only in sign.

Equation 1 contains no \(r\), although the two crossings are at different radii. Which crossing is cheaper?

Answer Neither. Both cost the same. The crossing farther from the focus has a smaller \(v\) and a larger \(|\gamma|\). Their product \(v|\sin\gamma|=|v_r|=\sqrt{\mu/p}\,e\sin(\eta/2)\) is the same at both crossings.

Example. For an orbit with \(a=12\,000\) km and \(e=0.4\), find the impulse required to rotate the apse line by \(30^\circ\). At what true anomaly of the original orbit should the impulse be applied? Take \(\mu=398\,600\) km\(^3\)/s\(^2\).

Solution. The impulse must be applied at a crossing. With \(\eta=30^\circ\), the crossings are at \(f=\eta/2=15^\circ\) and \(f=180^\circ+\eta/2=195^\circ\).

To use Equation 1 we need \(p\) and \(\sqrt{\mu/p}\). These are

\[ p=a(1-e^2)=12\,000\,(1-0.16)=10\,080\text{ km},\qquad \sqrt{\frac\mu p}=\sqrt{\frac{398\,600}{10\,080}}=6.288\text{ km/s}. \]

The cost is therefore

\[ \Delta v=2(6.288)(0.4)\sin15^\circ=1.302\text{ km/s}. \]

To check this, we compute the state of the spacecraft at each crossing before the impulse.

Quantity \(f=15^\circ\) \(f=195^\circ\)
\(r=p/(1+e\cos f)\) (km) \(7271\) \(16\,427\)
\(v_r=\sqrt{\mu/p}\,e\sin f\) (km/s) \(+0.651\) \(-0.651\)
\(v_\theta=\sqrt{\mu/p}\,(1+e\cos f)\) (km/s) \(8.718\) \(3.859\)
\(v=\sqrt{v_r^2+v_\theta^2}\) (km/s) \(8.742\) \(3.913\)
\(\gamma=\arctan(v_r/v_\theta)\) \(+4.27^\circ\) \(-9.58^\circ\)
Direction of the impulse inward outward

The speeds at the two crossings are very different, but \(2|v_r|=1.302\) km/s at both. So the required impulse is \(1.302\) km/s. It can be applied radially inward at \(f=15^\circ\) or radially outward at \(f=195^\circ\). Since the two crossings cost the same, a mission would choose between them on other grounds, such as which crossing comes first.

Figure 3: The impulse of this example at each of the two crossings. The left panel shows the inward impulse at \(f=15^\circ\) and the right panel shows the outward impulse at \(f=195^\circ\). The craft moves at its true speed, only slowed down, and the clock stops during a burn. Script: anim-man.py, with the engine _manim.py.

1.2 Two burns through a circular orbit

There is also a two-burn alternative, which uses a circular orbit as an intermediate step. A circle has no apse line, so the spacecraft can coast on it to any direction we like and leave it from there.

First we change the orbit into a circle. Then we coast round the circle through the angle \(\eta\). Finally we change the circle back into an ellipse of the original size and shape, with its apse line in the new direction. The figures below call this last step re-eccentricising. As we will show, the cost of this route does not depend on \(\eta\) at all. Only the time required for the coast changes.

1.2.1 Where to make the two burns

Where should the burns be made? The first burn has to change the velocity on the ellipse into the velocity on a circle through the same point. On a circle, the velocity is always perpendicular to the radius. On an ellipse, this is true at only two points, the periapsis and the apoapsis.

At these two points the velocity on the ellipse and the velocity on the circle are collinear. The burn then has to change only the magnitude of the velocity. At any other point it would have to change the direction as well. We therefore make the burns at an apsis.

This leaves us with two candidates. We will first work out the route through apoapsis and show that its cost does not depend on \(\eta\). We will then show that the route through periapsis costs more.

1.2.2 The route through apoapsis

Figure 4: The two-burn route through apoapsis. The solid lines show the path of the spacecraft and the stars show the two burns. Script: fig-man-apse-sketches.py.

Figure 4 shows the route. It has three steps.

  1. Burn 1. The spacecraft reaches the apoapsis of the initial orbit, at radius \(r_a\) and speed \(v_a\). A burn along the velocity raises the speed to the circular speed \(v_c=\sqrt{\mu/r_a}\). The spacecraft is now on a circle of radius \(r_a\).
  2. Coast. The spacecraft coasts round the circle through the angle \(\eta\), measured in the direction of motion. Its speed stays at \(v_c\), and the coast costs nothing.
  3. Burn 2. A burn against the velocity lowers the speed from \(v_c\) back to \(v_a\).

Why does the last burn put the spacecraft on the correct orbit? After it, the radius is \(r_a\), the speed is \(v_a\) and the velocity is perpendicular to the radius. This speed is below the circular speed, so the point is an apoapsis and not a periapsis. It is therefore the apoapsis of an orbit with the original \(a\) and \(e\). That apoapsis is \(\eta\) away from the original one, so this is the final orbit we wanted.

Both burns change the speed by the same amount, so the total cost is \(2(v_c-v_a)\). To write this in terms of the orbit, we substitute \(r_a=a(1+e)\) in the circular speed and in vis-viva.

\[ v_c=\sqrt{\frac{\mu}{r_a}}=\sqrt{\frac\mu a}\,\frac{1}{\sqrt{1+e}},\qquad v_a=\sqrt{\mu\left(\frac{2}{r_a}-\frac1a\right)}=\sqrt{\frac\mu a}\,\frac{\sqrt{1-e}}{\sqrt{1+e}} . \]

The total cost is therefore

\[ \boxed{\;\Delta v_{\rm two}=2(v_c-v_a)=2\sqrt{\frac\mu a}\,\frac{1-\sqrt{1-e}}{\sqrt{1+e}} .\;} \tag{2}\]

The angle \(\eta\) does not appear in Equation 2. The burns depend only on the two speeds at radius \(r_a\), and the coast between them is free. What does depend on \(\eta\) is the time spent on the circle. The spacecraft moves round the circle at the angular rate \(\sqrt{\mu/r_a^3}\), so the coast takes

\[ T_{\rm coast}=\eta\sqrt{\frac{r_a^3}{\mu}} . \]

Example. Take the orbit of the previous example, with \(a=12\,000\) km and \(e=0.4\). Find the total \(\Delta v\) of the route through apoapsis and the time spent on the circle for \(\eta=90^\circ\). Compare the cost with that of a single radial impulse for the same rotation.

Solution. The apoapsis radius is \(r_a=12\,000\,(1.4)=16\,800\) km. The two speeds at this radius are

\[ v_c=\sqrt{\frac{398\,600}{16\,800}}=4.871\text{ km/s},\qquad v_a=\sqrt{398\,600\left(\frac{2}{16\,800}-\frac{1}{12\,000}\right)}=3.773\text{ km/s}. \]

Each burn costs \(4.871-3.773=1.098\) km/s, so the route costs \(\Delta v_{\rm two}=2.196\) km/s. The time on the circle is

\[ T_{\rm coast}=\frac\pi2\sqrt{\frac{16\,800^3}{398\,600}}=5418\text{ s}=1.50\text{ h}. \]

A single radial impulse for the same rotation would cost, from Equation 1,

\[ \Delta v=2(6.288)(0.4)\sin45^\circ=3.557\text{ km/s}. \]

So for this large rotation, the two-burn route is cheaper by \(1.361\) km/s.

Figure 5: The route of this example, for \(\eta=90^\circ\). The craft moves at its true speed, only slowed down, and each burn is shown as a pause. Script: anim-man-apse-detour.py.

1.2.3 Apoapsis or periapsis?

The same route can be flown with both burns at periapsis. The first burn then slows the spacecraft down to the circular speed, and the second burn speeds it up again. The circle is smaller, so the coast is much shorter. So the natural question is, which end is cheaper?

At either apsis, the route costs twice the difference between the speed on the orbit and the circular speed at that radius. The factors \(\sqrt{1+e}\) and \(\sqrt{1-e}\) appear again and again in these speeds. To keep the algebra short, we write

\[ s=\sqrt{1+e},\qquad t=\sqrt{1-e},\qquad\text{so that}\quad s^2+t^2=2 . \]

Then \(r_p=a(1-e)=at^2\) and \(r_a=a(1+e)=as^2\). The circular speeds at the two radii are

\[ v_c(r_p)=\sqrt{\frac\mu a}\,\frac1t,\qquad v_c(r_a)=\sqrt{\frac\mu a}\,\frac1s . \]

For the speeds on the orbit, we use vis-viva together with \(2-t^2=s^2\) and \(2-s^2=t^2\).

\[ v_p^2=\frac\mu a\left(\frac{2a}{r_p}-1\right)=\frac\mu a\,\frac{2-t^2}{t^2}=\frac\mu a\,\frac{s^2}{t^2},\qquad v_a^2=\frac\mu a\left(\frac{2a}{r_a}-1\right)=\frac\mu a\,\frac{2-s^2}{s^2}=\frac\mu a\,\frac{t^2}{s^2}. \]

One burn at each end therefore costs

\[ \Delta v_p=v_p-v_c(r_p)=\sqrt{\frac\mu a}\,\frac{s-1}{t},\qquad \Delta v_a=v_c(r_a)-v_a=\sqrt{\frac\mu a}\,\frac{1-t}{s}. \]

We want to show that \(\Delta v_p>\Delta v_a\), which means

\[ \frac{s-1}{t}>\frac{1-t}{s}. \]

Multiplying both sides by \(st>0\) gives \(s^2-s>t-t^2\), and this rearranges to \(s^2+t^2>s+t\). Since \(s^2+t^2=2\), what we need to show is

\[ s+t<2 . \]

This is true for every \(0<e<1\), because

\[ (s+t)^2=s^2+t^2+2st=2+2\sqrt{1-e^2}<4 . \]

So the route through apoapsis is the cheaper one for every eccentric orbit. The two costs are equal only on a circle, where \(e=0\) and \(s=t=1\).

How much cheaper is it? The ratio of the two costs is

\[ \frac{\Delta v_p}{\Delta v_a}=\frac st\cdot\frac{s-1}{1-t} . \]

The two factors pull in opposite directions. The first factor, \(s/t\), is the ratio of the circular speeds at the two radii. It is greater than \(1\) because \(r_p<r_a\) and the circular speed \(\sqrt{\mu/r}\) is higher at a smaller radius. The second factor compares the speed mismatch at each end as a fraction of the local circular speed. It is less than \(1\) because \(s+t<2\) means \(s-1<1-t\). We have just shown that the product is greater than \(1\), so the first factor wins.

To see the size of this ratio, we can evaluate it for a few eccentricities. It is \(1.005\) for \(e=0.01\), \(1.24\) for \(e=0.4\) and \(6.44\) for \(e=0.99\). So the extra cost of periapsis is small for a nearly circular orbit and large for a very eccentric one.

The route through periapsis does have one advantage, which is time. The coast takes \(T_{\rm coast}=\eta\sqrt{r^3/\mu}\), which grows as \(r^{3/2}\). The coast at periapsis is therefore shorter by the factor

\[ \left(\frac{r_a}{r_p}\right)^{3/2}=\left(\frac{1+e}{1-e}\right)^{3/2} . \]

Example. For the same orbit and \(\eta=90^\circ\), find the total \(\Delta v\) of the route through periapsis and the time spent on the circle. Compare both with the route through apoapsis.

Solution. The periapsis radius is \(r_p=12\,000\,(0.6)=7200\) km. The two speeds at this radius are

\[ v_p=\sqrt{398\,600\left(\frac{2}{7200}-\frac{1}{12\,000}\right)}=8.804\text{ km/s},\qquad v_c=\sqrt{\frac{398\,600}{7200}}=7.441\text{ km/s}. \]

Each burn costs \(8.804-7.441=1.363\) km/s, so the route costs \(2.726\) km/s. The time on the circle is

\[ T_{\rm coast}=\frac\pi2\sqrt{\frac{7200^3}{398\,600}}=1520\text{ s}=0.42\text{ h}. \]

The route through apoapsis costs \(2.196\) km/s. So the route through periapsis costs \(1.24\) times as much, or about \(0.53\) km/s more. Its coast is shorter by the factor \((16\,800/7200)^{3/2}=3.56\).

Figure 6: The route of this example, with both burns at periapsis, on the same clock as Figure 5. The craft moves at its true speed, only slowed down, and each burn is shown as a pause. Script: anim-man-apse-detour.py.

1.2.4 Is the route through periapsis ever worth it?

We now have both sides of the trade-off. Periapsis costs more propellant and saves time. Both effects depend on \(e\), so the answer depends on the kind of orbit we are in.

Table 1 makes this concrete. It compares the two routes for \(\eta=90^\circ\) on three orbits. The first is a low Earth orbit, the second is the orbit of our examples, and the third is a geostationary transfer orbit. To turn \(\Delta v\) into something a mission would feel, the last two columns use the rocket equation with \(I_{sp}=320\) s. They give the fraction of the spacecraft’s mass that remains after both burns.

Table 1: The two routes for \(\eta=90^\circ\) on three orbits.
Orbit \(e\) \(\Delta v\), apoapsis route (km/s) \(\Delta v\), periapsis route (km/s) Coast at apoapsis (min) Coast at periapsis (min) Mass left, apoapsis route Mass left, periapsis route
\(r_p=6930\), \(r_a=7070\) km \(0.01\) \(0.0753\) \(0.0757\) \(24.65\) \(23.92\) \(97.6\%\) \(97.6\%\)
\(r_p=7200\), \(r_a=16\,800\) km \(0.40\) \(2.196\) \(2.726\) \(90.3\) \(25.3\) \(49.7\%\) \(41.9\%\)
\(r_p=6678\), \(r_a=42\,164\) km \(0.73\) \(2.934\) \(4.852\) \(359\) \(22.6\) \(39.3\%\) \(21.3\%\)

Nearly circular orbits. Most satellites in low Earth orbit belong here. The extra cost of periapsis is very small, so there seems to be a case for periapsis if we are in a hurry. But we should be careful. When \(e\) is small, \(r_a\) is nearly equal to \(r_p\), so the time saved is also very small. In the first row of Table 1 we pay only \(0.4\) m/s more, and we save only about \(44\) s.

The wait to reach the chosen apsis matters far more. The spacecraft may be up to half a period away from it, which is about \(49\) minutes on this orbit. So on a nearly circular orbit, the sensible choice is whichever apsis comes first.

Very eccentric orbits. A geostationary transfer orbit is an example. The time saved is now large, about \(5.6\) hours in the last row of Table 1. But the propellant penalty is very high. The route through periapsis costs \(1.92\) km/s more, and it leaves \(21.3\%\) of the mass instead of \(39.3\%\). So we would give up almost half of what would have remained, in order to save under six hours. That is rarely worth it.

The route through apoapsis is therefore the normal choice. When \(e\) is small, periapsis gains almost nothing. When \(e\) is large, it costs too much.

1.3 Which route should we choose?

The single impulse costs an amount proportional to \(\sin(\eta/2)\), which grows with \(\eta\). The two-burn route costs the same for every \(\eta\). We therefore look for a rotation angle \(\eta_c\) at which the two costs are equal. Below it the single impulse would be cheaper, and above it the two-burn route would be cheaper.

To find \(\eta_c\) we equate Equation 1 and Equation 2. In terms of \(s\) and \(t\), we have \(p=a(1-e^2)=as^2t^2\), so \(\sqrt{\mu/p}=\sqrt{\mu/a}/(st)\). Then

\[ 2\sqrt{\frac\mu a}\,\frac{e}{st}\,\sin\frac{\eta_c}{2}=2\sqrt{\frac\mu a}\,\frac{1-t}{s} \quad\Longrightarrow\quad \sin\frac{\eta_c}{2}=\frac{t(1-t)}{e} . \]

Since \(e=1-t^2=(1-t)(1+t)\), the factor \(1-t\) cancels and this simplifies to

\[ \sin\frac{\eta_c}{2}=\frac{t}{1+t}=\frac{\sqrt{1-e}}{1+\sqrt{1-e}} . \]

The factor \(\sqrt{\mu/a}\) has also cancelled, so \(\eta_c\) depends only on the eccentricity. Because \(t<1\), the right side is always less than \(1/2\). So \(\eta_c\) exists for every eccentric orbit and is always less than \(60^\circ\). It approaches \(60^\circ\) for a nearly circular orbit. This gives a useful rule. For any rotation above \(60^\circ\), the two-burn route is the cheaper one.

For the orbit with \(e=0.4\) used in the examples, find \(\eta_c\). Which route would you choose for a rotation of \(30^\circ\), and which for a rotation of \(180^\circ\)?

What you should find Here \(t=\sqrt{0.6}=0.7746\), so \(\sin(\eta_c/2)=0.7746/1.7746=0.4365\) and \(\eta_c=51.8^\circ\). The two-burn route costs \(2.196\) km/s. For \(30^\circ\), the single impulse costs \(1.302\) km/s, so we would rotate directly. For \(180^\circ\), the single impulse would cost \(5.03\) km/s, so we would go through the circle.
Figure 7: The cost of each route against the rotation angle \(\eta\), for \(a=12\,000\) km and \(e=0.4\). The curve is the single impulse of Equation 1. The horizontal line is the two-burn route of Equation 2. They cross at \(\eta_c=51.8^\circ\). Script: fig-man-apse-rotation.py.

Figure 7 shows the result. For a small rotation, we turn the apse line directly with one radial impulse. For a large rotation, it is cheaper to change the shape of the orbit twice, going through a circle on the way.

These manoeuvres are expensive. With \(I_{sp}=320\) s, even the \(30^\circ\) rotation of our first example, at \(1.302\) km/s, uses about a third of the spacecraft’s mass. So a mission would much rather launch with the apse line already pointing in the right direction.

The Earth can also do this job for free. Its oblateness slowly turns the apse line of an orbit, at a rate that depends on the inclination. At the critical inclination of \(63.4^\circ\) the rate is zero. This is why the Molniya satellites use that inclination, because their apogee then stays over the northern hemisphere without using propellant to hold it there.

2 Exercise

Apse rotation. For an orbit with \(e=0.2\), find the crossover angle above which going via the circle is cheaper than a single radial impulse. How does it change with \(e\)? (Answers: \(56.3^\circ\). It falls as \(e\) grows, from \(60^\circ\) as \(e\to0\) to \(51.8^\circ\) at \(e=0.4\) and \(36^\circ\) at \(e=0.8\).)

All the numbers in this note are checked by apse-line-rotation-verify.py.