57.6: Computing a Position
- Page ID
- 92366
\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)
\( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)
( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)
\( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)
\( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)
\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)
\( \newcommand{\Span}{\mathrm{span}}\)
\( \newcommand{\id}{\mathrm{id}}\)
\( \newcommand{\Span}{\mathrm{span}}\)
\( \newcommand{\kernel}{\mathrm{null}\,}\)
\( \newcommand{\range}{\mathrm{range}\,}\)
\( \newcommand{\RealPart}{\mathrm{Re}}\)
\( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)
\( \newcommand{\Argument}{\mathrm{Arg}}\)
\( \newcommand{\norm}[1]{\| #1 \|}\)
\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)
\( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)
\( \newcommand{\vectorA}[1]{\vec{#1}} % arrow\)
\( \newcommand{\vectorAt}[1]{\vec{\text{#1}}} % arrow\)
\( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vectorC}[1]{\textbf{#1}} \)
\( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)
\( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)
\( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)
\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)
\(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)Now let's put all this together and see how you go about computing the position of a body in an elliptical orbit - let's say a planet orbiting the Sun - at a time \(t\), given its orbital elements. We begin by computing the mean daily motion \(n\) of the body, which is how many revolutions it makes in its orbit per day. This is found from Kepler's third law:
\[n=\frac{86400}{2 \pi} \sqrt{\frac{G M_{\odot}}{a^{3}}}\]
where \(G\) is the universal gravitational constant, \(M_{\odot}\) is the mass of the central body, and \(a\) is the semi-major axis of the orbit. The factor \(86400 / 2 \pi\) in front converts to units of rev/day.
Next we find the mean anomaly \(M\) at time \(t\) :
\[M=M_{0}+2 \pi n\left(t-T_{0}\right)\]
Essentially what we're doing here is assuming the orbit is a perfect circle; knowing the mean anomaly \(M_{0}\) at the epoch time \(T_{0}\), this equation finds the mean anomaly \(M\) at some other time \(t\). Here both \(M\) and \(M_{0}\) are in units of radians, \(t\) and \(T_{0}\) are Julian days, and \(n\) is in units of rev/day.
Of course, the real orbit is generally an ellipse, not a circle, so the next step is to adjust the mean anomaly \(M\) to correct it for the eccentricity of the orbit. The result is called the eccentric anomaly \(E\). We find the eccentric anomaly by solving the following equation, called Kepler's equation, for \(E\) :
(Here \(M\) and \(E\) are both in radians.) Kepler's equation cannot be solved for \(E\) in closed form, so we need to make use of some iterative method such as Newton's method to solve for \(E\).
Having found \(E\), the next step is to correct the orbit for the fact that the body is at one of the foci of the ellipse, not at the center of the ellipse. This correction gives what's called the true anomaly \(f\) (again in radians):
\[\tan \left(\frac{f}{2}\right)=\sqrt{\frac{1+e}{1-e}} \tan \left(\frac{E}{2}\right)\]
The true anomaly \(f\) is the true polar coordinate of the body, measured from the pericenter to the body, in the plane of the orbit.
Next we find radial distance \(r\) of the orbiting body from the central body:
The quantities \(r\) and \(f\) are the plane polar coordinates of the orbiting body, with the central body at the origin. The remainder of the calculations are essentially a set of coordinate transformations to find the right ascension and declination of the body.
We begin these coordinate transformations by finding the argument of latitude \(u\) (radians):
\[u=\omega+f\]
Next, we find the heliocentric cartesian ecliptic coordinates \((x, y, z)\) of the orbiting body:
\[
\begin{align}
& x=r(\cos u \cos \Omega-\sin u \sin \Omega \cos i) \\ \notag\\
& y=r(\cos u \sin \Omega+\sin u \cos \Omega \cos i) \\\notag\\
& z=r \sin u \sin i
\end{align}
\]
For the orbit of a planet around the Sun, these are the cartesian coordinates of the body in a coordinate system centered at the Sun.
We don't want to know where the body will appear in the sky as seen from the Sun, though—we want to know where it will be in the sky as seen from the Earth. So next we move the origin of this coordinate system from the Sun to the Earth, giving the geocentric cartesian ecliptic coordinates \(\left(x_{e}, y_{e}, z_{e}\right)\) of the body:
\[
\begin{align}
& x_{e}=x+x_{\odot} \\ \notag\\
& y_{e}=y+y_{\odot} \\ \notag\\
& z_{e}=z+z_{\odot}
\end{align}
\]
where \(\left(x_{\odot}, y_{\odot}, z_{\odot}\right)\) are the geocentric cartesian coordinates of the Sun at time \(t\).
Now we convert from cartesian to spherical coordinates. Assuming the reference plane is the ecliptic, this gives the geocentric ecliptic longitude \(\lambda\) and ecliptic latitude \(\beta\) :
\[
\begin{align}
\tan \lambda & =\frac{y_{e}}{x_{e}} \\ \notag\\
\sin \beta & =\frac{z_{e}}{\sqrt{x_{e}^{2}+y_{e}^{2}+z_{e}^{2}}}
\end{align}
\]
Finally, we convert these ecliptic coordinates to right ascension \(\alpha\) and declination \(\delta\) :
\[
\begin{align}
\tan \alpha & =\frac{\sin \lambda \cos \varepsilon-\tan \beta \sin \varepsilon}{\cos \lambda} \\ \notag\\
\sin \delta & =\sin \beta \cos \varepsilon+\cos \beta \sin \varepsilon \sin \lambda
\end{align}
\]
where \(\varepsilon\) is the obliquity of the ecliptic (about \(23.5^{\circ}\) ).
Eqs. \(\PageIndex{15}\) and \(\PageIndex{16}\) are the solution to the problem: we could find a star atlas (which has lines of right ascension and declination marked on it), locate the planet, and find where in the sky the planet can be seen.