Manpages - RTCQuaternionDecomposition.3embree3
Table of Contents
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]