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
Search WWH ::




Custom Search