Übersicht
Die folgenden Funktionen bearbeiten Quaternionen.
Zusammenfassung
Funktionen | |
---|---|
rsQuaternionAdd | Zwei Quaternionen addieren |
rsQuaternionConjugate | Ein Quaternion konjugieren |
RSQuaternionDot | Punktprodukt zweier Quaternionen |
rsQuaternionGetMatrixUnit | Rotationsmatrix aus einem Quaternion erhalten |
rsQuaternionLoadRotation | Rotationsquaternion erstellen |
rsQuaternionLoadRotUnit | Quaternion, die eine Rotation um einen beliebigen Einheitsvektor darstellt |
rsQuaternionMultiply | Ein Quaternion mit einem Skalar oder einem anderen Quaternion multiplizieren |
rsQuaternionNormalize | Quaternion normalisieren |
rsQuaternionSet | Quaternion erstellen |
rsQuaternionSlerp | Sphärische lineare Interpolation zwischen zwei Quaternionen |
Funktionen
rsQuaternionAdd : Zwei Quaternien hinzufügen
void rsQuaternionAdd(rs_quaternion* q, const rs_quaternion* rhs); |
Parameter
q | Zielquaternion, der hinzugefügt werden soll. |
---|---|
RHS | Quaternion hinzufügen. |
Fügt zwei Quaternionen hinzu, z.B. *q += *rhs;
rsQuaternionConjugate : Ein Quaternion konjugieren
void rsQuaternionConjugate(rs_quaternion* q); |
Parameter
q | Zu änderndes Quaternion. |
---|
Konjugiert das Quaternion.
rsQuaternionDot : Punktprodukt zweier Quaternien
float rsQuaternionDot(const rs_quaternion* q0, const rs_quaternion* q1); |
Parameter
Q0 | Erste Quaternion. |
---|---|
q1 | Zweite Quaternion. |
Gibt das Skalarprodukt zweier Quaternionen zurück.
rsQuaternionGetMatrixUnit : Rotationsmatrix aus einer Quaternion abrufen
void rsQuaternionGetMatrixUnit(rs_matrix4x4* m, const rs_quaternion* q); |
Parameter
m | Die resultierende Matrix. |
---|---|
q | Normalisierte Quaternion. |
Berechnet eine Rotationsmatrix aus der normalisierten Quaternion.
rsQuaternionLoadRotation : Rotationsquaternion erstellen
void rsQuaternionLoadUsing(rs_quaternion* q, float rot, float x, float y, float z); |
Parameter
q | Zielquaternion. |
---|---|
faul | Winkel zum Drehen |
x | X-Komponente eines Vektors. |
y | Y-Komponente eines Vektors. |
z | Z-Komponente eines Vektors |
Lädt ein Quaternion, das eine Rotation um einen beliebigen Vektor darstellt (muss keine Einheit sein)
rsQuaternionLoadRotUnit : Quaternion, das eine Rotation um einen beliebigen Einheitsvektor darstellt
void rsQuaternionLoadRotUnit(rs_quaternion* q, float rot, float x, float y, float z); |
Parameter
q | Zielquaternion. |
---|---|
faul | Winkel zum Drehen im Bogenmaß |
x | X-Komponente des Vektors. |
y | Y-Komponente des Vektors. |
z | Z-Komponente des Vektors. |
Lädt ein Quaternion, das eine Rotation um einen beliebigen Einheitsvektor darstellt.
rsQuaternionMultiply : Ein Quaternion mit einem Skalar oder einem anderen Quaternion multiplizieren
void rsQuaternionMultiply(rs_quaternion* q, const rs_quaternion* rhs); | |
void rsQuaternionMultiply(rs_quaternion* q, float scalar); |
Parameter
q | Zielquaternion. |
---|---|
Skalar | Skalar, mit dem das Quaternion multipliziert werden soll. |
RHS | Mit Quaternion die Zielquarantäne multiplizieren. |
Multipliziert ein Quaternion mit einem Skalar oder mit einem anderen Quaternion, z.B. *q = *q * scalar;
oder *q = *q * *rhs;
.
rsQuaternionNormalize: Quaternion normalisieren
void rsQuaternionNormalize(rs_quaternion* q); |
Parameter
q | Quaternion normalisieren. |
---|
Normalisiert das Quaternion.
rsQuaternionSet : Quaternion erstellen
void rsQuaternionSet(rs_quaternion* q, const rs_quaternion* rhs); | |
void rsQuaternionSet(rs_quaternion* q, float w, float x, float y, float z); |
Parameter
q | Zielquaternion. |
---|---|
w | Komponente „W“. |
x | X. |
y | Y-Komponente. |
z | Z-Komponente |
RHS | Quellquaternion. |
Erstellt ein Quaternion aus seinen vier Komponenten oder aus einem anderen Quaternion.
rsQuaternionSlerp : Sphärische lineare Interpolation zwischen zwei Quaternionen
void rsQuaternionSlerp(rs_quaternion* q, const rs_quaternion* q0, const rs_quaternion* q1, float t); |
Parameter
q | Ergebnisquaternion aus der Interpolation. |
---|---|
Q0 | Erste Eingabequaternion. |
q1 | Zweites Eingabequaternion. |
t | Wie viel soll interpoliert werden? |
Führt sphärische lineare Interpolation zwischen zwei Quaternionen durch.