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.