Roll Any Point on the Sphere to Any Desired Latitude-Longitude Coordinates with One Straight-Line Roll
Pick a point on a sphere (in green). This point has certain latitude-longitude coordinates. In one straight-line roll, we can move this point to any desired latitude-longitude coordinates (in red). This Demonstration shows the shortest such roll.
A roll in the horizontal plane of length about an axis at angle with the axis produces the following change in orientation:
We want to choose the pair that moves a point from the starting latitude-longitude pair to the desired latitude-longitude pair.
First, we compute the 3D location of the point from the latitude-longitude pair :
Let and be the start and end coordinates.
The angle to roll along is given by , which is undefined if the coordinates overlap. If they overlap and any angle works. Otherwise, set .
The length of the roll is determined by the angle between the start and ending latitude-longitude pair with respect to the intersection of the line in the - plane between the start and end points and a perpendicular line to the origin. If is the squared - distance between the start and end points, this intersection point is given by
If , the intersection point is the origin.
If and are the vectors to the starting and ending north poles from this intersection point, then we can use a property of the dot product to calculate the angle , which satisfies .