Graphics Reference
In-Depth Information
Inline Exercise 7.4:
Let
f
:
R
2
R
be a linear function. Let
a
=
f
(
e
1
)
,
b
=
f
(
e
2
)
, and
w
=
ab
T
. Show that for any vector
v
,wehave
f
(
v
)=
→
φ
w
(
v
)
.
You'll need to use the fact that
f
is linear.
The collection of
all
such functions, that is,
R
2
=
R
2
{φ
w
:
w
∈
}
,
(7.62)
forms a vector space: The sum of any two linear functions is again linear; the
zero element of the vector space is
φ
−
w
.
Scalar multiplication deserves a brief comment. What does it mean to multiply a
function from
R
2
to
R
by, say, 11? If
f
is such a function, then
g
=
11
f
is the
function defined by
φ
0
; and the additive inverse of
φ
w
is
g
:
R
2
→
R
:
v
→
11
f
(
v
)
,
(7.63)
that is, one multiplies the output of
f
by 11.
R
2
. Explain why 3
Inline Exercise 7.5:
Suppose that
w
∈
φ
w
=
φ
3
w
.
This space of linear functions from
R
2
to
R
is called the
dual space
of
R
2
,
and its elements are sometimes called
dual vectors
or
covectors.
This same idea
generalizes to
R
3
or even
R
n
. There's an obvious correspondence between ele-
ments of
R
2
and elements of
R
2
∗
, namely we can associate the vector
w
with the
covector
φ
w
. So why not just call them “the same”? It will turn out that treating
them distinctly has substantial advantages; in particular, we'll see that when we
transform all the elements of a vector space by some operation like rotation, or
stretching the
y
-axis, the covectors transform
differently
in general.
In coordinate form, if
w
=
ab
T
, then the function
φ
w
can be written
R
:
x
y
→
ab
x
y
.
φ
w
:
R
2
→
(7.64)
Some topics therefore identify covectors with row vectors, and ordinary vectors
with column vectors.
Note that in designing software, just as it made sense to distinguish
Point
and
Vector
, it makes sense to have a
CoVector
class as well.
Covectors are particularly useful in representing triangle normals (the normal
to a triangle is a nonzero vector perpendicular to the plane of the triangle, and is
used in computing things like how brightly the triangle is lit by light coming in a
certain direction). Although people often talk about normal vectors, such vectors
are almost always used as
covectors
. To be precise, when we have a vector
n
normal to a triangle, we will almost never add
n
to another vector or a point, but
we'll often use it in expressions like
n
might be, for instance, the
direction that light is arriving from). Thus, it's really the covector
·
(where
→
·
u
n
u
(7.65)
that's of interest.