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