Transformation matrix to go from one vector to another

One can use axis-angle representation to get the rotation matrix.

$$Rot(u,\phi)=I \cos\phi + u u^T(1-\cos\phi) + \hat{u}\sin\phi$$ where $u$ is unit axis vector and $\phi$ is angle of rotation.

To find axis vector you need to use cross product of given two vectors $(\overline a\times\overline b)$, and from this cross product you can get first $\sin\phi$ and then $\cos\phi$.

  • Rodrigues' rotation formula
  • Hat operator