normalizationquaternions

Quaternion and normalization


I know that quaternions need to be normalized if I want to rotate a vector.

But are there any reasons to not automatically normalize a quaternion? And if there are, what quaternion operations do result in non-normalized quaternions?

Sorry, if this question is a little bit fuzzy. I'm still trying wrap my head around quaternions.


Solution

  • Any operation that produces a quaternion will need to be normalized because floating-point precession errors will cause it to not be unit length.

    I would advise against standard routines performing normalization automatically for performance reasons. Any competent programmer should be aware of the precision issues and be able to normalize the quantities when necessary - and it is not always necessary to have a unit length quaternion.

    The same is true for vector operations.