For the Quaternion thread, I think it is important to note that Eulerian angles are an in complete solution (for many cases).
E.g. in an interactive application where the user controls rotations....: Obvious but, unless you restrict the amount of rotations the user can apply, Gimbal Lock is an issue. E.g. rotate around z axis 90 degrees, subsequent rotations about x axis are no longer distinguishable between further rotations on Y axis (assuming right handed coordinate system).
Maybe you won't run into this in your application, but it really is important to note.
EDIT: and of course, Quaternions are a elegant and complete solution to this issue and avoid Gimbal lock. Also they allow for smooth interpolation between two orientations with SLERP. Additionally, you can use quaternions to interpolate a series of different orientations, using a method you can think of as using de casteljau in 4d (quaternions) with SLERP (this is a simplified explanation however).
http://www.ann.jussieu.fr/~frey/papers/scivi/Nielson%20G.M.,%20nu%20Quaternion%20splines%20for%20the%20smooth%20interpolation%20of%20orientations.pdfI had the pleasure of taking a class with Dr. Nielson and he was a valuable resource in learning this information.