i
i
i
i
i
i
i
i
11.3. Robotic Motion 267
problem: how does the rendering software animate the virtual
figure as it reaches out to grasp your hand and shake it?
Thesoftwarewillknowafewthingsaboutthetask. Thecharacterwill
be standing on the virtual floor, so the position of its feet will be well defined.
It also must grasp your hand at the point in virtual space where the motion
sensor thinks it is located. This leaves a lot of freedom for the software, but
there are other constraints which should be adhered to if realism is to be
maintained. For example, the virtual character’s arms cannot change length
or pass through the character’s body. The angle of the character’s joints, elbow
and shoulders must also conform to some limits; otherwise, it could look like
a very contorted handshake indeed! To overcome these difficulties, we will
need to do the same thing that computer animators do. We need to build a
skeleton into the virtual character and animate it using inverse kinematics.
A large number of animal species have their movements primarily con-
trolled by some form of skeleton that is in essence hierarchical. For example,
a finger is attached to a hand, which is connected to a lower arm, etc. The
skeleton imposes constraints on how an animal behaves (it cannot suddenly
double the length of its legs, for example). For animation purposes, the idea
of a skeleton is very useful. In traditional clay animation, a rigid wire skele-
ton is embedded in the clay, and this allows the animator to manipulate the
model in a realistic way. (The Oscar-winning Wallace and Gromit are excel-
lent examples of clay characters with a wireframe skeleton.)
In computer animation, the skeleton fulfills two important functions:
1. It provides a rigid framework which can be pivoted, twisted and ro-
tated. Vertices and polygons are assigned to follow a specific bone in
the skeleton, and thus the model will appear to take up various poses,
just as the clay model does.
2. The hierarchical nature of the skeleton allows for natural behavior. For
example, pivoting the upper arm about the shoulder in a model of a
human figure will cause the lower arm and hand to execute the same
pivot without the animator having to do it explicitly.
Consider the example shown in Figure 11.3, where the model is pictured
on the left, in the center its skeleton is shown as a thick black line and on the
right is a diagrammatic representation of the hierarchical links in the skeleton.
Using the skeleton, one has the option to pivot parts of the model about
the end points (nodes) of any of its bones. Taking the model in Figure 11.3 as