Descripción general
Las siguientes funciones manipulan cuaterniones.
Resumen
Funciones | |
---|---|
rsQuaternionAdd | Suma dos cuaterniones |
rsQuaternionConjugate | Conjugar un cuaternión |
rsQuaternionDot | Producto punto de dos cuaterniones |
rsQuaternionGetMatrixUnit. | Obtén una matriz de rotación a partir de un cuaternión |
rsQuaternionLoadRotate | Crea un cuaternión de rotación |
rsQuaternionLoadRotateUnit | Cuaternión que representa una rotación sobre un vector unitario arbitrario |
rsQuaternionMultiply | Multiplicar un cuaternión por un escalar o algún otro cuaternión |
rsQuaternionNormalize | Normaliza un cuaternión |
rsQuaternionSet | Crea un cuaternión |
rsQuaternionSlerp | Interpolación lineal esférica entre dos cuaterniones |
Funciones
rsQuaternionAdd : Agrega dos cuaterniones
void rsQuaternionAdd(rs_quaternion* q, const rs_quaternion* rhs); |
Parámetros
q | Cuaternión de destino al que se agregará contenido. |
---|---|
rhs | Cuaternión para agregar. |
Agrega dos cuaterniones, es decir, *q += *rhs;
rsQuaternionConjugate : Conjugar un cuaternión
void rsQuaternionConjugate(rs_quaternion* q); |
Parámetros
q | Cuaternión para modificar. |
---|
Conjuga el cuaternión.
rsQuaternionDot : Producto de punto de dos cuaterniones
float rsQuaternionDot(const rs_quaternion* q0, const rs_quaternion* q1); |
Parámetros
t0 | Primer cuaternión. |
---|---|
q1 | Segundo cuaternión. |
Muestra el producto escalar de dos cuaterniones.
rsQuaternionGetMatrixUnit : Obtén una matriz de rotación a partir de un cuaternión
void rsQuaternionGetMatrixUnit(rs_matrix4x4* m, const rs_quaternion* q); |
Parámetros
m | Matriz resultante. |
---|---|
q | Cuaternión normalizado. |
Calcula una matriz de rotación a partir del cuaternión normalizado.
rsQuaternionLoadRotate : Crea un cuaternión de rotación
void rsQuaternionLoadRotate(rs_quaternion* q, float rot, float x, float y, float z); |
Parámetros
q | Cuaternión de destino. |
---|---|
podrido | Ángulo para rotar. |
x | Componente X de un vector. |
y | Componente Y de un vector. |
z | Componente Z de un vector. |
Carga un cuaternión que representa una rotación sobre un vector arbitrario (no tiene que ser una unidad).
rsQuaternionLoadRotateUnit : cuaternión que representa una rotación sobre un vector unitario arbitrario
void rsQuaternionLoadRotateUnit(rs_quaternion* q, float rot, float x, float y, float z); |
Parámetros
q | Cuaternión de destino. |
---|---|
podrido | Ángulo para rotar, en radianes. |
x | Componente X del vector. |
y | Componente Y del vector. |
z | Componente Z del vector. |
Carga un cuaternión que representa una rotación sobre un vector unitario arbitrario.
rsQuaternionMultiply : Multiplica un cuaternión por un escalar o algún otro cuaternión.
void rsQuaternionMultiply(rs_quaternion* q, const rs_quaternion* rhs); | |
void rsQuaternionMultiply(rs_quaternion* q, escalar flotante); |
Parámetros
q | Cuaternión de destino. |
---|---|
escalar | Escalar por el que se multiplica el cuaternión. |
rhs | Cuaternión por el que se multiplica el cuaternión de destino. |
Multiplica un cuaternión por un escalar o por otro cuaternión, p.ej., *q = *q * scalar;
o *q = *q * *rhs;
.
rsQuaternionNormalize : Normaliza un cuaternión
void rsQuaternionNormalize(rs_quaternion* q); |
Parámetros
q | Cuaternión para normalizar. |
---|
Normaliza el cuaternión.
rsQuaternionSet : Crea un cuaternión
void rsQuaternionSet(rs_quaternion* q, const rs_quaternion* rhs); | |
void rsQuaternionSet(rs_quaternion* q, float w, float x, float y, float z); |
Parámetros
q | Cuaternión de destino. |
---|---|
w | Componente W |
x | X. |
y | Y. |
z | Componente Z. |
rhs | Cuaternión de origen. |
Crea un cuaternión a partir de sus cuatro componentes o a partir de otro cuaternión.
rsQuaternionSlerp : Interpolación lineal esférica entre dos cuaterniones
void rsQuaternionSlerp(rs_quaternion* q, const rs_quaternion* q0, const rs_quaternion* q1, float t); |
Parámetros
q | Cuaternión de resultados a partir de la interpolación. |
---|---|
t0 | Primer cuaternión de entrada. |
q1 | Segundo cuaternión de entrada. |
a | El porcentaje de interpolación. |
Realiza la interpolación lineal esférica entre dos cuaterniones.