Graphics Reference
In-Depth Information
We evaluate the left side of the equation
⎡
⎤
10 0
0
√
2
√
2
2
⎣
⎦
RS
=
−
0
√
2
√
2
2
and the right side
⎡
⎤
s
1
r
11
s
1
r
12
s
1
r
13
s
2
r
21
s
2
r
22
s
2
r
23
s
3
r
31
s
3
r
32
s
3
r
33
⎣
⎦
.
S
R
=
We compare entries from the first row and use the fact that
R
is orthonormal.
We get a system of equations
⎧
⎨
1=
s
1
r
11
,
0=
s
1
r
12
,
0=
s
1
r
13
,
r
11
2
+
r
12
2
+
r
13
2
=1
,
⎩
which we solve for
s
1
, thus yielding
s
1
=
1.
Considering the second and the third rows in a similar way, we get
s
2
=
±
±
√
2
√
5
2
√
2
√
5
and
s
3
=
2
.
Since det(
AB
)=det(
A
)det(
B
)and
RS
=
S
R
and det(
S
)=
s
1
s
2
s
3
,
±
det(
R
)=
det(
R
)det(
S
)
det(
S
)
1
·
(1
·
2
·
1)
4
5
±
=
=
=1,
√
2
√
5
2
√
2
√
5
2
±
1
·
·
which contradicts the assumption of
R
being an orthonormal rotation matrix
and finishes the proof.
3.2.3 Skew Problem
Let us go back for a minute to the example shown in Figure 3.1. If we change
the
x
component of scale of object A, we will get a situation that is depicted by
Figure 3.2.
Applying a
nonuniform scale
(coming from object A) that follows a local
rotation (objects B and C) will cause objects (B and C) to be
skewed
.Skew
can appear during matrices composition but it becomes a problem during the
decomposition, as it cannot be expressed within a single TRS node. We give an
approximate solution to this issue in Section 3.2.4.