Panoramica
Le seguenti funzioni manipolano i quaternioni.
Riepilogo
Funzioni | |
---|---|
Aggiungi rsQuaternion | Sommare due quaternioni |
Coniugato rsQuaternion | Coniugare un quaternione |
DotQuaternion | Prodotto scalare di due quaternioni |
rsQuaternionGetMatrixUnit | Ottieni una matrice di rotazione da un quaternione |
rsQuaternionLoadRuota | Crea un quaternione di rotazione |
rsQuaternionLoadWheelUnit | Quaternione che rappresenta una rotazione rispetto a un vettore unitario arbitrario |
rsQuaternionMultiply | Moltiplicare un quaternione per uno scalare o un altro quaternione |
rsQuaternionNormalize | Normalizzare un quaternione |
SetQuaternion | Crea un quaternione |
rsQuaternionSlerp | Interpolazione sferica lineare tra due quaternioni |
Funzioni
rsQuaternionAdd : aggiungi due quaternioni
void rsQuaternionAdd(rs_quaternion* q, const rs_quaternion* rhs); |
Parametri
q | Quaternione di destinazione a cui aggiungere elementi. |
---|---|
dx | Quaternione da aggiungere. |
Aggiunge due quaternioni, ad esempio *q += *rhs;
rsQuaternionConjugate : coniuga un quaternion
void rsQuaternionConjugate(rs_quaternion* q); |
Parametri
q | Quaternione da modificare. |
---|
Coniuga il quaternione.
rsQuaternionDot : prodotto scalare di due quaternioni
float rsQuaternionDot(const rs_quaternion* q0, const rs_quaternion* q1); |
Parametri
t | Primo quaternione. |
---|---|
t1 | Secondo quaternione. |
Restituisce il prodotto scalare di due quaternioni.
rsQuaternionGetMatrixUnit : ottieni una matrice di rotazione da un quaternione
void rsQuaternionGetMatrixUnit(rs_matrix4x4* m, const rs_quaternion* q); |
Parametri
m | Matrice risultante. |
---|---|
q | Quaternione normalizzato. |
Calcola una matrice di rotazione dal quaternione normalizzato.
rsQuaternionLoadRuota : crea un quaternione di rotazione
void rsQuaternionLoadRuota(rs_quaternion* q, float rot, float x, y in virgola mobile, float z); |
Parametri
q | Quaternione della destinazione. |
---|---|
marcire | Angolo di rotazione. |
x | Componente X di un vettore. |
y | Componente Y di un vettore. |
z | Componente Z di un vettore. |
Carica un quaternione che rappresenta una rotazione relativa a un vettore arbitrario (non deve essere un'unità)
rsQuaternionLoadWheelUnit : quaternion che rappresenta una rotazione rispetto a un vettore unitario arbitrario
void rsQuaternionLoadRuotaUnit(rs_quaternion* q, float rot, float x, y in virgola mobile, float z); |
Parametri
q | Quaternione della destinazione. |
---|---|
marcire | Angolo di rotazione in radianti. |
x | Componente X del vettore. |
y | Componente Y del vettore. |
z | Componente Z del vettore. |
Carica un quaternione che rappresenta una rotazione attorno a un vettore unitario arbitrario.
rsQuaternionMultiply : moltiplica un quaternione per uno scalare o un altro quaternione
void rsQuaternionMultiply(rs_quaternion* q, const rs_quaternion* rhs); | |
void rsQuaternionMultiply(rs_quaternion* q, float scalare); |
Parametri
q | Quaternione della destinazione. |
---|---|
scalare | Scalare per moltiplicare il quaternione per. |
dx | Quaternione per moltiplicare il quaternione di destinazione. |
Moltiplica un quaternione per uno scalare o per un altro quaternione, ad esempio
*q = *q * scalar;
o *q = *q * *rhs;
.
rsQuaternionNormalize : normalizza un quaternione
void rsQuaternionNormalize(rs_quaternion* q); |
Parametri
q | Quaternione per normalizzare. |
---|
Normalizza il quaternione.
rsQuaternionSet : crea un quaternione
void rsQuaternionSet(rs_quaternion* q, const rs_quaternion* rhs); | |
void rsQuaternionSet(rs_quaternion* q, float w, float x, float y, float z); |
Parametri
q | Quaternione della destinazione. |
---|---|
w | Componente W. |
x | Componente X. |
y | Componente Y. |
z | Componente Z. |
dx | Quaternione di origine. |
Crea un quaternione dai suoi quattro componenti o da un altro quaternione.
rsQuaternionSlerp : interpolazione lineare sferica tra due quaternioni
void rsQuaternionSlerp(rs_quaternion* q, const rs_quaternion* q0, const rs_quaternion* q1, float t); |
Parametri
q | Quaternione del risultato dall'interpolazione. |
---|---|
t | Primo quaternione di input. |
t1 | Secondo quaternione di input. |
t | Di quanto interpolare. |
Esegue l'interpolazione lineare sferica tra due quaternioni.