Visão geral
As funções a seguir manipulam quatérnios.
Resumo
Funções | |
---|---|
rsQuaternionAdd (em inglês) | Somar dois quatérnios |
rsQuaternionConjugate (em inglês) | Conjugar um quatérnio |
rsQuaternionDot (em inglês) | Produto escalar de dois quatérnios |
rsQuaternionGetMatrixUnit | Calcular uma matriz de rotação de um quatérnio |
rsQuaternionLoadReturn (em inglês) | Criar um quatérnio de rotação |
rsQuaternionLoadRotationUnit (em inglês) | Quaternion que representa uma rotação sobre um vetor unitário arbitrário |
rsQuaternionMultiply (em inglês) | Multiplicar um quatérnio por um escalar ou outro quatérnio |
rsQuaternionNormalize. | Normalizar um quatérnio |
rsQuaternionSet (em inglês) | Criar um quatérnio |
rsQuaternionSlerp (em inglês) | Interpolação linear esférica entre dois quatérnios |
Funções
rsQuaternionAdd : adicionar dois quatérnios
void rsQuaternionAdd(rs_quaternion* q, const rs_quaternion* rhs); |
Parâmetros
q | Quaternion de destino a ser adicionado. |
---|---|
rhs | Quaternion para adicionar. |
Adiciona dois quatérnios, ou seja, *q += *rhs;
rsQuaternionConjugate : conjuga um quaternion
void rsQuaternionConjugate(rs_quaternion* q); |
Parâmetros
q | Quaternion para modificar. |
---|
Conjuga o quatérnio.
rsQuaternionDot : produto escalar de dois quatérnios
float rsQuaternionDot(const rs_quaternion* q0, const rs_quaternion* q1); |
Parâmetros
T0 | Primeiro quatérnio. |
---|---|
q1 | Segundo quatérnio. |
Retorna o produto escalar de dois quatérnios.
rsQuaternionGetMatrixUnit : receber uma matriz de rotação de um quaternion
void rsQuaternionGetMatrixUnit(rs_matrix4x4* m, const rs_quaternion* q); |
Parâmetros
m | Matriz resultante. |
---|---|
q | Quatérnio normalizado. |
Calcula uma matriz de rotação com base no quatérnio normalizado.
rsQuaternionLoadReturn : criar um quatérnio de rotação
void rsQuaternionLoadScroll(rs_quaternion* q, flutuação rot, float x, flutuação y, flutuação z); |
Parâmetros
q | Quaternion de destino. |
---|---|
apodrecer | Ângulo para girar. |
x | componente X de um vetor. |
y | Componente Y de um vetor. |
z | Z de um vetor. |
Carrega um quatérnio que representa uma rotação em um vetor arbitrário (não precisa ser uma unidade)
rsQuaternionLoadRotationUnit : quatérnio que representa uma rotação em torno de um vetor unitário arbitrário
void rsQuaternionLoadRotationUnit(rs_quaternion* q, flutuação rot, flutuação x, flutuação y, flutuação z); |
Parâmetros
q | Quaternion de destino. |
---|---|
apodrecer | Ângulo para girar, em radianos. |
x | componente X do vetor. |
y | Componente Y do vetor. |
z | Componente Z do vetor. |
Carrega um quatérnio que representa uma rotação em torno de um vetor unitário arbitrário.
rsQuaternionMultiply : multiplicar um quaternion por um escalar ou outro quaternion
void rsQuaternionMultiply(rs_quaternion* q, const rs_quaternion* rhs); | |
void rsQuaternionMultiply(rs_quaternion* q, flutuante escalar); |
Parâmetros
q | Quaternion de destino. |
---|---|
escalar | Escalar pelo qual multiplicar o quatérnio. |
rhs | Quaternion pelo qual multiplicar o quatérnio de destino. |
Multiplica um quatérnio por um escalar ou por outro quatérnio, por exemplo,
*q = *q * scalar;
ou *q = *q * *rhs;
.
rsQuaternionNormalize : normaliza um quaternion
void rsQuaternionNormalize(rs_quaternion* q); |
Parâmetros
q | Quaternion a ser normalizado. |
---|
Normaliza o quatérnio.
rsQuaternionSet : criar um quaternion
void rsQuaternionSet(rs_quaternion* q, const rs_quaternion* rhs); | |
void rsQuaternionSet(rs_quaternion* q, flutuação w, float x, float y, float z); |
Parâmetros
q | Quaternion de destino. |
---|---|
w | Componente W. |
x | componente X. |
y | Componente Y. |
z | Z. |
rhs | Quaternion de origem. |
Cria um quatérnio dos quatro componentes ou de outro quatérnio.
rsQuaternionSlerp : interpolação linear esférica entre dois quatérnios
void rsQuaternionSlerp(rs_quaternion* q, const rs_quaternion* q0, const rs_quaternion* q1, float t); |
Parâmetros
q | Quaternion do resultado da interpolação. |
---|---|
T0 | Quaternion de primeira entrada. |
q1 | Quaternion de entrada. |
t | Por quanto interpolar. |
Executa interpolação linear esférica entre dois quatérnios.