New coordinate of another point after rotating one point on $S^2$?

36 Views Asked by At

As we rotate $p_a = (x_a, y_a, z_a)$ to $p_b = (x_b, y_b, z_b)$ (both are known), how can we find the the new location of $p_c = (x_c, y_c, z_c)$ after this rotation? Can we instead find out the new location of $\overrightarrow{p_a p_c}$ after this rotation? Thanks in advance.

Edit: I can find the rotation axis $r_{p_a p_c}$ of $\overrightarrow{p_a p_c}$ by taking the cross product of $\overrightarrow{p_a}$ and $\overrightarrow{p_c}$ because that axis is sure both perpendicular to both position vectors. But how can we find out the rotation angle to rotate $p_a$ to $p_b$ along $r_{p_a p_c}$?

1

There are 1 best solutions below

0
On

Let unit vectors $$\hat{a} = \frac{p_a}{\lVert p_a \rVert} \quad \text{and} \quad \hat{b} = \frac{p_b}{\lVert p_b \rVert}$$ One way to rotate $\hat{a}$ to $\hat{b}$ is to rotate around unit axis vector $\hat{n}$ by angle $\theta$, $$\begin{aligned} \vec{n} &= \hat{a} \times \hat{b} \\ \hat{n} &= \frac{\vec{n}}{\lVert\vec{n}\rVert} \\ \cos\theta &= \hat{a} \cdot \hat{b} \\ \end{aligned}$$ where $\times$ denotes vector cross product, and $\cdot$ dot product.