Graphics Reference
In-Depth Information
which is the matrix for rotating a point 2
θ
about the origin. Now let's do the same
for a 3D rotor.
12.5.2 3D Rotor
We begin with a unit bivector defining the plane
m
ˆ
∧ ˆ
n
, about which the rotation is
effected, where
ˆ
m
=
m
1
e
1
+
m
2
e
2
+
m
3
e
3
n
ˆ
=
n
1
e
1
+
n
2
e
2
+
n
3
e
3
and we deliberately define
R
θ
= ˆ
n
m
ˆ
where
θ
is half the angle between
m
and
ˆ
n
.
ˆ
The rotor will take the form
R
θ
=
s
−
x
e
23
−
y
e
31
−
z
e
12
which permits us to define
R
θ
=
ˆ
ˆ
m
n
which is
R
θ
=
+
x
e
23
+
y
e
31
+
s
z
e
12
.
Therefore, given an arbitrary vector
v
=
v
1
e
1
+
v
2
e
2
+
v
3
e
3
the rotated vector is given by
R
θ
vR
θ
.
To keep the algebra simple it is best to compute the individual components of
v
using
R
θ
v
1
e
1
R
θ
,
R
θ
v
2
e
2
R
θ
v
=
and
R
θ
v
3
e
3
R
θ
:
R
θ
v
1
e
1
R
θ
=
(s
−
x
e
23
−
y
e
31
−
z
e
12
)v
1
e
1
(s
+
x
e
23
+
y
e
31
+
z
e
12
)
=
v
1
(s
e
1
−
x
e
123
−
y
e
3
+
z
e
2
)(s
+
x
e
23
+
y
e
31
+
z
e
12
)
=
v
1
s
2
−
z
2
e
1
+
2
(xz
−
sy)
e
3
+
x
2
−
y
2
2
(xy
+
sz)
e
2
+
but
s
2
x
2
y
2
z
2
+
=
1
−
−
therefore,
R
θ
v
1
e
1
R
†
v
1
1
2
y
2
z
2
e
1
+
sy)
e
3
.
θ
=
−
+
2
(xy
+
sz)
e
2
+
2
(xz
−