PAL Geometry: Vector Rotation with Quaternions

Rotation of individual 3D vectors or vector sequences using quaternions.

PAL Geometry: Vector Rotation with Quaternions — 7 functions

KiratPalGeom3DRot1DVecWith1DQuatToA

Signature
void KiratPalGeom3DRot1DVecWith1DQuatToA(T_FLOAT** ppfVecA, T_FLOAT** ppfQuatB, T_INT iSize);
Description
Rotates a 3D vector using a quaternion; variants either operate in place or write to a separate destination.
Mathematical operation
\(\mathbf v\' = \operatorname{vec}\!\left(q\otimes(0,\mathbf v)\otimes q^{-1}\right)\); sequence variants apply the same rotation per element.

KiratPalGeom3DRot1DVecWith1DQuatToC

Signature
void KiratPalGeom3DRot1DVecWith1DQuatToC( T_FLOAT** ppfVecA, T_FLOAT** ppfQuatB, T_FLOAT** pfVecC, T_INT iSize);
Description
Rotates a 3D vector using a quaternion; variants either operate in place or write to a separate destination.
Mathematical operation
\(\mathbf v\' = \operatorname{vec}\!\left(q\otimes(0,\mathbf v)\otimes q^{-1}\right)\); sequence variants apply the same rotation per element.

KiratPalGeom3DRot1DVecWithQuatToA

Signature
void KiratPalGeom3DRot1DVecWithQuatToA(T_FLOAT** ppfVecA, T_FLOAT* pfQuatB, T_INT iSize);
Description
Rotates a 3D vector using a quaternion; variants either operate in place or write to a separate destination.
Mathematical operation
\(\mathbf v\' = \operatorname{vec}\!\left(q\otimes(0,\mathbf v)\otimes q^{-1}\right)\); sequence variants apply the same rotation per element.

KiratPalGeom3DRot1DVecWithQuatToC

Signature
void KiratPalGeom3DRot1DVecWithQuatToC( T_FLOAT** ppfVecA, T_FLOAT* pfQuatB, T_FLOAT** ppfVecC, T_INT iSize);
Description
Rotates a 3D vector using a quaternion; variants either operate in place or write to a separate destination.
Mathematical operation
\(\mathbf v\' = \operatorname{vec}\!\left(q\otimes(0,\mathbf v)\otimes q^{-1}\right)\); sequence variants apply the same rotation per element.

KiratPalGeom3DRotVecWith1DQuatToC

Signature
void KiratPalGeom3DRotVecWith1DQuatToC( T_FLOAT* pfVecA, T_FLOAT** pfQuatB, T_FLOAT** ppfVecC, T_INT iSize);
Description
Rotates a 3D vector using a quaternion; variants either operate in place or write to a separate destination.
Mathematical operation
\(\mathbf v\' = \operatorname{vec}\!\left(q\otimes(0,\mathbf v)\otimes q^{-1}\right)\); sequence variants apply the same rotation per element.

KiratPalGeom3DRotVecWithQuatToA

Signature
void KiratPalGeom3DRotVecWithQuatToA(T_FLOAT* pfVecA, T_FLOAT* pfQuatB);
Description
Rotates a 3D vector using a quaternion; variants either operate in place or write to a separate destination.
Mathematical operation
\(\mathbf v\' = \operatorname{vec}\!\left(q\otimes(0,\mathbf v)\otimes q^{-1}\right)\); sequence variants apply the same rotation per element.

KiratPalGeom3DRotVecWithQuatToC

Signature
void KiratPalGeom3DRotVecWithQuatToC(T_FLOAT* pfVecA, T_FLOAT* pfQuatB, T_FLOAT* pfVecC);
Description
Rotates a 3D vector using a quaternion; variants either operate in place or write to a separate destination.
Mathematical operation
\(\mathbf v\' = \operatorname{vec}\!\left(q\otimes(0,\mathbf v)\otimes q^{-1}\right)\); sequence variants apply the same rotation per element.