Graphics Reference
In-Depth Information
⎡
⎤
u
v
0
⎣
⎦
,
M
(10.97)
we could equally well compute
⎡
⎤
⎡
⎤
m
1,1
m
1,2
0
u
v
0
⎣
⎦
⎣
⎦
,
m
2,1
m
2,2
0
(10.98)
0
0
0
and the result would have a 0 in the third place. In fact, we could transform such
vectors directly as two-coordinate vectors, by simply computing
m
1,1
u
v
.
m
1,2
(10.99)
m
2,1
m
2,2
For this reason, it's sometimes said for an affine transformation of the Euclidean
plane represented by multiplication by a matrix
M
that the associated transforma-
tion of vectors is represented by
M
=
m
1,1
.
m
1,2
(10.100)
m
2,1
m
2,2
What about covectors? Recall that a typical covector could be written in the
form
φ
w
:
R
2
R
2
:
v
→
→
w
·
v
,
(10.101)
where
w
was some vector in
R
2
. We'd like to transform
φ
w
in a way that's con-
sistent with
T
. Figure 10.19 shows why: We often build a geometric model of
some shape and compute all the normal vectors to the shape. Suppose that
n
is
one such surface normal. We then place that shape into 3-space by applying some
“modeling transformation”
T
M
to it, and we'd like to know the normal vectors to
that transformed shape so that we can do things like compute the angle between a
light-ray
v
and that surface normal. If we call the transformed surface normal
m
,
T
M
(P)
P
m
u
n
Mu
(a)
(b)
Figure 10.19: (a) A geometric shape that's been modeled using some modeling tool; the
normal vector
n
at a particular point P has been computed too. The vector
u
is tangent to
the shape at P. (b) The shape has been translated, rotated, and scaled as it was placed into
a scene. At the transformed location of P, we want to find
the
normal vector
m
with the
property that its inner product with the transformed tangent
Mu
is still 0.