18.6.3 Rotations About A Particular Vector∗
The problem is to find the matrix of the linear transformation which rotates all vectors
about a given unit vector u which is possibly not one of the coordinate vectors i,j, or k.
Suppose for |c|≠1
First I will produce a matrix which maps u to k such that the right handed rotation
about k corresponds to the right handed rotation about u. Then I will rotate about k
and finally, I will multiply by the inverse of the first matrix to get the desired
To begin, find vectors w,v such that w × v = u. Let
This vector is clearly perpendicular to u. Then v =
×w ≡ u × w.
the geometric description of the cross product, w × v
. Computing the cross product
Now I want to have Tw = i,Tv = j,Tu = k. What does this? It is the inverse of the
matrix which takes i to w, j to v, and k to u. This matrix is
Its inverse is
Therefore, the matrix which does the rotating is
This yields a matrix whose columns are
Using the assumption that u is a unit vector so that a2 + b2 + c2 = 1, the above
simplifies and it follows the desired matrix has columns
This was done under the assumption that |c|≠1. However, if this condition does not
hold, you can verify directly that the above still gives the correct answer.