I quaternioni (un'estensione quadridimensionale di numeri complessi) possono essere utilizzati per rappresentare la rotazione e il ridimensionamento di un vettore 3D e l'applicazione di un quaternione su un vettore 3D comporta due moltiplicazioni di quaternioni, richiedendo quindi meno operazioni rispetto alla moltiplicazione della matrice di trasformazione corrispondente. Tuttavia, vengono spesso utilizzate matrici di trasformazione lineare e affine, specialmente nel codice shader.
Quando è appropriato e preferibile (a causa della velocità, stabilità, ecc.) Utilizzare un quaternione per rappresentare il ridimensionamento e la rotazione in tre dimensioni, anziché la matrice di trasformazione corrispondente?