PAL Geometry: Quaternion Construction and Angle Conversion

Conversion between quaternions, roll-pitch-yaw representations, axis-angle descriptions, and configurable rotation sequences.

PAL Geometry: Quaternion Construction and Angle Conversion — 7 functions

KiratPalGeom3DSet1DQuatFromAxis1DAngle

Signature
void KiratPalGeom3DSet1DQuatFromAxis1DAngle( T_FLOAT* pfVec, T_FLOAT* pfAngle, T_FLOAT** ppfQuat, T_INT iSize, enum tKiratPalGeom3DAngleUnit eUnit);
Description
Constructs quaternion values from a rotation axis and angle.
Mathematical operation
For axis \(\mathbf u\), \(\hat{\mathbf u}=\mathbf u/\|\mathbf u\|\): \(q=(\cos(\theta/2),\hat{\mathbf u}\sin(\theta/2))\).

KiratPalGeom3DSetQuatFromAxisAngle

Signature
void KiratPalGeom3DSetQuatFromAxisAngle( T_FLOAT* pfVec, T_FLOAT fAngle, T_FLOAT* pfQuat, enum tKiratPalGeom3DAngleUnit eUnit);
Description
Constructs quaternion values from a rotation axis and angle.
Mathematical operation
For axis \(\mathbf u\), \(\hat{\mathbf u}=\mathbf u/\|\mathbf u\|\): \(q=(\cos(\theta/2),\hat{\mathbf u}\sin(\theta/2))\).

KiratPalGeom3DSetQuatFromRotSeqVec

Signature
void KiratPalGeom3DSetQuatFromRotSeqVec( T_FLOAT* pfVec, T_FLOAT* pfQuat, T_INT eSeq, T_INT eOrd, enum tKiratPalGeom3DAngleUnit eUnit);
Description
Constructs quaternion values from a configurable Euler/Tait-Bryan rotation sequence.
Mathematical operation
\(q=q_{a_1}(\theta_1)\otimes q_{a_2}(\theta_2)\otimes q_{a_3}(\theta_3)\) for the configured rotation-axis sequence.

KiratPalGeom3DSetQuatFromRpy

Signature
void KiratPalGeom3DSetQuatFromRpy( T_FLOAT fRoll, T_FLOAT fPitch, T_FLOAT fYaw, T_FLOAT* pfQuat, enum tKiratPalGeom3DAngleUnit eUnit);
Description
Constructs quaternion values from roll-pitch-yaw angles.
Mathematical operation
\(q=q_z(\psi)\otimes q_y(\theta)\otimes q_x(\phi)\) for yaw \(\psi\), pitch \(\theta\), roll \(\phi\).

KiratPalGeom3DSetQuatFromRpyVec

Signature
void KiratPalGeom3DSetQuatFromRpyVec( T_FLOAT* pfVec, T_FLOAT* pfQuat, enum tKiratPalGeom3DAngleUnit eUnit);
Description
Constructs quaternion values from roll-pitch-yaw angles.
Mathematical operation
\(q=q_z(\psi)\otimes q_y(\theta)\otimes q_x(\phi)\) for yaw \(\psi\), pitch \(\theta\), roll \(\phi\).

KiratPalGeom3DSetRpyVecFromQuat

Signature
void KiratPalGeom3DSetRpyVecFromQuat( T_FLOAT* pfQuat, T_FLOAT* pfVec, enum tKiratPalGeom3DAngleUnit eUnit);
Description
Converts quaternion values to roll-pitch-yaw angles.
Mathematical operation
\(q\mapsto(\phi_{roll},\theta_{pitch},\psi_{yaw})\) using the quaternion-to-RPY equations implemented by the geometry module.

KiratPalGeom3DSetTransp1DRpyVecFrom1DQuat

Signature
void KiratPalGeom3DSetTransp1DRpyVecFrom1DQuat( T_FLOAT** ppfQuat, T_FLOAT** ppfVec, T_INT iSize, enum tKiratPalGeom3DAngleUnit eUnit);
Description
Converts quaternion values to roll-pitch-yaw angles.
Mathematical operation
\(q\mapsto(\phi_{roll},\theta_{pitch},\psi_{yaw})\) using the quaternion-to-RPY equations implemented by the geometry module.