Les quaternions (une extension à quatre dimensions de nombres complexes) peuvent être utilisés pour représenter la rotation et l'échelle d'un vecteur 3D, et l'application d'un quaternion sur un vecteur 3D implique deux multiplications de quaternion, nécessitant ainsi moins d'opérations que la multiplication par la matrice de transformation correspondante. Cependant, des matrices de transformation linéaire et affine sont souvent utilisées à la place, en particulier dans le code de shader.
Quand est-il approprié et préférable (en raison de la vitesse, de la stabilité, etc.) d'utiliser un quaternion pour représenter la mise à l'échelle et la rotation en trois dimensions, au lieu de la matrice de transformation correspondante?