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.