A rotation vector represent rotations by directly storing the axis of rotation and the angle magnitude.
Quaternions seem to be used much more to represent rotations. Why are quaternions preferred over rotation vectors in computer graphics?
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
Quaternions are much easier to compute with, for the computer of course (as a human you shouldn’t bother with 3D rotations anyway):
What do you do when you want to concatenate two rotations in vector representation? You have to convert them to quaternion or matrix form (using costly trigonometrics) to do that (and maybe back again), whereas quaternions can be concatenated efficiently by using the classical quaternion multiplication.
What do you do when you want to rotate a point/vector using a rotation in vector-format, or send it to GL/D3D as matrix? You convert it into a matrix (again using costly trigonometrics). A quaternion on the other hand is quite efficiently converted into a matrix, since it already encodes the needed sines and cosines.
So matrices and quaternions are much more appropriate rotational representations. From those two quaternions are more compact and they are also quite easy to convert into an axis-angle representation (and back again), though using trigonometrics. So if you need axis-angle information at the peripherals (it’s only us humans who sometimes need an actual rotation axis and angle, the computer doesn’t really care) you can still use it, but for internal representation and computation quaternions or matrices are a much better choice.
If quaternions seem a bit heavy at first with their “3-dimensional complex number” explanation, don’t bother with their exact mathematical underpinnings. Just start to understand how they work and how to use them. Pragmatically they are just a kind of axis-angle representation, but with implicitly encoded sines and cosines, which are needed for efficient transformation and computation.