Présentation
Les fonctions suivantes manipulent des quaternions.
Résumé
Fonctions | |
---|---|
rsQuaternionAdd | Ajouter deux quaternions |
Conjugate rsQuaternion | Conjuguer un quaternion |
rsQuaternionDot | Produit scalaire de deux quaternions |
rsQuaternionGetMatrixUnit | Obtenir une matrice de rotation à partir d'un quaternion |
rsQuaternionLoadScroll | Créer un quaternion de rotation |
rsQuaternionLoadScrollUnit | Quaternion représentant une rotation par rapport à un vecteur unitaire arbitraire |
rsQuaternionMultiply | Multiplier un quaternion par un scalaire ou un autre quaternion |
rsQuaternionNormalize | Normaliser un quaternion |
Ensemble rsQuaternion | Créer un quaternion |
rsQuaternionSlerp | Interpolation linéaire sphérique entre deux quaternions |
Fonctions
rsQuaternionAdd : ajouter deux quaternions
void rsQuaternionAdd(rs_quaternion* q, const rs_quaternion* rhs); |
Paramètres
a | Quaternion de destination à ajouter. |
---|---|
RH | Quaternion à ajouter. |
Ajoute deux quaternions, soit *q += *rhs;
rsQuaternionConjugate : conjugué d'un quaternion
void rsQuaternionConjugate(rs_quaternion* q); |
Paramètres
a | Quaternion à modifier. |
---|
Conjugue le quaternion.
rsQuaternionDot : produit scalaire de deux quaternions
float rsQuaternionDot(const rs_quaternion* q0, const rs_quaternion* q1); |
Paramètres
q0 | Premier quaternion. |
---|---|
q1 | Deuxième quaternion. |
Renvoie le produit scalaire de deux quaternions.
rsQuaternionGetMatrixUnit : obtenir une matrice de rotation à partir d'un quaternion
void rsQuaternionGetMatrixUnit(rs_matrix4x4* m, const rs_quaternion* q); |
Paramètres
m | Matrice résultante. |
---|---|
a | Quaternion normalisé. |
Calcule une matrice de rotation à partir du quaternion normalisé.
rsQuaternionLoadScroll : créer un quaternion de rotation
void rsQuaternionLoadScroll(rs_quaternion* q, float rot, float x, float y, float z); |
Paramètres
a | Quaternion de destination. |
---|---|
pourriture | Angle de rotation. |
x | Composante X d'un vecteur. |
y | Composante Y d'un vecteur. |
m | Composante Z d'un vecteur. |
Charge un quaternion représentant une rotation par rapport à un vecteur arbitraire (ne doit pas nécessairement être une unité)
rsQuaternionLoadScrollUnit : quaternion représentant une rotation par rapport à un vecteur unitaire arbitraire.
void rsQuaternionLoadScrollUnit(rs_quaternion* q, float rot, float x, float y, float z); |
Paramètres
a | Quaternion de destination. |
---|---|
pourriture | Angle de rotation, en radians. |
x | Composante X du vecteur. |
y | Composante Y du vecteur. |
m | Composante Z du vecteur. |
Charge un quaternion représentant une rotation par rapport à un vecteur unitaire arbitraire.
rsQuaternionMultiply : multiplier un quaternion par un scalaire ou un autre quaternion
void rsQuaternionMultiply(rs_quaternion* q, const rs_quaternion* rhs); | |
void rsQuaternionMultiply(rs_quaternion* q, float scalaire); |
Paramètres
a | Quaternion de destination. |
---|---|
scalaire | Scalaire pour multiplier le quaternion. |
RH | Quaternion par lequel multiplier le quaternion de destination. |
Multiplie un quaternion par un scalaire ou un autre quaternion (par exemple, *q = *q * scalar;
ou *q = *q * *rhs;
).
rsQuaternionNormalize : normaliser un quaternion
void rsQuaternionNormalize(rs_quaternion* q); |
Paramètres
a | Quaternion à normaliser. |
---|
Normalise le quaternion.
rsQuaternionSet : créer un quaternion
void rsQuaternionSet(rs_quaternion* q, const rs_quaternion* rhs); | |
void rsQuaternionSet(rs_quaternion* q, float w, float x, float y, float z); |
Paramètres
a | Quaternion de destination. |
---|---|
z | Composant W. |
x | X. |
y | Composant Y. |
m | Composant Z. |
RH | Quaternion source. |
Crée un quaternion à partir de ses quatre composants ou d'un autre quaternion.
rsQuaternionSlerp : interpolation linéaire sphérique entre deux quaternions
void rsQuaternionSlerp(rs_quaternion* q, const rs_quaternion* q0, const rs_quaternion* q1, float t); |
Paramètres
a | Résultat du quaternion de l'interpolation. |
---|---|
q0 | Premier quaternion d'entrée. |
q1 | Deuxième quaternion d'entrée. |
i | Degré d'interpolation. |
Effectue une interpolation linéaire sphérique entre deux quaternions.