Given three points on a unit sphere, their coordinates are $p_1 = [\phi_1, \theta_1]$, $p_2 = [\phi_2, \theta_2]$, and $p_3 = [\phi_3, \theta_3]$, where $\phi$ and $\theta$ are azimuthal angle and polar angle, respectively.

Rotate about the sphere center so that $p_1$ locates at $[0, 0]$ and $p_2$ at $[0, l]$ (obviously, $l$ equals to the great-arc distance between $p_1$ and $p_2$).

On the rotated sphere, what is the new coordinates $[\phi, \theta]$ for $p_3$?

  • $\begingroup$ Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. $\endgroup$
    – Community Bot
    Nov 23 '21 at 22:38

Here is a brute force method to find the new coordinates of $p_3$.

Assuming that $\phi$ is the azimuthal angle measured counter clockwise from the positive $x$ axis, and $\theta$ is the polar angle measured from the positive $z$ axis, we can first convert the spherical coordinates into rectangular coordinates as follows:

$ p_1 = \begin{bmatrix} \sin \theta_1 \cos \phi_1 \\ \sin \theta_1 \sin \phi_1 \\ \cos \theta_1 \end{bmatrix} \hspace{40pt} p_2 = \begin{bmatrix} \sin \theta_2 \cos \phi_2 \\ \sin \theta_2 \sin \phi_2 \\ \cos \theta_2 \end{bmatrix} \hspace{40pt}p_3 = \begin{bmatrix} \sin \theta_3 \cos \phi_3 \\ \sin \theta_3 \sin \phi_3 \\ \cos \theta_3 \end{bmatrix} $

In addition, let vectors $q_1 $ and $q_2$ be defined as follows:

$q_1 = \begin{bmatrix} 0\\ 0 \\ 1\end{bmatrix} \hspace{40pt} q_2 = \begin{bmatrix} \sin \psi \\ 0\\ \cos \psi \end{bmatrix} $

where the angle $\psi = \cos^{-1} \left(p_1 \cdot p_2\right) $

Now consider the rotation that takes $p_1$ and sends it to $q_1$ and takes $p_2$ and sends it to $q_2$, this can expressed as

$q_1 = R p_1, \hspace{40pt} q_2 = R p_2 $

We need a third vector, so we'll take the cross product and write

$q_1 \times q_2 = R ( p_1 \times p_2 ) $

Hence, we now have the matrix equation,

$ \begin{bmatrix} q_1 , q_2 , q_1 \times q_2 \end{bmatrix} = R \begin{bmatrix} p_1 , p_2 , p_1 \times p_2 \end{bmatrix} $

which is of the form

$ Q = R P $

From which it follows that

$R = Q P^{-1} $

Finally, apply this rotation to $p_3$ to obtain $q_3$

$q_3 = R p_3 = \begin{bmatrix} \sin \theta \cos \phi \\ \sin \theta \sin \theta \\ \cos \theta \end{bmatrix} $

The new angles $\theta$ and $\phi$ can be found from the coordinates of $q_3$ as follows

$ \theta = \cos^{-1} q_{3z} $

$ \phi = \text{ATAN2} ( q_{3x} , q_{3y} ) $

  • $\begingroup$ Thanks. I've edited the solution to clarify the angles. $\endgroup$ Nov 25 '21 at 14:18
  • $\begingroup$ @DavidK I've re-edited the solution to use the standard convention of angles. $\endgroup$ Nov 26 '21 at 11:48
  • $\begingroup$ Yes, you're right. I'll change that shortly. $\endgroup$ Nov 26 '21 at 14:21
  • $\begingroup$ Already upvoted. I think this matches the question exactly now. $\endgroup$
    – David K
    Nov 26 '21 at 14:52

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.