Some
Notes
on
Unit
Quaternions
and
Rotation
Berthold
K.P.
Horn
Copyright
©
2001
A
quaternion
can
be
conveniently
thought
of
as
either
(i)
a
vector
with
four
components;
or
(ii)
a
scalar
plus
a
vector
with
three
components;
or
(iii)
a
complex
number
with
three
different
“imaginary”
parts.
Here
are
three
quaternions
written
in
the
“hyper
complex”
number
form:
˚p
=
p
0
+
ip
1
+
jp
2
+
kp
3
˚
q
=
q
0
+
iq
1
+
jq
2
+
kq
3
˚
r
=
r
0
+
ir
1
+
jr
2
+
kr
3
The
rules
for
multiplication
are
i
2
=
j
2
=
k
2
= −
1
(reminiscent
of
the
square
of
the
imaginary
unit
of
complex
numbers)
and
ij
= −
ji
=
k
jk
= −
kj
=
i
ki
= −
ik
=
j
(reminiscent
of
pairwise
cross
products
of
unit
vectors
in
the
directions
of
orthogonal
coordinate
system
axes).
Then,
if
˚
=
p˚
r
˚q,
we
obtain
from
the
rules
above
⎡
⎤
⎡
⎤ ⎡
⎤
r
0
p
0
−
p
1
−
p
2
−
p
3
q
0
⎢
⎥
⎢
⎥ ⎢
⎥
⎢
r
1
⎥
⎢
p
1
p
0
−
p
3
p
2
⎥ ⎢
q
1
⎥
⎢
⎥
=
⎢
⎥ ⎢
⎥
⎣
r
2
⎦
⎣
p
2
p
3
p
0
−
p
1
⎦ ⎣
q
2
⎦
r
3
p
3
−
p
2
p
1
p
0
q
3
or
˚
q
r
=
P
˚
which
can
also
be
written
in
another
way
⎡
⎤
⎡
⎤ ⎡
⎤
r
0
q
0
−
q
1
−
q
2
−
q
3
p
0
⎢
⎥
⎢
⎥ ⎢
⎥
⎢
r
1
⎥
⎢
q
1
q
0
q
3
−
q
2
⎥ ⎢
p
1
⎥
⎢
⎥
=
⎢
⎥ ⎢
⎥
⎣
r
2
⎦
⎣
q
2
−
q
3
q
0
q
1
⎦ ⎣
p
2
⎦
r
3
q
3
q
2
−
q
1
q
0
p
3
or
∗
r
=
Q
p
˚
˚
These
equations
spell
out
in
detail
how
to
multiply
two
quaternions.
Im
portantly,
multiplication
is
not
commutative.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
(
)
(
)
2
Note
that
the
matrices
appearing
above
are
orthogonal,
in
fact
PP
T
=
p
·
p
) I
where
I
is
the
4
×
4
identity
matrix.
The
above
gives
two
use
(
˚
˚
ful
isomorphisms
between
quaternions
(˚
q
)
with
orthogonal
4
×
4
p
and
˚
matrices
(
P
and
Q
∗
)
—
one
for
“premultiplication”
and
one
for
“post
multiplication.”
“Scalar
plus
Vector”
notation
Using
the
more
compact
“scalar
plus
vector”
notation,
we
can
write,
˚
q
=
(q,
q
),
and
˚
p
=
(p,
p
),
˚
This is the end of the preview.
Sign up
to
access the rest of the document.
 Spring '04
 BertholdHorn
 Complex number, Quaternions and spatial rotation, unit quaternion

Click to edit the document details