Game Development Reference

In-Depth Information

This produces a vector orthogonal to both
a
and
b
. The magnitude of the cross

product is

sin
θ,

where
θ
is the angle between
a
and
b
. The direction of the cross product is

determined by the right-hand rule: taking your right hand, point the first finger in

the direction of
a
and the middle finger along
b
. Your extended thumb will point

along the cross product.

Two useful identities to be aware of are the anticommutativity and bilinearity

of the cross product:

a

×

b

=

a

b

a
,

a
×
(
s
b
+
t
c
)=
s
(
a
×
b
)+
t
(
a
×
c
)
.

a

×

b
=

−

b

×

1.2.5 Triple Product

There are two possible triple products for vectors. The first uses both the dot

product and the cross product and produces a scalar result. Hence it is known as

the
scalar triple product
:

c
)
.

The scalar triple product measures the signed volume of the parallelepiped bounded

by the three vectors
a
,
b
,and
c
. Thus, the following identity holds:

s
=
a

·

(
b

×

a

·

(
b

×

c
)=
b

·

(
c

×

a
)=
c

·

(
a

×

b
)
.

The second triple product uses only the cross product and produces a vector result.

It is known as the
vector triple product
:

v
=
a

×

(
b

×

c
)
.

The vector triple product is useful for creating an orthogonal basis from linearly

independent vectors. One example basis is
b
,
b

×

×

×

c
).

The following relationship between the vector triple product and dot product

is also helpful in derivations for rigid-body dynamics and geometric algorithms:

c
,and
b

(
b

a
×
(
b
×
c
)=(
a
·
c
)
b
−
(
a
·
b
)
c
.

1.2.6 Derivatives

We mentioned that vectors can act to represent rate of change. In particular, a

vector-valued function is the derivative of a point-valued function. If we take the

standard equation for a derivative of a function as in

x
(
t
+
h
)

−

x
(
t
)

x
(
t
) = lim

h→
0

,

h