next up previous
Next: Using FFDs and Up: Tools for Shape Previous: Skeletons

Free-Form Deformations

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

Process:

  1. Rectangular ``squish box'' is placed around part of the model to be animated.
  2. 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.
  3. The new coordinates of P are given by a tensor product Bézier spline with control points .
  4. 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.

  5. 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.

  6. 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