I am standing on a perfect unit sphere. I can describe any point on the surface in terms of longitude and latitude because I arbitrarily marked a "North Pole" and "Prime Meridian" on the surface.

Suppose I select a non-polar point and turn to face a selected direction. If I were to walk in that direction following a great circle route for some angular distance, where would I arrive? (Walking 360° would take me back to where I started.)

For example, "Starting at 53°N 3°E, facing 80° clockwise from North, where would I arrive if I traveled 200° along this great circle?"

Note: I excluded the poles because facing in a particular direction is ambiguous. I am happy if a simpler formula doesn't work at these two points and I have to take a step to the left before calculating.

  • 1
    $\begingroup$ "I excluded the poles because facing in a particular direction is ambiguous." I'd say it's the opposite. At a pole the direction you're facing corresponds directly to a longitude. $\endgroup$ – Peter Taylor Apr 18 '19 at 9:34
  • $\begingroup$ @PeterTaylor Say I'm at the south pole and I turn to face 10° clockwise from north. I walk 20° around that great circle. Where am I? $\endgroup$ – billpg Apr 18 '19 at 9:38
  • $\begingroup$ "Clockwise from North" is a useless way of naming the direction, but if you're at the South Pole and you turn $10^\circ$ clockwise from the Prime Meridian and walk $20^\circ$ you're at 10E 70S. $\endgroup$ – Peter Taylor Apr 18 '19 at 10:14
  • $\begingroup$ @PeterTaylor I am open to rewording my question. What I need is way to express any given great circle route that will work anywhere on the sphere. "Clockwise from north" works starting from the whole sphere except the two poles. "Clockwise from the prime meridian" only works if you are starting from the prime meridian. $\endgroup$ – billpg Apr 18 '19 at 10:32

The easiest way of thinking of a great circle is often as the intersection of a plane through the origin with the surface of the sphere. To orient it you can pick one of its polars. So one way of thinking about your problem is that you can break it down to two operations:

  1. Convert your representation of location and facing into a polar.
  2. Rotate the location around (the axis from the origin to) that polar by the given distance.

Given your description of your representation, I think that what you want to do is take a polar of the great circle through your position and the North Pole, rotate that polar around your position, and then rotate the position around the rotated polar.

If your position is given as latitude $\varphi$ and longitude $\theta$, the initial polar would be $(0, \theta - 90^\circ)$. It's probably easiest to do the rotations in Cartesian coordinates and then convert back to lat/long.


enter image description here You can use Spherical Trigonometry.

The convention in spherical trigonometry is that the coordinates of a point are its longitude $\theta$ and co-latitude $\phi$. The co-latitude is zero at the north pole and $90^{\circ}$ at the equator, unlike geographical latitude, which is $90^{\circ}$ at the north pole and zero at the equator.

In the figure, let's suppose that the north pole is at $A$ and your starting position is $B$, identified by its longitude $\theta_B$ and co-latitude $c=\phi_B$. Your heading is $B$, and you move through an angle $a$. We want to find the longitude and co-latitude of your final position $C$. To do so, we can start with one form of the spherical law of cosines:

$$\cos b = \cos a \cos c + \sin a \sin c \cos B$$

We know all the values on the right-hand side of the equation, so we can compute $\cos b$, and from that, $b$. Another form of the law of cosines, simply switching vertices, is $$\cos a = \cos b \cos c + \sin b \sin c \cos A$$ which we can solve for $\cos A$: $$\cos A = \frac{\cos a - \cos b \cos c}{\sin b \sin c}$$ Since we have already found the value of $b$, we again know the values of all the variables on the right-hand side, so we can compute $\cos A$ and $A$.

The end result is that the co-latitude of $C$ is $b$, and its longitude is $\theta_B + A$.

If you are not familiar with spherical trigonometry, one book is Spherical Trigonometry: For the use of colleges and schools by I. Todhunter (1886), which I think is available in hard copy from Amazon or for free in electronic form from Project Gutenberg.


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.