3.2 State of the art
3.2.1 Non-physically based methods
Twenty years ago, the most traditional methods for computer graphics modeling were kinematic, i.e., models were either stationary or subjected to motion according to prescribed trajectories. Since the work of [Terzopoulos et al., 1987], the physics based methods (section 3.2.2) became popular and now are used for many applications. How-ever, the non-physically based methods have also been evolving. They are still widely used, and there are various applications to which they fit better than physically based models, especially when a high level of geometric control is required, like in geometric design and character animation.
Non-physically based methods are usually based heuristic geometric techniques or use a sort of simplified physical principles to achieve a reality-looking effect. They apply a kind of clay approach, allowing a user to deform the space containing the objects or manipulating operators like bend and twist onto primitives or abstract data like in [Barr, 1984].
The remaining of this section brings an overview on the principal non-physically based deformation methods.
3.2. State of the art
Figure 3.1: Examples of splines (adapted from several sources).
3.2.1.1 Splines
Mainly applied in the field of computer aided geometric design, spline techniques are a tool for creating and interpolating curves and surfaces as well as for modifying and refining these objects when needed. The spline technique is based on the representa-tion of both planar and 3D curves and surfaces by a set of control points also called landmarks (details in [Bartels et al., 1987]). See figure 3.1 for examples of splines.
The first spline technique to appear in computer graphics literature was theB´ezier spline, based on B´ezier curves. B´ezier curves are widely used in computer graphics to model smooth curves. The curve is completely contained in the convex hull of its control points, and then the points can be graphically displayed and used to manipulate the curve intuitively. Affine transformations such as translation, scaling and rotation can be applied on the curve by applying the respective transform on the control points of the curve. B´ezier splines are then sets of low order B´ezier curves patched together (obeying certain smoothness conditions) to represent more complex shapes.
Basis splines (B-splines) are a generalization of B´ezier curves that can be further generalized to NURBS. They depend on the k nearest control points at any point t.
Combining B-splines allow creating B-spline surfaces.
Non-uniform rational basic splines (NURBS) are also a generalization of B´ezier-splines, with the primary difference being the weighting of the control points which makes them rational (non-rational B-splines are a special case of rational B-splines) [Piegl and Tiller, 1995].
Chapter 3. Deformation Model
(a) Undeformed plastic (b) Deformed plastic
Figure 3.2: A physical analogy for free-form deformation. A parallelepiped of trans-parent plastic material with objects embedded; deforming the plastic block causes the objects to deform (extracted from [Sederberg and Parry, 1986]).
(a) A cylindrical lattice around a planar surface
(b) The deformed lattice and the deformed surface
(c) A tablecloth
Figure 3.3: A non-parallelepipedical FFD (extracted from [Coquillart, 1990]).
3.2.1.2 Free-form deformation
FFD is the acronym for free-form deformation. This technique was first introduced by [Sederberg and Parry, 1986], and can be applied on both CSG1 and B-rep. It consists of deforming the space embedding the objects. A good physical analogy to explain how it works is to consider a parallelepiped of a transparent plastic material in which one or more objects are embedded, like in figure 3.2. When the plastic parallelepiped is deformed, the objects inside deform in consequence.
Mathematically, a local-coordinate system and a grid of control points is distributed on the parallelepiped. The control points are used as coefficients of a trivariate tensor product Bernstein polynomial (like in [Sederberg and Parry, 1986]) or another poly-nomial base, like tensor product B-splines, for example. Then, the deformed position of any point is found first computing its coordinates on the local system, and finally evaluating the polynomial equation.
Extensions have been proposed to overcome limitations of classical FFD.
[Coquil-1Constructive Solid Geometry
3.2. State of the art
Figure 3.4: Animating a paper sheet (adapted from [Coquillart and Janc´ene, 1991]).
lart, 1990] proposed an extension allowing to design arbitrarily shaped bumps and to bend surfaces along arbitrary shaped curves. It is based on non-parallelepidedical FFD lattices, like cylindrical or spherical lattices (see figure 3.3. In [Coquillart and Janc´ene, 1991], the authors introduce the animated free-form deformation (AFFD).
Extending the classical FFD to animation, the technique allows interactive animation of deformable objects (see figure 3.4). The result is that one can produce complex animation by simple key-frame of the FFD control points, for example. [Chang and Rockwood, 1994] apply repeatedly affine transformations in space. Such transforma-tions are performed on a user-defined curve, a B´ezier for instance, which plays the role of an FFD lattice. In addition to the reduced FFD, they also generalize the de Casteljau algorithm for curve evaluation. [Moccozet and Thalmann, 1997] presented a generalized method for free-form deformation that combines the traditional FFD model with techniques of scattered data interpolation based on Delaunay and Drichlet-Voronoi diagrams. They applied the method to model deformations around a human hand model.
3.2.1.3 Other techniques
Splines and FFD based techniques are the most important in non-physically based deformation. However, other techniques exist. The metaballs model is based on implicit surfaces typically defined from simple building block functions called primitives. The final object is constructed by blending the primitives, and as they move and deform, the blended surface is updated. See figure 3.5 for an example.
In the basic formulation proposed by [Blinn, 1982], some blobs are defined by a set of pointsPi(xi, yi, zi) where each point represents the source of a potential field. Each source is defined by a field functionFi(x, y, z) that mapsR3toR(or a subset ofR). At a given pointP(x, y, z) of the euclidian space, the fields of all the sources are computed and added together, leading to a global field function F(x, y, z). [Wilhelms, 1994]
used implicit surfaces to simulate muscles, and [Turner, 1995] developed a system to
Chapter 3. Deformation Model
Figure 3.5: An example of metaballs modeling (adapted from [Nedel and Thalmann, 1998]).
construct and animate 3D characters based on the elastic surface layer model; muscles were modelled as deformable implicit surfaces (spheres, cylinders and super-ellipses).
Besides metaballs, we can also mention other techniques like the energy constraints method [Witkin et al., 1987] and the active contour models (Snakes) [Kass et al., 1988].
[Scheepers et al., 1997] and [Wilhelms, 1997] applied ellipsoids to model animal and human musculature. It is a natural choice because an ellipsoid approximates fairly well the appearance of a fusiform muscle. Ellipsoids can then be scaled on one of their axis depending on the skeleton motion, and muscle volume can be controlled compensating on the other axes the displacement on the first one (see figure 3.6). More recently, [M¨uller et al., 2005] presented a meshless deformation approach based on shape matching. The approach is very much geometrically motivated, which characterizes a non-physically based approach, even if the objects are embedded in a rather physical environment. Objects topology is not taken into account, they being seen as point clouds. The main idea is to replace the energies and forces of a physical method by respectively geometric constraints and distances of current positions to goal positions.
Goal positions are determined by a shape matching with an undeformed rest state of the point cloud. Because the points are already driven to well defined locations, no explicit integration is necessary. The approach is particularly interesting for games (see figure 3.7).