Game Development Reference
In-Depth Information
This gives us nine equations, all of which must be true for M to be orthog-
onal:
m 11 m 11 + m 12 m 12 + m 13 m 13 = 1,
(6.8)
Conditions satisfied by
an orthogonal matrix
m 11 m 21 + m 12 m 22 + m 13 m 23 = 0,
m 11 m 31 + m 12 m 32 + m 13 m 33 = 0,
m 21 m 11 + m 22 m 12 + m 23 m 13 = 0,
m 21 m 21 + m 22 m 22 + m 23 m 23 = 1,
(6.9)
m 21 m 31 + m 22 m 32 + m 23 m 33 = 0,
m 31 m 11 + m 32 m 12 + m 33 m 13 = 0,
m 31 m 21 + m 32 m 22 + m 33 m 23 = 0,
m 31 m 31 + m 32 m 32 + m 33 m 33 = 1.
(6.10)
Let the vectors r 1 , r 2 , and r 3 stand for the rows of M :
r 1 =
m 11 m 12 m 13
,
r 2 =
m 21 m 22 m 23
,
r 3 =
m 31 m 32 m 33
,
2
4
3
r 1
5
M =
r 2
.
r 3
Now we can rewrite the nine equations more compactly:
r 1 r 1 = 1,
r 1 r 2 = 0,
r 1 r 3 = 0,
Conditions satisfied by
an orthogonal matrix
r 2 r 1 = 0,
r 2 r 2 = 1,
r 2 r 3 = 0,
r 3 r 1 = 0,
r 3 r 2 = 0,
r 3 r 3 = 1.
This notational changes makes it easier for us to make some interpretations.
First, the dot product of a vector with itself is 1 if and only if the
vector is a unit vector. Therefore, the equations with a 1 on the right-
hand side of the equals sign (Equations (6.8), (6.9), and (6.10)) will
be true only when r 1 , r 2 , and r 3 are unit vectors.
Second, recall from Section 2.11.2 that the dot product of two vectors
is 0 if and only if they are perpendicular. Therefore, the other six
equations (with 0 on the right-hand side of the equals sign) are true
when r 1 , r 2 , and r 3 are mutually perpendicular.
So, for a matrix to be orthogonal, the following must be true:
Search WWH ::




Custom Search