Quaternion and normalization

normalization, 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.

Problem

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? - Multiplying two quaternions? - Dot product? Sorry, if this question is a little bit fuzzy. I'm still trying wrap my head around quaternions.

Original source