Next: Using FFDs and
Up: Tools for Shape
Previous: Skeletons
Sometimes, skelton cannot capture desired shape change of an object.
Example: The ``sqaush and stretch'' of a bouncing
ball as it hits the ground.
Such global changes in shape can be expressed using a deformation.
A deformation
- Changes the space around an object
- Nonlinear transformation
- New coordinates for every point in space are determined
as functions of the old coordinates.
Process:
- Rectangular ``squish box'' is placed around part of the
model to be animated.
- The coordinates of all points
within the box are determined relative to the frame given by the
box. Suppose a vertex P can be expressed as [u,v,w] relative to
the coordinates of the box.
- The new coordinates of P are given by
a tensor product Bézier spline with control points
.
- If the have coordinates
the transformation
is given by the identity:
Normally,
then, the control points are initially set to these values and
are moved to effect a deformation.
- Continuity conditions can be enforced.
Example: A hand is being deformed but the arm is not.
The control points along the edge of
the box that cuts the wrist should not be moved, nor the next
layer.
This maintains both position and derivative continuity across
the wrist.
- The object should be finely tesselated or radical deformations will not
work properly.
For realistic animation, typically only small deformations are used.
CS488/688: Introduction to Interactive Computer Graphics
University of Waterloo
Computer Graphics Lab
cs488@cgl.uwaterloo.ca