1RTCQuaternionDecompositionE(m3b)ree Ray Tracing KernelRsTC3QuaternionDecomposition(3)
2
3
4
5   NAME
6              RTCQuaternionDecomposition - structure that represents a quaternion
7                decomposition of an affine transformation
8
9   SYNOPSIS
10              struct RTCQuaternionDecomposition
11              {
12                float scale_x, scale_y, scale_z;
13                float skew_xy, skew_xz, skew_yz;
14                float shift_x, shift_y, shift_z;
15                float quaternion_r, quaternion_i, quaternion_j, quaternion_k;
16                float translation_x, translation_y, translation_z;
17              };
18
19   DESCRIPTION
20       The  struct RTCQuaternionDecomposition represents an affine transforma‐
21       tion  decomposed  into  three  parts.   An   upper   triangular   scal‐
22       ing/skew/shift matrix
23
24              $$   S  =  \left(  \begin{array}{cccc}  scale_x  &  skew_{xy}  &
25              skew_{xz} & shift_x \\ 0 & scale_y & skew_{yz} & shift_y \\ 0  &
26              0  &  scale_z & shift_z \\ 0 & 0 & 0 & 1 \\ \end{array} \right),
27              $$
28
29       a translation matrix
30
31              $$ T = \left( \begin{array}{cccc} 1 & 0 & 0 & translation_x \\ 0
32              &  1 & 0 & translation_y \\ 0 & 0 & 1 & translation_z \\ 0 & 0 &
33              0 & 1 \\ \end{array} \right), $$
34
35       and a rotation matrix R, represented as a quaternion
36
37       quaternion~r~ + quaternion~i~ i + quaternion~j~ i + quaternion~k~ k
38
39       where i, j k are the imaginary quaternion units.  The passed quaternion
40       will be normalized internally.
41
42       The affine transformation matrix corresponding to a RTCQuaternionDecom‐
43       position is TRS and a point p = (p~x~, p~y~, p~z~, 1)^T^ will be trans‐
44       formed as
45              p′ = T R S p.
46
47       The  functions  rtcInitQuaternionDecomposition, rtcQuaternionDecomposi‐
48       tionSetQuaternion, rtcQuaternionDecompositionSetScale, rtcQuaternionDe‐
49       compositionSetSkew,  rtcQuaternionDecompositionSetShift, and rtcQuater‐
50       nionDecompositionSetTranslation allow to set the fields of  the  struc‐
51       ture more conveniently.
52
53   EXIT STATUS
54       No error code is set by this function.
55
56   SEE ALSO
57       [rtcSetGeometryTransformQuaternion], [rtcInitQuaternionDecomposition]
58
59
60
61                                                 RTCQuaternionDecomposition(3)
Impressum