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