Let q be a quaterion. As we know, a quaternion has one real component and three imaginary component. The three imaginary units i, j and k are equal to the square root of minus one, as usual. However, what we are interested in for 3D graphics is in the axis/angle notation of the quaternion. By packing together the three imaginary components we can think on the quaternion as a real value w plus a 3D vector v. To get our axis/angle notation we just have to impose to our quaternion that the real component w is the cosine of a given (half-)angle and the vector v to be a normalized vector scaled by the sine of that same (half-)angle.
Now, the interesting property comes into the game. The power of a quaternions happens to be like this
What results in the following interpretation: self-multiplying a quaternion t times is the same as multiplying the angle by t (even if I find this interpretation a bit tricky for non integer values of t...). We can now start to see why quaternions are used for angular operations. Actually, we know a normalized quaterion represents a 3D rotation around the axis a by an angle of alpha. And we know that concatenating two rotations can be done by multiplying the two corresponding quaternions. Hence what we have to remember is just the first two rows of the following table:
We can now easilly convert any angular operation that we want to perform into the correct quaterion operations. Just replace additions/substractions by multiplications/divisions, and multiplications/divisions by powers/roots, and we are done. This relationship between angle and quaternion operations quite resembles the relationship between linear and logarithmical operatoins (ala Lapalce Transform)... Actually, there is a reason for this, and it is that quaterions are a generatlization of complex numbers, and as such normalized quaterions are generalization of pure complex exponentials and thus the logarithmic relationships come apparent. Actually, if we have the following normalized quaternion
and we make the axis equal to the real axis x=(1,0,0), we have