PAL Geometry: Quaternion Algebra
Hamilton products, normalization, and inversion for quaternions and quaternion sequences.
|
|
|---|---|
KiratPalGeom3DInv1DQuatSignature
void KiratPalGeom3DInv1DQuat(T_FLOAT** ppfQuat, T_INT iSize);Description
Inverts quaternion values; for unit quaternions this is equivalent to conjugation. Mathematical operation
\(q^-1=q^*/(\|q\|_2^2+\varepsilon_{\mathrm{SYS}})\) (sequence variants element-wise). |
|
KiratPalGeom3DInvQuatSignature
void KiratPalGeom3DInvQuat(T_FLOAT* pfQuat);Description
Inverts quaternion values; for unit quaternions this is equivalent to conjugation. Mathematical operation
\(q^-1=q^*/(\|q\|_2^2+\varepsilon_{\mathrm{SYS}})\) (sequence variants element-wise). |
|
KiratPalGeom3DMult1DQuatWith1DQuatToASignature
void KiratPalGeom3DMult1DQuatWith1DQuatToA(T_FLOAT** ppfQuatA, T_FLOAT** ppfQuatB, T_INT iSize);Description
Calculates the Hamilton product of two quaternions; 1D variants process sequences of quaternions. Mathematical operation
For \(q_a=(w_a,\mathbf v_a)\) and \(q_b=(w_b,\mathbf v_b)\): \(q_a\otimes q_b=(w_aw_b-\mathbf v_a\cdot\mathbf v_b,\;w_a\mathbf v_b+w_b\mathbf v_a+\mathbf v_a\times\mathbf v_b)\). |
|
KiratPalGeom3DMult1DQuatWith1DQuatToBSignature
void KiratPalGeom3DMult1DQuatWith1DQuatToB(T_FLOAT** ppfQuatA, T_FLOAT** ppfQuatB, T_INT iSize);Description
Calculates the Hamilton product of two quaternions; 1D variants process sequences of quaternions. Mathematical operation
For \(q_a=(w_a,\mathbf v_a)\) and \(q_b=(w_b,\mathbf v_b)\): \(q_a\otimes q_b=(w_aw_b-\mathbf v_a\cdot\mathbf v_b,\;w_a\mathbf v_b+w_b\mathbf v_a+\mathbf v_a\times\mathbf v_b)\). |
|
KiratPalGeom3DMult1DQuatWith1DQuatToCSignature
void KiratPalGeom3DMult1DQuatWith1DQuatToC( T_FLOAT** ppfQuatA, T_FLOAT** ppfQuatB, T_FLOAT** ppfQuatC, T_INT iSize);Description
Calculates the Hamilton product of two quaternions; 1D variants process sequences of quaternions. Mathematical operation
For \(q_a=(w_a,\mathbf v_a)\) and \(q_b=(w_b,\mathbf v_b)\): \(q_a\otimes q_b=(w_aw_b-\mathbf v_a\cdot\mathbf v_b,\;w_a\mathbf v_b+w_b\mathbf v_a+\mathbf v_a\times\mathbf v_b)\). |
|
KiratPalGeom3DMult1DQuatWithQuatToASignature
void KiratPalGeom3DMult1DQuatWithQuatToA(T_FLOAT** ppfQuatA, T_FLOAT* pfQuatB, T_INT iSize);Description
Calculates the Hamilton product of two quaternions; 1D variants process sequences of quaternions. Mathematical operation
For \(q_a=(w_a,\mathbf v_a)\) and \(q_b=(w_b,\mathbf v_b)\): \(q_a\otimes q_b=(w_aw_b-\mathbf v_a\cdot\mathbf v_b,\;w_a\mathbf v_b+w_b\mathbf v_a+\mathbf v_a\times\mathbf v_b)\). |
|
KiratPalGeom3DMult1DQuatWithQuatToCSignature
void KiratPalGeom3DMult1DQuatWithQuatToC( T_FLOAT** ppfQuatA, T_FLOAT* pfQuatB, T_FLOAT** ppfQuatC, T_INT iSize);Description
Calculates the Hamilton product of two quaternions; 1D variants process sequences of quaternions. Mathematical operation
For \(q_a=(w_a,\mathbf v_a)\) and \(q_b=(w_b,\mathbf v_b)\): \(q_a\otimes q_b=(w_aw_b-\mathbf v_a\cdot\mathbf v_b,\;w_a\mathbf v_b+w_b\mathbf v_a+\mathbf v_a\times\mathbf v_b)\). |
|
KiratPalGeom3DMultQuatWith1DQuatToBSignature
void KiratPalGeom3DMultQuatWith1DQuatToB(T_FLOAT* pfQuatA, T_FLOAT** ppfQuatB, T_INT iSize);Description
Calculates the Hamilton product of two quaternions; 1D variants process sequences of quaternions. Mathematical operation
For \(q_a=(w_a,\mathbf v_a)\) and \(q_b=(w_b,\mathbf v_b)\): \(q_a\otimes q_b=(w_aw_b-\mathbf v_a\cdot\mathbf v_b,\;w_a\mathbf v_b+w_b\mathbf v_a+\mathbf v_a\times\mathbf v_b)\). |
|
KiratPalGeom3DMultQuatWith1DQuatToCSignature
void KiratPalGeom3DMultQuatWith1DQuatToC( T_FLOAT* pfQuatA, T_FLOAT** ppfQuatB, T_FLOAT** ppfQuatC, T_INT iSize);Description
Calculates the Hamilton product of two quaternions; 1D variants process sequences of quaternions. Mathematical operation
For \(q_a=(w_a,\mathbf v_a)\) and \(q_b=(w_b,\mathbf v_b)\): \(q_a\otimes q_b=(w_aw_b-\mathbf v_a\cdot\mathbf v_b,\;w_a\mathbf v_b+w_b\mathbf v_a+\mathbf v_a\times\mathbf v_b)\). |
|
KiratPalGeom3DMultQuatWithQuatToASignature
void KiratPalGeom3DMultQuatWithQuatToA(T_FLOAT* pfQuatA, T_FLOAT* pfQuatB);Description
Calculates the Hamilton product of two quaternions; 1D variants process sequences of quaternions. Mathematical operation
For \(q_a=(w_a,\mathbf v_a)\) and \(q_b=(w_b,\mathbf v_b)\): \(q_a\otimes q_b=(w_aw_b-\mathbf v_a\cdot\mathbf v_b,\;w_a\mathbf v_b+w_b\mathbf v_a+\mathbf v_a\times\mathbf v_b)\). |
|
KiratPalGeom3DMultQuatWithQuatToBSignature
void KiratPalGeom3DMultQuatWithQuatToB(T_FLOAT* pfQuatA, T_FLOAT* pfQuatB);Description
Calculates the Hamilton product of two quaternions; 1D variants process sequences of quaternions. Mathematical operation
For \(q_a=(w_a,\mathbf v_a)\) and \(q_b=(w_b,\mathbf v_b)\): \(q_a\otimes q_b=(w_aw_b-\mathbf v_a\cdot\mathbf v_b,\;w_a\mathbf v_b+w_b\mathbf v_a+\mathbf v_a\times\mathbf v_b)\). |
|
KiratPalGeom3DMultQuatWithQuatToCSignature
void KiratPalGeom3DMultQuatWithQuatToC(T_FLOAT* pfQuatA, T_FLOAT* pfQuatB, T_FLOAT* pfQuatC);Description
Calculates the Hamilton product of two quaternions; 1D variants process sequences of quaternions. Mathematical operation
For \(q_a=(w_a,\mathbf v_a)\) and \(q_b=(w_b,\mathbf v_b)\): \(q_a\otimes q_b=(w_aw_b-\mathbf v_a\cdot\mathbf v_b,\;w_a\mathbf v_b+w_b\mathbf v_a+\mathbf v_a\times\mathbf v_b)\). |
|
KiratPalGeom3DNorm1DQuatSignature
void KiratPalGeom3DNorm1DQuat(T_FLOAT** ppfQuat, T_INT iSize);Description
Normalizes quaternion values to unit norm. Mathematical operation
\(q\leftarrow q/(\sqrt{w^2+x^2+y^2+z^2}+\varepsilon_{\mathrm{SYS}})\) (sequence variants element-wise). |
|
KiratPalGeom3DNormQuatSignature
void KiratPalGeom3DNormQuat(T_FLOAT* pfQuat);Description
Normalizes quaternion values to unit norm. Mathematical operation
\(q\leftarrow q/(\sqrt{w^2+x^2+y^2+z^2}+\varepsilon_{\mathrm{SYS}})\) (sequence variants element-wise). |