Man page - rtcquaterniondecomposition(3)
Packages contains this manual
Manual
RTCQuaternionDecomposition
NAMESYNOPSIS
DESCRIPTION
EXIT STATUS
SEE ALSO
NAME
RTCQuaternionDecomposition - structure that represents a quaternion decomposition of an affine transformation
SYNOPSIS
struct RTCQuaternionDecomposition
{
float scale_x, scale_y, scale_z;
float skew_xy, skew_xz, skew_yz;
float shift_x, shift_y, shift_z;
float quaternion_r, quaternion_i, quaternion_j, quaternion_k;
float translation_x, translation_y, translation_z;
};
DESCRIPTION
The struct RTCQuaternionDecomposition represents an affine transformation decomposed into three parts. An upper triangular scaling/skew/shift matrix
$$ S = \left( \begin{array}{cccc} scale_x & skew_{xy} & skew_{xz} & shift_x \\ 0 & scale_y & skew_{yz} & shift_y \\ 0 & 0 & scale_z & shift_z \\ 0 & 0 & 0 & 1 \\ \end{array} \right), $$
a translation matrix
$$ T = \left( \begin{array}{cccc} 1 & 0 & 0 & translation_x \\ 0 & 1 & 0 & translation_y \\ 0 & 0 & 1 & translation_z \\ 0 & 0 & 0 & 1 \\ \end{array} \right), $$
and a rotation matrix R , represented as a quaternion
quaternion ˜ r ˜ + quaternion ˜ i ˜ i + quaternion ˜ j ˜ i + quaternion ˜ k ˜ k
where i , j k are the imaginary quaternion units. The passed quaternion will be normalized internally.
The affine transformation matrix corresponding to a RTCQuaternionDecomposition is TRS and a point p = ( p ˜ x ˜, p ˜ y ˜, p ˜ z ˜, 1)ˆ T ˆ will be transformed as
p ′ = T R S p .
The functions rtcInitQuaternionDecomposition , rtcQuaternionDecompositionSetQuaternion , rtcQuaternionDecompositionSetScale , rtcQuaternionDecompositionSetSkew , rtcQuaternionDecompositionSetShift , and rtcQuaternionDecompositionSetTranslation allow to set the fields of the structure more conveniently.
EXIT STATUS
No error code is set by this function.
SEE ALSO
[rtcSetGeometryTransformQuaternion], [rtcInitQuaternionDecomposition]