Graphics Reference
In-Depth Information
X s
l u
Figure 7.9. A simplified kinematic model of an arm.
The shoulder is a spherical joint fixed in place and
the elbow is a revolute joint.
l f
X w
X e
more useful to animators, since the skeleton and joints can be mapped onto an ani-
mated character. Joints with zero degrees of freedom at the end of each kinematic
chain (i.e., the head, hands, and balls of the feet) are called end effectors , a term from
robotics.
We also need to specify the absolute orientation and position in world coordinates
of the root of the body, usually chosen as the center of gravity near the pelvis (the large
gray circle in Figure 7.8 ). In total, a kinematicmodel of the body typically has between
thirty and fifty degrees of freedom (i.e., independent parameters), depending on
the level of detail. The bone lengths of the skeleton may also be treated as degrees
of freedom to be estimated, though they are often estimated once prior to motion
capture and treated as constant throughout the session.
We use forward kinematics to determine the 3D coordinates of a point on the
skeleton given the joint angles of the kinematic model; we can think of this as a
change of coordinates. For example, consider the simple model of the human arm
in Figure 7.9 , which has a spherical joint at the shoulder and a revolute joint at the
elbow, specified by rotation matrices R s and R e respectively. Suppose the length of
the upper arm is given by l u and the length of the forearm is given by l f . We assume
that the shoulder is fixed in place at the world origin and has a coordinate system
aligned with the world coordinate system.
We compute the 3D position of the wrist joint X w given values of R s , R e , l u , and
l f by composing two transformations: one to determine the elbow's position based
on the shoulder location/rotation and upper arm length, and one to determine the
wrist's position based on the elbow location/rotation and forearm length:
l f
0
0
l u
0
0
%
+
&
X w
=
R s
R e
(7.7)
That is, if all the angles are 0, the armpoints straight along the world x -axis and the
wrist is located at
. If the elbow angle is 0, the arm points straight along
the axis specified by the first column of R s .
Forward kinematics for the full kinematic model of the body are similar; the world
coordinates of a point on the skeleton can be determined by following the kinematic
chain from the root along the bones to the given point. We simply apply the general
formula for a kinematic chain,
(
l u
+
l f ,0,0
)
R K O K
01
R 2 O 2
01
R K 1
K
O K 1
K
=
•···•
(7.8)
0
1
Search WWH ::




Custom Search