Game Development Reference

In-Depth Information

1.4.4

Inverse and Identity

Just as we can multiply a scalar by 1 to no effect, there is an identity transforma-

tion that produces the original vector. This is represented by the matrix
E
,which

is a square diagonal matrix, sized appropriately to perform the multiplication on

the vector and with all 1s on the diagonal. For example, the following will work

for vectors in

3
:

R

⎡

⎤

100

010

001

⎣

⎦
.

E
=

Intuitively, this makes sense. If we examine the columns, we will see they are just

e
1
,
e
2
,and
e
3
, thereby transforming the basis vectors to themselves.

Note that the identity matrix is often represented in other texts as
I
.Weare

using
E
to distinguish it from the inertial tensor, as discussed below.

The equivalent to standard division is the inverse. The inverse reverses the

effect of a given transformation, as represented by the following:

x
=
A
−
1
Ax
.

However, just as we can't divide by 0, we can't always find an inverse for a

transformation. First, only transformations from an
n
-dimensional space to an

n
-dimensional space have inverses. And of those, not all of them can be inverted.

For example, the transformation

(
x
)=
0
has no inverse.

Discussing how to invert matrices in a general manner is out of the scope of

this chapter; it is recommended that the reader see [Anton and Rorres 94], [Golub

and Van Loan 93], or [Press et al. 93] for more information.

T

1.4.5 Affine Transformations

An affine transformation on a point
x
performs the basic operation

z
=
Ax
+
y
,

where
A
and
y
are a matrix and vector, respectively, of the appropriate sizes to

perform the operation. We can also represent this as a matrix calculation:

z

1

=
Ay

0
T

x

1

.

1

In general, in physical simulations, we are concerned with two affine transfor-

mations: translation (changing position) and rotation (changing orientation). (See