Is it possible to calculate the specific orbital energy $ϵ$, the semi-major axis $a$, and the orbital period $T$ (or $P$) without any of them being available to you? The values I do have available to me are the velocity of the orbiting body relative to the center of gravity, its current position (also relative to the center of gravity), and the central mass that is providing the source of gravity $M$. I also have the mass of the orbiting body, but it is negligible.

So, given all of these things and no outside factors, is it possible to calculate any of the values listed above? According to Kepler's Third Law, the orbital period is given in the proportion $4π^2/T^2 = GM/R^3$ where $T$ is the orbital period, $G$ is Newton's Universal Gravitational Constant, $M$ is the mass of the larger body (given the orbiting body's mass is negligible), and $R$ is the distance between the center of gravity and the orbiting body. This doesn't help very much simply because it is a proportion and cannot be worked around with algebra to get an real value for $T$ (I think?).

Anyway, I have scoured the internet and Wikipedia trying to find a way to calculate these values, but I am at a loss. I am trying to see if there is a way to calculate these things for a small programming project/simulator. Otherwise, it would be necessary to simulate the program for a period to determine one of these values to calculate the others.

  • 1
    $\begingroup$ I'll just give you a first hint: the total energy of the orbit is just $\frac{1}{2}mv^{2} - G\frac{Mm}{r}$. As for the rest, there is an exact known solution to the kepler problem, which should be out there on the internet. Match this to your initial conditions, and you're golden. $\endgroup$ Commented Jul 25, 2013 at 4:25
  • $\begingroup$ Well, I can't believe I missed that formula for the energy of an orbit. I kept coming across formulations that were in terms of the semi-major axis. Now to scour the interwebs for that solution you speak of... $\endgroup$ Commented Jul 25, 2013 at 4:33
  • 1
    $\begingroup$ Interesting situation - if as I suspect your "velocity" is a scalar and not a vector quantity, then you don't have enough information to determine the complete orbit (no eccentricity information), but you still have enough to get the quantities you want. Minor point: That's the new and improved version of Kepler's Law, brought to you by Newton - it is an equality, not a proportion. $\endgroup$
    – user10851
    Commented Jul 25, 2013 at 4:35
  • $\begingroup$ The velocity is given by a vector, yes. Thanks for the minor point though! I didn't know that (obviously). $\endgroup$ Commented Jul 25, 2013 at 4:37

1 Answer 1


Yes, you can derive all of these quantities. The specific orbital energy $E$ is $$ \begin{align} E &= \frac{1}{2}v^2 - \frac{\mu}{r}= -\frac{\mu}{2a}, \end{align} $$ where $ \mu = GM^3/(M+m)^2 $, and $a$ is the semi-major axis. The orbital period follows from Kepler's Third Law: $$ T^2 = (2\pi)^2\frac{a^3}{\mu}. $$ If you also know the radial velocity $v_r$ and the tangential velocity $v_T$ separately at $r$, then you can also calculate the specific relative angular momentum $h$ and the orbital eccentricity $e$: $$ \begin{align} h^2 &= r^2\,v^2_{T} = \mu a(1-e^2). \end{align} $$


Several people have tried to change $\mu$ into $\mu = G(M+m)$. This is wrong, because that is the formula for relative motion instead of motion with respect to the centre of mass. The equations of motion of the two-body problem are $$ \begin{align} m\ddot{\boldsymbol{r}}_m &= - \frac{GmM}{|\boldsymbol{r}_m - \boldsymbol{r}_M|^3}\left(\boldsymbol{r}_m - \boldsymbol{r}_M\right),\\ M\ddot{\boldsymbol{r}}_M &= \frac{GmM}{|\boldsymbol{r}_m - \boldsymbol{r}_M|^3}\left(\boldsymbol{r}_m - \boldsymbol{r}_M\right),\\ \end{align} $$ where $\boldsymbol{r}_m$ and $\boldsymbol{r}_M$ are the positions of the small and large body with respect to the centre of mass. What we want is to express the motion of the small body in terms of $\boldsymbol{r}_m$. By definition, the position of the centre of mass remains constant, $$ m\boldsymbol{r}_m + M\boldsymbol{r}_M = \boldsymbol{0}, $$ so that $$ \boldsymbol{r}_m - \boldsymbol{r}_M = \frac{M+m}{M}\boldsymbol{r}_m. $$ Therefore, $$ m\ddot{\boldsymbol{r}}_m = -GmM\frac{M^3}{(M+m)^3r^3_m}\left(\frac{M+m}{M}\boldsymbol{r}_m\right), $$ or $$ \ddot{\boldsymbol{r}}_m = -\frac{\mu}{r^3_m}\boldsymbol{r}_m, $$ with $\mu = GM^3/(M+m)^2$. In my answer, $r = r_m$. I hope this clears things up.

  • $\begingroup$ Thanks again for the help, Pulsar. I appreciate the formulae! $\endgroup$ Commented Jul 25, 2013 at 4:51
  • $\begingroup$ You can also express $a$ and $e$ as a function of your given values $v$ and $r$: $$a=\frac{\mu r}{2\mu-rv^2}$$ $$e=\frac{\sqrt{\mu^2+\cos^2{\phi}rv^2(rv^2-2\mu)}}{\mu}$$ Where $\phi$ is the angle of the velocity relative to the vector perpendicular to the position vector. $\endgroup$
    – fibonatic
    Commented Aug 3, 2013 at 3:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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