Game Development Reference

In-Depth Information

The correspondence to the quaternion algebra is then

Q

(
p
)

Q

(
q
)=

Q

(
pq
)

and

P

(
p
)

P

(
q
)=

P

(
qp
)
,

as well as

(
q
)
T

(
q
)
T
.

(
q
†
)=

(
q
†
)=

Q

Q

P

P

and

The two matrices

Q
(
q
) and

P
(
q
) also commute so that

Q

(
p
)

P

(
q
)=

P

(
q
)

Q

(
p
)
,

as we can easily verify. This representation makes it easy to compute the Jacobian

matrices related to quaternion constraints.

We need an expression for
qq
†
for unit quaternions

=1, which are the

ones corresponding to orthonormal transforms, i.e., rotations. That will connect

the changes in the relative quaternions to the angular velocities of the connected

rigid bodies. Since
q
†
q
=1always, we have

d

q

dt
q
†
q
=0=
qq
†
+
qq
†

=
qq
†
+
qq
†
†
,

and therefore

1

2
qq
†
=

w
†

w
=

−

is purely imaginary and so

w
=
0

ω

=

T
ω,

P

3
is the angular velocity expressed in the inertial frame. So now, we

where
ω

∈
R

have

1

2
P

T
ω
=
1

q
†
q
=

(
q
)
T
q
=

T
(
q
)
ω

Q

2
G

and

(9.7)

1

2
P

1

2
E

q
†
q
=

(
q
)
q
†
=

T
ω
=

T
(
q
)
ω.

P

−

−

These identities are usually summarized as

q
=
1

2
qw
.

(9.8)

Note that the definition in Equation (9.8) is sometimes written the other way

round, as is the case when defining the angular velocity vector in the body frame

or when using left-handedmultiplication, which is often used in three-dimensional

graphics. Beware.