Graphics Reference
In-Depth Information
Fig. 12.3
Reflecting a vector
in a mirror
12.4 3D Rotations
Figure
12.4
shows a plan view of two mirrors
M
and
N
with their respective unit
normal vectors
m
and
ˆ
n
separated by an angle
θ
. The plane containing
ˆ
m
and
ˆ
n
is
ˆ
readily defined by their wedge product
m
ˆ
∧ ˆ
n
.Using(
12.6
) we can compute vector
a
's reflection by
b
=−ˆ
ma
m
ˆ
(12.7)
and
b
's reflection by
a
=−ˆ
nb
n
.
ˆ
(12.8)
Substituting (
12.7
)in(
12.8
) we obtain
a
= ˆ
n
,
(12.9)
which is extremely compact. However, we must remember that
a
is rotated twice
the angle separating the mirrors, i.e. 2
θ
. Within geometric algebra
n
ma
ˆ
m
ˆ
ˆ
m
is called a
rotor
, and is represented by
R
, which means that using the reverse operation
n
ˆ
ˆ
†
we
can write (
12.9
)as
a
=
RaR
†
(12.10)
which reminds us of the way quaternions work.
To illustrate the action of (
12.10
) consider the 2D scenario shown in Fig.
12.5
with two mirrors
M
and
N
and their unit normal vectors
ˆ
ˆ
m
,
n
and position vector
p
:
Fig. 12.4
Rotating a point by
a double reflection