i
i
i
i
i
i
i
i
6 1. Introduction
where i denotes the row and j the column, as in Equation 1.2:
M =
⎛
⎝
m
00
m
01
m
02
m
10
m
11
m
12
m
20
m
21
m
22
⎞
⎠
. (1.2)
The following notation, shown in Equation 1.3 for a 3×3matrix,isusedto
isolate vectors from the matrix M: m
,j
represents the jth column vector
and m
i,
represents the ith row vector (in column vector form). As with
vectors and points, indexing the column vectors can also be done with x,
y, z, and sometimes w, if that is more convenient:
M =
m
,0
m
,1
m
,2
=
m
x
m
y
m
z
=
⎛
⎜
⎜
⎝
m
T
0,
m
T
1,
m
T
2,
⎞
⎟
⎟
⎠
. (1.3)
A plane is denoted π : n · x + d = 0 and contains its mathematical
formula, the plane normal n and the scalar d. The normal is a vector
describing what direction the plane faces. More generally (e.g., for curved
surfaces), a normal describes this direction for a particular point on the
surface. For a plane the same normal happens to apply to all its points.
π is the common mathematical notation for a plane. The plane π is said
to divide the space into a positive half-space,wheren · x + d>0, and a
negative half-space,wheren · x + d<0. All other points are said to lie in
the plane.
A triangle can be defined by three points v
0
, v
1
,andv
2
and is denoted
by v
0
v
1
v
2
Table 1.2 presents a few additional mathematical operators and their
notation. The dot, cross, determinant, and length operators are covered
in Appendix A. The transpose operator turns a column vector into a row
vector and vice versa. Thus a column vector can be written in compressed
form in a block of text as v =(v
x
v
y
v
z
)
T
. Operator 4 requires further
explanation: u ⊗v denotes the vector (u
x
v
x
u
y
v
y
u
z
v
z
)
T
, i.e., component
i of vector u and component i of vector v are multiplied and stored in
component i of a new vector. In this text, this operator is used exclusively
for color vector manipulations. Operator 5, introduced in Graphics Gems
IV [551], is a unary operator on a two-dimensional vector. Letting this
operator work on a vector v =(v
x
v
y
)
T
gives a vector that is perpendicular
to v, i.e., v
⊥
=(−v
y
v
x
)
T
.Weuse|a| to denote the absolute value of the
scalar a, while |A| means the determinant of the matrix A. Sometimes,
we also use |A| = |abc| =det(a, b, c), where a, b,andc are column
vectors of the matrix A. The ninth operator, factorial, is defined as shown