Effizienz der Algorithmen

Zur Einschätzung der Effizienz der Algorithmen definiert man Standardoperationen, aus denen sich die komplexeren Operationen ergeben. Für kompliziertere Vergleiche mit anderen Methoden s. [[4.26]].

M:
Anzahl der Multiplikationen,
A:
Anzahl der Additionen oder Subtraktionen,
D:
Anzahl der Divisionen,
F:
Anzahl der Aufrufe von Standardfunktionen wie z.B. der trigonometrischen Funktionen, die zusammengesetzte Operationen aus einer Vielzahl von Multiplikationen, Divisionen und Additionen sind,
V:
Anzahl der Vergleiche von Ausdrücken, die die Rechengeschwindigkeit erheblich erhöhen, da sie den schnellen Ablauf vorgegebener Algorithmen unterbrechen u.ä.
Operation A M D F V
Quaternion zu Matrix 12 12      
Matrix zu Quaternion 6 5 1 1 1
Matrix zu Quaternion 6 5 1 1 3


Drehung eines Vektors A M Bemerkungen
mittels Rotationsmatrix 6 9  
mittels Einheitsquaternion 24 32 normale Quaternionenmultiplikation
mittels Einheitsquaternion 17 24 schnelle Quaternionenmultiplikation
mittels Einheitsquaternion 18 21 Umrechnung in Rotationsmatrix


Drehung von n Vektoren A M Bemerkungen
mittels Rotationsmatrix 6n 9n  
mittels Einheitsquaternion 24n 32n normale Quaternionenmultiplikation
mittels Einheitsquaternion 17n 24n schnelle Quaternionenmultiplikation
mittels Einheitsquaternion 12+6n 12+9n Umrechnung in Rotationsmatrix


Komposition (Hintereinanderausführung) von 2 Drehungen A M
mittels Rotationsmatrix 18 27
mittels Einheitsquaternion 12 16

Ergebnis

Ein schneller Algorithmus auf der Basis von Quaternionen ergibt sich also nur bei der Hintereinanderausführung von Drehungen. Dies kommt vor allem in der Computergraphik bei Animationen, also Approximationen von Drehungen, vor.