# Quaternion and Angle Axis Matrix

This topic is 606 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

Is there a conceptual difference between a quaternion and a matrix representing an Angle Axis rotaiton? I realize you can slerp quaternions and they are smaller than the respective angle axis matrices, but is there a concepual difference? What i mean by that is both forms represent a rotation about some arbitrary axis.

##### Share on other sites
First of all, I don't think "Angle Axis Matrix" means anything. You can express a rotation using an angle and an axis, but that's an alternative to using matrices, not the same thing.

The group SO(3) of spatial rotations has a representation as orthogonal 3x3 matrices with determinant 1. There is a homomorphism from unit-length quaternions to SO(3) which is not an isomorphism because q and -q map to the same rotation.

##### Share on other sites

By "Angle Axis Matrix" i meant this: http://www.euclideanspace.com/maths/geometry/rotations/conversions/angleToMatrix/

There is a homomorphism from unit-length quaternions to SO(3) which is not an isomorphism because q and -q map to the same rotation.

That addresses my question. You used some big words i had to google, but basically this is what i took away:

You can represent a quaternion as a 3x3 matrix, but it's an alternate representation, not the same thing.

##### Share on other sites

is there a concepual difference?
For practical purposes, no. For all practical means, you can just think of it as the same thing with fewer numbers and fewer rounding errors and with nicer interpolation.

However, in reality there is a big difference, but it is unlikely that you need to know or want to know. Or, that you will even fully understand it, for that matter (I only understand it on a very rough scale, too). Rotation by an appropriate 3x3 matrix (with the rotate-around-axis formula) is, well, a rotation in 3D around an axis.

On the other hand side, rotation by a quaternion is something that looks like a 3D rotation but really is a pair of half-rotations in 4D space (I believe the correct word is "isoclinic"). That's why you have to do q*p*q', not just q*p, and the reason why you use only half the angle.

Left-multiplication followed by right-multiplication with the inverse does two half-rotates where the 3D part adds up but the rest has opposite sign and therefore sums up to zero, finally resulting in what looks like a pure 3D rotation. There was a kinda understandable presentation about how it works on GDC some 4-5 years ago (you will probably find it on Google if you're interested).

q and -q map to the same rotation
To be 100% correct, I think it should be "orientation", not "rotation". q and -q both perform a rotation that finally leaves the object in the same orientation, but they rotate the opposite ways around (one takes the "short" way, the other one the "long" way). That doesn't really matter... until you start to interpolate.

##### Share on other sites

q and -q map to the same rotation

To be 100% correct, I think it should be "orientation", not "rotation". q and -q both perform a rotation that finally leaves the object in the same orientation, but they rotate the opposite ways around (one takes the "short" way, the other one the "long" way). That doesn't really matter... until you start to interpolate.

No, sorry; you are muddling things. The word "rotation" doesn't mean a continuous process that ends up leaving an object in some orientation: It means the mapping from the initial position to the final position in one go. What I said is perfectly correct.

• ### What is your GameDev Story?

In 2019 we are celebrating 20 years of GameDev.net! Share your GameDev Story with us.

• 13
• 12
• 15
• 11
• 12
• ### Forum Statistics

• Total Topics
634152
• Total Posts
3015842
×