Kepler's 3rd Law (regarding the relation between orbital period and the semi-major axis of an orbit) applies to all elliptical orbits. But as I understand it, the only reason it is safe to use the approximation that the semi-major axis of an orbit is approximately equal to the average orbital distance is because the planets of our solar system are generally not very eccentric.

Picture to help explain words

As an example, the Earth is about 1 AU away from the Sun and has a very low orbital eccentricity, so one can say that the semi-major axis of the Earth's orbit is also approximately 1 AU in length. Since P^2 (yr) = a^3 (AU), one can deduce that the orbit of Earth should take about a year. But, what if the Earth had a higher eccentricity - If the orbital eccentricity of the Earth were higher, would it still be wise to approximate the orbital distance as the semi-major axis of an orbit?


The gist of this, is that your assumption is incorrect. It's the semi-major axis that defines the period, not the average distance. Newton worked this out when he invented calculus and derived Kepler's laws. (Look up Derivation of Kepler's laws for some explanations). Here's the Wikipedia version of the Math.

I should add that Kepler's three laws, and Newton's derivation of them still don't perfectly define orbits. They assume that only the larger mass matters, when in reality, the two objects tug on Each other. The Sun doesn't just tug on the Earth but the Earth tugs on the Sun, which speeds up the orbit a tiny bit (the mass ratio of 330,000 to 1 makes this close to negligible, but it's there). More accurate Newtonian orbital calculations between two massive objects require more advanced mathematics. Kepler's laws only work if the central object is much more massive than the 2nd object.

Ignoring the finer details and just looking at the three laws, Newton's derivation works out exactly to the semi-major axis. The average distance doesn't enter into the equation.

Average distance of an orbiting object to it's Sun or central object is problematic anyway because the planet moves more slowly when it's more distant, so there's a few ways to calculate average distance.

By time the planet spends in each part of it's orbit (same as area as defined by Kepler's 3rd law)

Or, you can measure average distance by arc or angle, taking smaller and smaller angles and running an average.

Or you can take average distance by length of the ellipse to the specific foci.

That's three separate methods for measuring average distance. Needless to say, this gets a little complicated. The good news is, you don't need to do any calculation for average distance because the Semi-major axis is actually correct.

Does the semi-major axis equal the average distance, perhaps by arc or by length? Not sure. I'll try to work that out. I know that it doesn't equal average by time.

Does that make sense. I'm not sure I explained that as well as I should.


On average distance. The standard average distance with orbits is by time or area. Kepler's 3rd law says equal areas over equal time, so it's really two ways of saying the same thing, equal time and equal surface area.

enter image description here

I think your question is interesting and I'll try to work out a relation between semi major axis and average distance. Off hand, it's a little complicated, but it seems to me that ratio between average distance and semi major axis changes with eccentricity but, I'd rather work that out before I say for certain.

  • $\begingroup$ If I understand correctly, I incorrectly assumed the law related average orbital distance with orbital period whereas the “simple math” - derivation yields the result that the period is related to the semi-major axis; The actual case is more complicated as smaller masses are no longer negligible. Is that correct? Slightly off-topic, but of the three methods used to calculate average orbital distance, would the most convenient be the first method since the swept area (or elapsed time in orbit) would be constant? $\endgroup$ – MPath Dec 1 '17 at 13:05
  • 1
    $\begingroup$ @mikey Smaller masses are closer to negligible. It's when the two masses approach being more equal then Kepler's laws become less accurate. As to your first point, yes, the derivation points to the semi-major axis. As to your 3rd, I'll edit the answer above. $\endgroup$ – userLTK Dec 1 '17 at 13:17
  • $\begingroup$ I’m guessing that you integrate along the orbital curve varying the angle for the second method. But I don’t yet have an idea for the third method. $\endgroup$ – MPath Dec 1 '17 at 13:22
  • 2
    $\begingroup$ Kepler's Third law applies just fine to binary stars. No need for one to be much more massive than the other. $\endgroup$ – Rob Jeffries Mar 31 '18 at 19:40

The maths says that the semi-major axis is not a good measure of average distance for high eccentricity (elliptical) orbits.

There are basically two ways to measure this : (1) an average over the entire orbit on a purely geometric basis, and (2) the average over time. These give quite different results - qualitatively different.

Average distance on geometric basis.

In a way this is the most obvious one. The mathematics is :

$$R_g = \frac a {2\pi} \int_0^{2\pi}r\,d\theta$$

And we use for an ellipse :

$$r = \frac \rho {1+\epsilon\,cos\theta}$$

The result is (eventually :-) ) :

$$R_g = a\,\sqrt{1-\epsilon^2} \tag{1}$$

Average over time.

This is a tricker calculation, but in fact it's the most "human" average. We want :

$$R_t = \frac 1 T \int_0^T r\,dt$$

The maths on this is tedious and not at all useful, but the result ( with a little help from Wolframalpha.com ) is :

$$R_t = a\,\frac 2 {\pi} \frac{2+\epsilon^2}{(1-\epsilon^2)^{\frac 5 2}}tan^{-1}\left( \sqrt{\frac {1-\epsilon}{1+\epsilon}} \right) \tag{2}$$

Now by any definition that's a messy equation, but the main point is to note the key difference between the time averaged expression (2) and the geometric one (1).

The geometric expression gets smaller as eccentricity gets larger.

The time averaged one gets larger as eccentricity gets larger (a slight simplification).

In fact for both $\frac R a$ starts off at $1.000$ but when $\epsilon\to 1$ then $R_g\to 0$ and $R_t\to \infty$ !

Why ?

The geometric expression doesn't allow for the orbital speed of the object. As you increase eccentricity an orbits ends up with having a faster close approach, so less time close up to it's primary. As it moves away from the primary, the orbital speed also decreases, so it spends much more time at large distances than at short distances.

  • $\begingroup$ +n! and kudos for math! If you fix $a=1$, then the limit of $Rt$ is only 1.5, not $\infty$. That $(1-\epsilon^2)^{5/2}$ in the denominator seems to be the issue. $\endgroup$ – uhoh Dec 7 '17 at 14:20
  • $\begingroup$ See this answer for a numerical verification of that. $\endgroup$ – uhoh Dec 7 '17 at 14:46
  • $\begingroup$ I still believe that there is a mathematical error in your expression. With $a=1$ and eccentricity approaching unity ($\epsilon \rightarrow 1$), the apoapsis distance $a(1+\epsilon)$ approaches a value of 2, and the time-averaged mean distance 1.5. However your expression diverges to $\infty$. Are you planning on addressing this? $\endgroup$ – uhoh Dec 13 '17 at 5:01
  • $\begingroup$ I can edit your answer for you if you like. Right now I think there is a mistake. $\endgroup$ – uhoh Jan 21 '18 at 13:35
  • 1
    $\begingroup$ @uhoh Sure, go ahead. To be honest I've lost track of this question mentally and if your maths is kosher, go for it. $\endgroup$ – StephenG Jan 21 '18 at 18:34

Just to provide an analytical formula for @uhoh's correct time-averaged distance, here the derivation of $\langle r\rangle_t=1+\epsilon^2/2$:

$$a=1 \qquad c=e\qquad b=\sqrt{1-e^2}\\ \vec{r}=(\cos \beta-e,\sqrt{1-e^2}\sin \beta)\\ \vec{r'}=(-\sin \beta,\sqrt{1-e^2}\cos \beta)\\ |r|^2=\cos^2 \beta -2e\cos \beta+e^2+\sin^2\beta-e^2\sin^2\beta=1-2e\cos \beta+e^2\cos \beta=(1-e\cos \beta)^2\\ |\vec{r}\times\vec{r'}|=(\cos \beta-e)\sqrt{1-e^2}\cos \beta+\sin \beta\sqrt{1-e^2}\sin \beta= \sqrt{1-e^2}(1-e\cos \beta)=2\,\mathrm{d}A/\mathrm{d}\beta=\text{const. }\mathrm{d}t/\mathrm{d}\beta\\\ \langle|r|\rangle_t= \int_0^{T}|r|\mathrm{d}t=\int_0^{2\pi}{|r|\frac{\mathrm{d}t}{\mathrm{d}\beta}}\mathrm{d}\beta =\frac{\sqrt{1-e^2}\int_0^{2\pi}{(1-e\cos\beta)^2}\mathrm{d}\beta} {\sqrt{1-e^2}\int_0^{2\pi}({1-e\cos\beta})\mathrm{d}\beta} =\frac{2\pi+e^2\pi}{2\pi}=1+e^2/2$$


This was intended to be a supplemental answer to StephenG's answer. However, there appears to be a problem with the expression for time-averaged distance in that answer. I think it's great to seek a mathematical expression, but it should be confirmed numerically.

I did a quick numerical double check and verified those general trends, but there may still be a problem with one of the expressions there.

Assuming a constant semi major axis of 1, the time-averaged distance rises from 1 at $\epsilon = 0$ to 1.5 at $\epsilon \rightarrow 1$, while for the $\theta$-averaged ("geometrical") distance drops from 1 down to zero.

I think both of us should now add the path-average for completeness by averaging over ds. :-)

enter image description here

Python script:

def deriv(X, t):
    x, v = X.reshape(2, -1)
    acc = -x * ((x**2).sum())**-1.5
    return np.hstack((v, acc))

import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate import odeint as ODEint

halfpi, pi, twopi = [f*np.pi for f in 0.5, 1, 2]

time = np.linspace(0, twopi, 10001)[:-1]

a = 1.0
eps = np.hstack((0, 0.2, 0.5, 0.7, 0.9, 0.99))

orbits = []
for ep in eps:
    rperi = a * (1. - ep)
    vperi = np.sqrt(2./rperi - 1./a)
    X0 = np.array([rperi, 0, 0, vperi])

    answer, info = ODEint(deriv, X0, time, atol = 1E-12, full_output=True)
    xy = answer.T[:2]

rs = [np.sqrt((xy**2).sum(axis=0)) for xy in orbits]
rmeans = [r.mean() for r in rs]

plt.subplot(3, 2, 1)
for x, y in orbits:
    plt.plot(x, y)
plt.ylim(-1, 1)
plt.plot([0], [0], 'ok')
plt.subplot(3, 2, 3)
for r in rs:
    plt.plot(time, r)
plt.subplot(3, 2, 5)
plt.plot(eps, rmeans)
plt.plot(eps, rmeans, 'ok')
plt.plot(eps, np.ones_like(eps), '--k')
plt.ylim(0, 1.6)

theta = np.linspace(0, twopi, 10001)[:-1]
rs = [a * (1-ep**2)/(1 + ep*np.cos(theta)) for ep in eps]
rmeans = [r.mean() for r in rs]

plt.subplot(3, 2, 2)
for r in rs:
    x, y = [r*f(theta) for f in (np.cos, np.sin)]
    plt.plot(x, y)
plt.ylim(-1, 1)
plt.plot([0], [0], 'ok')
plt.subplot(3, 2, 4)
for r in rs:
    plt.plot(theta, r)
plt.subplot(3, 2, 6)
plt.plot(eps, rmeans)
plt.plot(eps, rmeans, 'ok')
plt.plot(eps, np.ones_like(eps), '--k')
plt.ylim(0, 1.6)
plt.suptitle("Time averages      Theta averages")
  • 1
    $\begingroup$ see my answer for derivation of $\langle r\rangle_t=1+\epsilon^2/2$ $\endgroup$ – Markus Schmassmann May 2 '18 at 15:27
  • $\begingroup$ @MarkusSchmassmann I'll give it a look as soon as I get to a reasonable screen and some pencil&paper, seems great though! $\endgroup$ – uhoh May 3 '18 at 8:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.