Check this link out. You may not need everything in there, but it should get you started.
Determine the matrix that represents the following rotation of : angle , axis contains the vector .
I am pretty sure I have to use Euler's Theorem somehow, but I'm just drawing a blank on how to find this matrix. Any help would be appreciated.
the way I (and perhaps no one else in the world!) would do this is to think of rotating (1, 1, 1) about the z axis to put it above the y-axis, then rotate about the x-axis to align it with the z-axis, rotate around the z-axis through the angle 2pi/3, the reverse the first to rotations.
That is, we want a matrix of the form
where c and s are the cosine and sine of the unknown unknown angle, to get (0, r, 1) where
so we must have and which gives
The second rotation, about the x-axis, must be a matrix of the form,
where, again, c and s are the cosine and sine of the angle of rotation and must rotate into
since is the length of the original vector.
That is, we must have
So we must have and . From the first equation, so the second becomes . and then .
That is, our second rotation matrix is
Of course, since and , the rotation through that angle,around the z-axis, is given by
And then, rotation of any vector, about axis <1, 1, 1>, through angle is given by
And those inverse matrices are easy- the inverse of rotating through a given angle around a given axis is rotating around that same axis through the negative angle. And that will just change the sign in the "s" in the above matrices.
Putting that all together, rotating a vector through an angle of , about the axis <1, 1, 1,> can be accomplished by the matrix multiplication
That's rather complicated but I hope you can see how you can use those ideas to find the matrix corresponding to a rotation by any angle around any axis.
(So, I'm not the only one who does this! The link Ackbeet gives shows essentially the same thing.)