RTCQuaternionDecomposition.3embree3 - Man Page
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]