quasi-rigid objects in contact - computer...

11
Eurographics/ACM SIGGRAPH Symposium on Computer Animation (2004) R. Boulic, D. K. Pai (Editors) Quasi-Rigid Objects in Contact Mark Pauly 1 Dinesh K. Pai 2 Leonidas J. Guibas 1 1 Computer Science Department, Stanford University, Stanford CA 94305, USA 2 Computer and Information Sciences, Rutgers University, Piscataway, NJ 08854, USA Abstract We investigate techniques for modeling contact between quasi-rigid objects – solids that undergo modest deforma- tion in the vicinity of a contact, while the overall object still preserves its basic shape. The quasi-rigid model com- bines the benefits of rigid body models for dynamic simulation and the benefits of deformable models for resolving contacts and producing visible deformations. We argue that point cloud surface representations are advantageous for modeling rapidly varying, wide area contacts. Using multi-level computations based on point primitives, we obtain a scalable system that efficiently handles complex contact configurations, even for high-resolution mod- els obtained from laser range scans. Our method computes consistent and realistic contact surfacesand traction distributions, which are useful in many applications. Categories and Subject Descriptors (according to ACM CCS): I.3.5 [Computer Graphics]: Computational Geometry and Object Modeling: Physically based modeling I.3.7 [Computer Graphics]: Three-Dimensional Graphics and Realism: Animation 1. Introduction Contact is ubiquitous in real world interactions and is one of the most difficult problems in 3D computer animation. Physical models used to address contact fall into two broad categories: Rigid body models and deformable body models. Rigid body models are the most widely used today, de- spite the fact that they cannot reproduce visible deforma- tions and surface tractions. This is due to their apparent effi- ciency and relative simplicity: A rigid body’s configuration is characterized by only six variables, its velocity requires an additional six variables, leading to a small system of dif- ferential equations to integrate, if the forces on the body are known. We review this work in Section 2. This happy story changes dramatically when contact is involved, and some serious problems must be addressed by the “simple” rigid body model. Objects make contact at multiple points, and the rigid body model implies that these contacts are very sensi- tive to small changes in object state. The contact state, i.e., The authors wish to acknowledge support form NSF grants CARGO-0138456, ITR-0205671, IIS-0308157, EIA-0215887, as well ARO grant DAAD19-03-1-0331. Figure 1: A romance of two computer graphics classics. (a) the Igea and Max Planck models in contact, (b) the inter- section volume, (c) sampling pattern with active nodes, (d) normal tractions on the deformed model which contacts are active and which break, has to be deter- mined very carefully since the resulting wrench (i.e., force and torque) on the object depends on it. Even though it is now well understood how to determine the contact state us- ing LCP formulations (see Section 2), the fundamental sen- c The Eurographics Association 2004.

Upload: others

Post on 14-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Quasi-Rigid Objects in Contact - Computer Graphicsgraphics.stanford.edu/~mapauly/Pdfs/quasi_rigid... · 2004-06-22 · Eurographics/ACM SIGGRAPH Symposium on Computer Animation (2004)

Eurographics/ACM SIGGRAPH Symposium on Computer Animation (2004)R. Boulic, D. K. Pai (Editors)

Quasi-Rigid Objects in Contact†

Mark Pauly1 Dinesh K. Pai2 Leonidas J. Guibas1

1 Computer Science Department, Stanford University, Stanford CA 94305, USA2 Computer and Information Sciences, Rutgers University, Piscataway, NJ 08854, USA

AbstractWe investigate techniques for modeling contact between quasi-rigid objects – solids that undergo modest deforma-tion in the vicinity of a contact, while the overall object still preserves its basic shape. The quasi-rigid model com-bines the benefits of rigid body models for dynamic simulation and the benefits of deformable models for resolvingcontacts and producing visible deformations. We argue that point cloud surface representations are advantageousfor modeling rapidly varying, wide area contacts. Using multi-level computations based on point primitives, weobtain a scalable system that efficiently handles complex contact configurations, even for high-resolution mod-els obtained from laser range scans. Our method computes consistent and realistic contact surfacesand tractiondistributions, which are useful in many applications.

Categories and Subject Descriptors(according to ACM CCS): I.3.5 [Computer Graphics]: Computational Geometryand Object Modeling: Physically based modeling I.3.7 [Computer Graphics]: Three-Dimensional Graphics andRealism: Animation

1. Introduction

Contact is ubiquitous in real world interactions and is oneof the most difficult problems in 3D computer animation.Physical models used to address contact fall into two broadcategories: Rigid body models and deformable body models.

Rigid body models are the most widely used today, de-spite the fact that they cannot reproduce visible deforma-tions and surface tractions. This is due to their apparent effi-ciency and relative simplicity: A rigid body’s configurationis characterized by only six variables, its velocity requiresan additional six variables, leading to a small system of dif-ferential equations to integrate, if the forces on the body areknown. We review this work in Section2. This happy storychanges dramatically when contact is involved, and someserious problems must be addressed by the “simple” rigidbody model. Objects make contact at multiple points, and therigid body model implies that these contacts are very sensi-tive to small changes in object state. The contact state, i.e.,

† The authors wish to acknowledge support form NSF grantsCARGO-0138456, ITR-0205671, IIS-0308157, EIA-0215887, aswell ARO grant DAAD19-03-1-0331.

Figure 1: A romance of two computer graphics classics. (a)the Igea and Max Planck models in contact, (b) the inter-section volume, (c) sampling pattern with active nodes, (d)normal tractions on the deformed model

which contacts are active and which break, has to be deter-mined very carefully since the resulting wrench (i.e., forceand torque) on the object depends on it. Even though it isnow well understood how to determine the contact state us-ing LCP formulations (see Section2), the fundamental sen-

c© The Eurographics Association 2004.

Page 2: Quasi-Rigid Objects in Contact - Computer Graphicsgraphics.stanford.edu/~mapauly/Pdfs/quasi_rigid... · 2004-06-22 · Eurographics/ACM SIGGRAPH Symposium on Computer Animation (2004)

M. Pauly et al. / Quasi-Rigid Objects in Contact

sitivity of the contact state remains as it is part of the phys-ical model. This sensitivity problem becomes much worsewhen trying to simulate contact with complex scanned ob-jects such as those we use in this paper – the contact statecan wobble over the large number of surface points, like astool with hundreds of legs.

To address this problem while retaining the advantagesof rigid bodies, two alternatives have been explored: Thefirst is to useimpulse-based methodsthat treat even con-tinuous contact as a type of impact and use a coefficient ofrestitution to determine the post-impact velocity of the ob-ject [Hah88, MW88, MC95, GBF03]. This approach is eas-ier to formulate, but could require a large number of steps toresolve the resulting impact sequences. It has its own prob-lems when trying to simulate resting contact with complexmodels and the wobbling problem remains. More fundamen-tally, the coefficient of restitution is physically meaningfulonly for particles, and it has been difficult to define a suit-able quantity for rigid bodies [MC95]. Even for somethingas simple as a metal rod, the measured coefficient of resti-tution can vary over most of the feasible range [SH96]. Theother alternative is to introduce virtual springs and dampersat the contact points (e.g., [GPS94]), to remove the contactstate sensitivity. Optimization-based animation [MS01] hassimilar advantages. However, without an underlying modelof elasticity, it is difficult to assign physically meaningfulspring constants (or objective functions), and the effectivecompliance of the contact is again sensitive to the contactstate. Rigid body contact turns out to be rather complex af-ter all. This is not surprising, since the assumption of rigiditymakes the contact problem highly singular, requiring discon-tinuous jumps in contact forces for small changes in posi-tion. In reality, all objects are deformable to a certain ex-tent, and contact produces stresses that lead to deformationswhich may be small but significant.

This may suggest that the solution lies in using fully de-formable models; such models have a long history in com-puter graphics (which we briefly review in Section2). How-ever, fully deformable models (including mass-spring parti-cle systems) can be expensive, since the size of the systemstate is large all the time, even when the body is not under-going visible deformations. This is unfortunate, since manyreal world objects appear to be rigid except at high stress re-gions near the contact, and the distribution of mass changesvery little. Multiresolution and adaptive methods can ad-dress this problem to some extent [CGC∗02, GKS02, JP03],but require meshes with good connectivity and relativelycomplex data structures. More subtly, deformable modelsin computer graphics have been used primarily to producevisual deformations, and not to solve contact problems.Contact has been treated by using user-specified bound-ary conditions (e.g., [JP99]) or by using penalty forces(e.g., [HFS∗01]). True contact problems are much more dif-ficult [KO88] because we do not know in advance whethera possible contact point on the surface will actually be in

contact or break free from the surface; its contact state de-pends on the boundary conditions at all other possible con-tact points and we must determineall the boundary condi-tionssimultaneously. Dynamically deformable objects suchas mass-spring systems could, in principle, determine thecontact boundary conditions by time stepping, but this re-quires sufficient temporal resolution to resolve the pressurewaves traveling in the solid at the speed of sound.

Our Contributions

With the above motivation, we have developed a new typeof model that we callquasi-rigid, which can combine thebenefits of rigid body models for dynamic simulation andthe benefits of deformable models for resolving contacts andproducing visible deformations. By quasi-rigid we mean ob-jects whose surfaces can undergo modest deformations in thevicinity of a contact, while the overall object still preservesits basic shape. There are a lot of objects that could be mod-eled in this way, including biological manipulators such asour hands and feet and everyday objects that appear rigidvisually. We have developed a new set of representationsand algorithms for modeling the geometry and physics ofcontacts between quasi-rigid objects. Our method is specifi-cally designed to handle contact between complex geometricshapes obtained from laser scans, using sample-based sur-face representations to add detail to the deformable contactpatch as needed. It can resolve the contact hierarchically tosatisfy performance requirements.

More generally, by explicitly computing the contact sur-face and distributed contact tractions, we open up new ar-eas for physically-based computer graphics. Understandingthe exact extent of the contact areas, the traction distribu-tions over them, and their evolution over time is interest-ing and significant in many applications, ranging from dy-namic simulations and computer animation to engineeringand biomedicine.

2. Prior Work

2.1. Physical Models

Rigid body dynamics is widely used in computer graph-ics [Hah88, MW88, MC95, MS01, GBF03]. Baraffwas the first to systematically treat contact prob-lems [Bar89, Bar91, Bar94].

A fundamental feature of contact (and friction) is that itleads naturally to an inequality constrained problem. Thiscan be formulated as a minimization of a quadratic func-tional subject to inequality constraints (e.g., [Bar89]). Thenecessary condition for optimality is a Linear Complemen-tarity Problem (LCP) [Mur88, CPS92], and it is often sim-pler to solve it directly [Lot82, Bar89, Bar94]. Coulombfriction adds two complications. First, the classical frictioncone leads to a quadratic constraint, but we can recover an

c© The Eurographics Association 2004.

Page 3: Quasi-Rigid Objects in Contact - Computer Graphicsgraphics.stanford.edu/~mapauly/Pdfs/quasi_rigid... · 2004-06-22 · Eurographics/ACM SIGGRAPH Symposium on Computer Animation (2004)

M. Pauly et al. / Quasi-Rigid Objects in Contact

LCP by approximating the friction cone with a polyhedralcone [Lot82]. The second, more serious, complication is thatthe dynamic LCPformulated using acceleration and forcesas the unknowns is not guaranteed to have a solution, orcan have multiple solutions. This is a problem with the rigidbody model itself [Pai95] and determining whether a solu-tion exists is NP-complete [Bar91]. However, it was soonrealized that by changing the problem to allow impulses (orequivalently, using forces and accelerations integrated over atime step) one can obtain solutions [Bar91, ST96]. We notethat in Section4.2 we formulate our contact problem as anLCP too, but ours is anelastic LCPwhich is always solvable.

Physically based deformable models for computergraphics were pioneered by [TPBF87], and this areahas been active ever since. Early work is surveyedin [GM97]. The recent focus has been on interactive simula-tion [JP99, DSB99, DDCB01], and specialized methods forimportant cases such as cloth, biological tissues, and frac-ture [BW98, HFS∗01, OBH02, BFA02]. Contact is treatedin most of the papers cited above but, as we mentioned ear-lier, it is usually done by assuming contact boundary condi-tions. Contact problems have been addressed more carefullyin engineering [Joh85, KO88], but their focus has been onobtaining accurate solutions for very simple and idealizedgeometries.

There have been a few methods suggested for combiningthe benefits of rigid bodies and deformable bodies. [TW88]considered how non-linearities in large displacement elas-ticity problems could be approximated by a rigid displace-ment plus a linear elastic model, but did not address thegeneral contact problem. Cani (Gascuel) [GVP91, Gas93]— see also [SP95] — addressed contact and volume preser-vation, but used a simple elasticity model based on a scalarpotential field. The model fits well with the implicit surfacerepresentation used, but is difficult to relate to the physics of3D elastic deformation and to material properties. Contactsurfaces were computed but did not account for the impor-tant coupling between deformations at different locations ina contact patch, as we do. In robotics, a model based on arigid core with elastic deformation lumped at the contactpoint was introduced by Kumar and colleagues [WK94],and generalized to distributed contact in [SK03] using anLCP formulation similar to ours. However the local con-tact patch was represented differently, as a grid of lumpedspring-dampers and was limited to simple surfaces. Baraffand Witkin [BW92] proposed a model also aimed at com-bining the advantages of rigid and deformable models, butbased on global deformations; our work proceeds in the op-posite direction, focusing on adding local deformation to arigid body in the contact region.

2.2. Surface Models

The modeling of the geometry of contact surfaces does noteasily fit into existing geometric modeling techniques. Con-

sider triangle meshes, for example. Most commonly suchmeshes have irregular connectivity and thus it is difficultto get them to conform exactly in the contact area, as thetwo sides have incompatible connectivity graphs. One cantry to compute a single contact mesh which is a commonrefinement of both sides of the contact, but as this processis repeated across deformation time steps, the elements inthe contact area will become unreasonably small through thesuccessive refinements. Even with resampled surfaces wherethe meshes can be made mostly regular, it may be difficult toget the nodes from the two sides to line up without causingexcessive distortion to the triangles.

To overcome these problems we use a purely sample-based approach. Surfaces are represented by unstructuredpoint clouds, i.e., sets of point primitives that sample the po-sition and normal of the underlying surface. We use the mov-ing least squares (MLS) surface model to define a smoothcontinuous surface from a set of point samples (see [Lev03]or [ABCO∗01] for details). Given an unstructured pointcloud P as input, the corresponding MLS surfaceS is de-fined as the stationary set of a projection operatorΨP(x),i.e.,S= {x∈ IR3|ΨP(x) = x}. The projectionΨP(x) is eval-uated by first fitting a local least squares plane that serves asa local parametrization domain. A second least squares op-timization then yields a bivariate polynomialg(u,v) that lo-cally approximates the surface. The projection ofx ontoS isgiven asΨP(x) = q+g(0,0) ·n, whereq is the origin andnthe normal of the reference plane. Both least squares fits usea positive, monotonically decreasing weight function, typi-cally a Gaussian or low degree polynomial, that adjusts theinfluence of the sample points according to the distance toq. We use the linear approximation of the MLS method pre-sented in [PGK02] that dynamically adapts the radius of theweight function to the local sample spacing and thus allowsrobust reconstruction for irregular point clouds with varyingsampling density.

The main advantage of the MLS method for our purposesis that it ismeshless. By avoiding global structural informa-tion such as an explicit connectivity graph or a parameter-ization, highly dynamic contact events can be modeled ef-ficiently and a unique consistent contact surface can be de-fined without the need for re-triangulation or zippering (seealso Section4.4)

3. Modeling Quasi-Rigid Objects

Our goal is to model contact, possibly over a wide area, be-tween quasi-rigid solids. Figure2 shows a conceptual modelof such an object. A point force acting on a quasi-rigid solidsleads to a deformation that is restricted to a small, local area(active region) around the point of contact, while keeping theoverall shape intact. This motivates the use of local, analyt-ical models for linear elastic materials (Section3.1). Sincewe are mainly interested in the contact region, we chooseto work with boundary-based elasticity formulations. The

c© The Eurographics Association 2004.

Page 4: Quasi-Rigid Objects in Contact - Computer Graphicsgraphics.stanford.edu/~mapauly/Pdfs/quasi_rigid... · 2004-06-22 · Eurographics/ACM SIGGRAPH Symposium on Computer Animation (2004)

M. Pauly et al. / Quasi-Rigid Objects in Contact

resulting system response functions (Green’s functions) arediscretized using a collocation scheme. We will show in Sec-tion 3.2how this approach can be integrated nicely with sur-faces represented by point clouds, leading to an efficient im-plementation.

Figure 2: Conceptual model of quasi-rigid objects. (a) pointforce acting on quasi-rigid body, (b) local deformation, (c)deformable layer, (d) point-based surface representation.

3.1. Physical Model

Since we anticipate deformations to be small, our system isbased on the physics of static linear elasticity. Our focus ison contacts between quasi-rigid objects, so we need to findthe displacements and tractions that act on thesurfacesofthe objects. This could be done by solving a global bound-ary value problem to compute Green’s functions as in [JP99],but here we seek a suitable approximation that can be effi-ciently evaluated locally. To keep the exposition simple, weonly consider tractionsp and displacementsu that act nor-mal to the surface. We will come back to the correspondingtangential quantities in Section5.1, where we consider fric-tion effects.

A widely used method in contact mechanics is theBoussi-nesq approximation, which models the surface around apoint of contact as an elastic half-space [Joh85]. Supposea normal tractionp(x) is applied at a pointx on the surface.We define a local coordinate frame withx as the origin, thez-axis given by the surface normaln at x andx- andy-axesdefined by two arbitrary (but fixed) vectors perpendicular ton and to each other. According to the Boussinesq formula,the displacementu(y,x) at a pointy on the surface in thenormal direction due to a point loadp(x) is given as

u(y,x) =1−ν2πG

p(x)‖ y−x ‖ , (1)

whereν is Poisson’s ratio andG is the shear modulus. Sincewe assume linear elasticity, the total displacementu(y) dueto a distribution of pressure on the whole surfaceS can befound by superposition:

u(y) =1−ν2πG

∫S

p(x)‖ y−x ‖dx. (2)

Figure 3 (a) shows the system response functionf (r) =1−ν2πG

1r of the Boussinesq approximation for a single point

load, which exhibits a rapid fall-off with increasing distancer =‖ y−x ‖.

Figure 3: System response functions. (a) Boussinesq approx-imation, (b) an empirical model that preserves volume.

3.1.1. Volume Preservation

Since the Boussinesq model is based on the assumption ofan infinite elastic half-space, it does not guarantee preserva-tion of volume. However, many real-world materials, suchas human tissue, are almost incompressible and thus effectsdue to a finite volume need to be considered for a realis-tic simulation. This can be achieved by ensuring that thedeformation due to a point load does not lead to a changeof volume, i.e., that

∫Su(y,x)dy = 0. Then, due to linearity,

volume preservation is ensured for any pressure distributionacting on the surface. Using integration in polar coordinates,volume preservation can be formulated as the following con-straint on the response functionf (r):∫ ∞

0f (r)rdr = 0. (3)

Of course, not all response functions obeying this conditionare physically valid. A plausible analytical function can beobtained by shifting the Boussinesq function in the posi-tive z-direction and modulating it with a Gaussian as shownin Figure3 (b). More realistic response functions could ei-ther be obtained through physical measurements or throughoff-line simulations using high-resolution finite element ormass-spring systems. Figure4 illustrates volume preserva-tion for quasi-rigid objects on a simple example of a ballin contact with a plane, using the transfer function of Fig-ure3 (b).

Figure 4: Volume preservation. (a) original configurationprior to contact resolution, (b) plane deformable, sphererigid, (c) sphere deformable, plane rigid, (d) both modelsdeformable.

c© The Eurographics Association 2004.

Page 5: Quasi-Rigid Objects in Contact - Computer Graphicsgraphics.stanford.edu/~mapauly/Pdfs/quasi_rigid... · 2004-06-22 · Eurographics/ACM SIGGRAPH Symposium on Computer Animation (2004)

M. Pauly et al. / Quasi-Rigid Objects in Contact

3.2. Discretization

In a discrete setting, we need to find relations between thedisplacementui that nodeqi experiences due to the tractionsp j acting on all other nodes. This can be expressed in matrixform as

u = Rp, (4)

whereu = [u1 . . .uN]T is the vector of displacements,p =[p1 . . . pN]T describes the corresponding tractions, andR isthe system response matrix. To determine the entries ofR wediscretize the tractions using scattered data approximation as

p(x)≈N

∑j=1

p j Φ j (x), (5)

whereΦ j is the shape function

Φ j (x) =ω j (‖ x−q j ‖)

∑Nk=1 ωk(‖ x−qk ‖)

, (6)

for certain kernel functionsωk. Thenui can be expressed as

ui =1−ν2πG

∫S∑

j

p j Φ j (x)‖ qi −x ‖dx =

1−ν2πG ∑

jp j

∫S

Φ j (x)‖ qi −x ‖dx

(7)and it follows that

Ri j =1−ν2πG

∫S

Φ j (x)‖ qi −x ‖dx. (8)

As kernel functionsωk we use truncated Gaussians. Their ra-dius is chosen so that kernel functions of neighboring pointsoverlap to achieve a hole-free coverage of the surface, simi-lar to rendering algorithms that use Gaussian reconstructionkernels for surface splatting [ZPvG01]. Note that the singu-lar integrals inRii are bounded [Joh85] and that all entries ofR can be pre-computed for fixed sampling distributions. Dueto the locality of the response function, the response matrixR will generally be sparse, contrary to global methods forgeneral deformable objects that require transformations andthresholding to expose the sparsity [JP03].

4. Contact Resolution

Given the model for quasi-rigid objects defined above, ourgoal is to determine the contact surfaceSof two solidsA andB and compute the forces that act on this surface. The bodiesA andB are represented by two point cloudsPA andPB thatdefine two corresponding MLS surfacesSA andSB. Duringa simulation, the two bodies might collide and interpenetrateas illustrated in Figure7. To resolve this collision we need tofind a local deformation on each body, such that both objectstouch without interpenetration. We determine this deforma-tion and the resulting contact surface as follows: First wecheck if the two bodies intersect. If a collision is detected,we compute two sets ofactive nodes QA andQB, i.e., thosesurface points of each model that potentially experience adisplacement due to the deformation that resolves the inter-penetration (see Section4.1). For the sets of active nodes we

assemble the system response matrices as described in Sec-tion 3.2. Then we set up linear complementarity constraintsthat define the contact surface and solve for the tractions thatact on this surface. From these tractions we compute the cor-responding displacements and the total wrench that acts onthe quasi-rigid bodies (see Section4.2).

4.1. Collision Detection

To determine the set of active nodesQA (analogously forQB) we first find all points ofPA that are inside the volumebounded bySB. For this purpose we use the inside/outsideclassification algorithm presented in [PKKG03], which ap-proximates the signed distance function induced by a point-sampled surface. To classify a pointrA ∈ PA with respectto the surfaceSB, we find the projected pointxB of rAon SB. The approximate signed distance is then given asd(rA,SB) = (rA−xB) ·nB, wherenB is the outward pointingnormal atxB. If d(rA,SB) < 0 we classifyrA as intersecting.

The set of intersecting points is not sufficient to define theactive nodes for contact resolution, since tractions on thesepoints can lead to displacements outside of the intersect-ing region. To determine the required additional points wemake use of the fact that the system response function dropsquickly with increasing distance (see Section3.1). Contraryto fully deformable objects where all points potentially ex-perience a significant displacement, we can thus confine theactive region to a local neighborhood around the penetrat-ing samples. The additional points can then be found with asimple range query†.

As described in [PKKG03], finding the pointxB ∈ SB forinside/outside classification requires a costly MLS projec-tion. We can speed up these computations significantly byobserving that we are not required to compute the intersec-tion region precisely. As long as we get a conservative es-timate (that might include some points that are not pene-trating, but close to the intersection region), we are guar-anteed to find all points that potentially experience a dis-placement. Thus for classification we search for the closestpoint rB ∈ PB instead ofxB ∈ SB. This amounts to a piece-wise linear approximation of the signed distance functionof SB, requiring only a closest point query instead of a fullMLS projection. To further improve performance, we use abounding sphere hierarchy for fast intersection culling. Thisspatial data structure is built using the clustering method de-scribed in [PGK02]. The point setPA is divided into disjointclusters and for each of these clusters a tightly fitting bound-ing sphere is computed. A nested hierarchy can be obtainedby repeating this process recursively.

† When using a volume preserving response function a slightlydifferent approach needs to be applied (see the discussion in Sec-tion 6.1).

c© The Eurographics Association 2004.

Page 6: Quasi-Rigid Objects in Contact - Computer Graphicsgraphics.stanford.edu/~mapauly/Pdfs/quasi_rigid... · 2004-06-22 · Eurographics/ACM SIGGRAPH Symposium on Computer Animation (2004)

M. Pauly et al. / Quasi-Rigid Objects in Contact

4.2. Linear Complementarity Formulation

Given the sets of active nodesQA andQB, we need to findtractions on these points such that the corresponding dis-placements lead to deformed surfacesS′A andS′B that are incontact, but do not interpenetrate. LetS= S′A∩S′B be the (asyet unknown) contact surface between the deformed models.If the two surfaces touch at a pointx ∈ S, the correspondingnormal tractions at this point on each of the two surfaces areequal, i.e.,pA(x) = pB(x) (we are only considering the equi-librium state). Note that we use the convention that normaltractions are pointing inwards, i.e.,pA(x) andpB(x) are de-fined with respect to different local coordinate systems. Let

Figure 5: Contact resolution in 2D. The top image shows theactive nodes prior to displacement, where the signs indicatethe initial separation of corresponding points. After contactresolution, all separations are non-negative and points onthe contact surface experience non-zero tractions, indicatedby two opposing arrows.

qA ∈ QA be an active node of modelA and assume for nowthat after deformation this point will end up on the final con-tact surface. Then there exists acorresponding pointxB∈SBsuch that its position in the final configuration coincideswith the deformed position ofqA and the normal tractions atboth points are equal. LetQ′B be the set of all correspondingpoints of the active nodes of modelA and letQ′A be definedanalogously. Furthermore letQA = QA∪Q′A = {q1

A, . . . , qNA}

andQB = QB∪Q′B = {q1B, . . . , qN

B} be two sets that are or-dered such thatqi

A andqiB are a pair of corresponding points

for all i, whereN = |QA|= |QB|.

In the following all quantities that are defined for modelAhave their analog for modelB. We define a vector of tractionson QA aspA = [p1

A . . . pNA ]T , such thatpi

A is the normal trac-tion at nodeqi

A. These tractions will cause displacements,which will be denoted asuA = [u1

A . . .uNA ]T . Using the system

response matrixRA for QA as defined in Section3.2, the dis-placementsuA are related to the tractionspA by uA = RApA.

Our goal is to describe the deformed surfaces in contactwithout interpenetration (this is called the Signorini Prob-lem [KO88]). It follows immediately thatpA = pB. Addi-tionally, we can formulate conditions on the displacements.We define the separation of two corresponding nodesqi

A and

qiB as

uiA +ui

B +σi ‖ qiA− qi

B ‖, (9)

whereσi = −1, if qiA intersects the volume bounded bySB,

andσi = 1, if no interpenetration occurs. Note also thatuiA

anduiB are defined with respect to opposing normals. Non-

penetration impliessi ≥ 0. If we assume that the objectscan only push and not pull on each other, then the tractionpi = pi

A = piB has to satisfypi ≥ 0 (this is commonly known

as the “no velcro” assumption). Finally, we observe that theseparationsi and the tractionpi arecomplementary– at eachpoint, at least one of them is zero; to be able to have non-zerotraction, we must have zero separation, and to have non-zeroseparation, we must have zero traction. Therefore, we cancombine thesecomplementarity conditionsto obtain

s= Rp+q

s≥ 0

p ≥ 0

sTp = 0,

(10)

wheres= [s1 . . .sN]T , R = RA+RB, andq = [σ1 ‖ q1A− q1

B ‖. . .σN ‖ qN

A − qNB ‖]T (see Figure5). This is a linear comple-

mentarity problem (LCP) and techniques for solving suchproblems have been extensively studied [Mur88, CPS92]. Ingeneral, an LCP may not have a solution or its solution maynot be unique. However, in our case, because the matrixRis co-positive (in the Boussinesq case it is easy to see thatit is positive), a solution can always be found by Lemke’smethod.

Note that the point correspondences are used both forcomputing the initial separation‖ qi

A−qiB ‖ and for assem-

bling the system response matrixR. The crucial questionis how can we actually find the corresponding points, sincethis seems to require knowledge of the unknown final con-tact surface. We found that, instead of trying to solve Equa-tion10directly, we can drastically simplify the computationsby splitting the combined LCP into two LCPs, each definedseparately on the active nodes of each object alone. Thuswe only need to assemble a response matrix for each of thesets of active nodesQA andQB instead of for the extendedsetsQA andQB. The underlying assumption is that the dis-tance metrics on both models in the active region are sim-ilar and thus the separate response matrices will describe asimilar physical behavior. To estimate the initial separationwe compute the minimum distance of an active node ofAto the surface ofB (and vice versa). Thus we avoid havingto find explicit point correspondences altogether. However,with these simplifications we are not guaranteed to resolvethe interpenetration completely. The displacements will con-sistently be too small, since we use a lower bound on theinitial separation. To find the correct solution of Equation10we iterate the above scheme until the penetration is resolved(up to some epsilon separation). We found that for all prac-tical purposes, three iterations were sufficient. The fast con-

c© The Eurographics Association 2004.

Page 7: Quasi-Rigid Objects in Contact - Computer Graphicsgraphics.stanford.edu/~mapauly/Pdfs/quasi_rigid... · 2004-06-22 · Eurographics/ACM SIGGRAPH Symposium on Computer Animation (2004)

M. Pauly et al. / Quasi-Rigid Objects in Contact

vergence can be explained by the fact that the closer the twosurfaces get the more accurate will both the approximationof the system response matrices and the estimate for the ini-tial separation be. So instead of solving a single LCP of size|QA|+ |QB|, we iteratively solve two LCPs of size|QA| and|QB|. Since Lemke’s method has at least quadratic complex-ity [Mur88], this iterative scheme can even be faster thansolving the single larger system.

4.3. Hierarchical Representation

Even with the above optimizations, the cost of computing thecontact surface and corresponding normal tractions can besignificant for densely sampled models or large contact ar-eas, as it depends critically on the number of active nodes. Toimprove performance and obtain a scalable algorithm suit-able for interactive applications, we extend the single-levelcomputations described above to a multi-level scheme basedon a spatial clustering hierarchy. Each level of this hierar-chy represents the model surface at a different resolution,similar to mesh-based multi-resolution representations usedin surface editing, e.g., [ZSS97]. To build the hierarchy ofsurface approximations we use the same spatial data struc-ture we described for accelerating the collision queries (seeSection4.1). For each cluster at a certain level, we choosethe center of the bounding sphere of the cluster’s samplepoints as a representative sample (see also Figure1). Theradius of the bounding sphere determines the radius of thekernel function used to compute the system response matrix(Section3.2). The computations of Section4.2are then per-formed at the coarsest level first and the resulting tractionsare propagated to the next finer level using interpolation.As soon as the desired accuracy is obtained this recursivescheme is terminated, allowing us to trade off speed versusaccuracy, which is particularly important in realtime appli-cations.

4.4. Contact Surface Model

As described above, the active region comprises all surfacepoints that experience a displacement due to the contact res-olution forces. The parts of the active region that are actuallyin contact are specified by all active nodes that have zerofinal separation (or, due to complementarity, non-zero trac-tion). The fact that we have point-wise compliance does notguarantee that both surfaces conform exactly in the region ofcontact, however. Assume, for example, that both surfaceswere represented as triangle meshes. Even though the dis-tance between both meshes might be zero at all the meshvertices, there could still be intersections or gaps betweenthe two surfaces (the same holds for two separate MLS sur-faces). To obtain a single conforming contact surface, i.e., toensure that the surfaces of both models agree exactly in theregion of contact, we make use of the meshless, implicit sur-face definition of the MLS projection. At any time instance,the surface of modelA is represented by its original points

PA plus all active nodes ofB that lie on the contact surface(analogously for modelB) as shown in Figure6. In the in-terior of the contact region both surfaces will thus coincideexactly, since the same points are used in the MLS optimiza-tion, as indicated by the neighborhood regionN2. Closer tothe boundary of the contact area these neighborhoods will bedifferent (indicated byN1 in Figure6) and hence the surfaceswill diverge. Even though we have no formal proof at thistime, extensive experimentation confirms that no interpen-etrations occur in these regions between the MLS surfaces.Note that the increased sampling density in the contact re-gion is easily handled by the adaptive MLS approximationthat dynamically chooses the neighborhood radius accordingto the local sample spacing (see Section2.2).

Figure 6: Contact surface model. Both objects share activenodes that have zero separation.

5. Simulation Framework

To test our contact resolution method in a dynamic simula-tion, we have implemented a prototype of a quasi-rigid bodysimulator as illustrated in Figure7. Our method replacesthe contact handling code of standard rigid body simulators,where dynamic contacts are typically resolved by applyinga finite impulse at the moment of impact. The quasi-rigidscheme avoids such singularities by integrating the forcesthat act on the contact surface. Whenever a collision betweentwo objects is detected, we retrace the simulation to the timeinstance of first contact and proceed with a smaller time step.Note that the first contact time does not have to be isolated asprecisely as with rigid body contact, due to the compliancethat is built into the model. Even though we used explicitintegration in our experiments, implicit integration can bedone efficiently with quasi-rigid bodies since the Jacobianof the force function needed for implicit integration [BW98]is nothing but the stiffness matrix of the contact, and can becomputed directly from the response matrixR restricted tothe nodes in contact.

In each step, we resolve the interpenetration, compute theforces acting on the contact surface and update the totalwrenches, i.e., the forces and torques, acting on the bodies.During this dynamic simulation we make extensive use ofthe multi-level approach of Section4.3. Since we are mostlyinterested in the total wrench, we can solve for the contactforces on a coarse scale. We found that for a typical config-uration, e.g., the one shown in Figure11, 40 to 100 activenodes per model were sufficient.

c© The Eurographics Association 2004.

Page 8: Quasi-Rigid Objects in Contact - Computer Graphicsgraphics.stanford.edu/~mapauly/Pdfs/quasi_rigid... · 2004-06-22 · Eurographics/ACM SIGGRAPH Symposium on Computer Animation (2004)

M. Pauly et al. / Quasi-Rigid Objects in Contact

Note that, in accordance with the quasi-rigid model, wedo not have to take the dynamic effects of body deforma-tions into account, e.g., we use a fixed inertia tensor for eachbody during the whole simulation. Since the deformationsare generally small this does not lead to any perceivable ar-tifacts. Also, we assume that bodies resume their original,undeformed shape after breaking contact.

Figure 7: Contact resolution in quasi-rigid body simulation.

5.1. Friction

A major benefit of explicitly modeling the contact surfaceis that we can accurately simulate effects that are primarilydictated by contact, such as friction. So far we have onlyconsidered tractions that act normal to the surface, i.e., thefrictionless case. Friction could be added to the elastic LCP(Eq. 10) in essentially the same way as it is added to dy-namic LCPs [ST96], using a polyhedral approximation tothe friction cone. But this increases the size of the LCP sig-nificantly by addingm+1 pairs of complementary variablesat each contact point, wherem is the number of facets of thefriction cone. However, if we make the simplifying assump-tion that tangential tractions do not cause significant defor-mations, we can decouple tangential and normal quantitiesduring contact resolution. This greatly simplifies the com-putations. As a proof of concept, we implemented a simpledynamic Coulomb friction model, where the tangential fric-tion force at a point of contact is proportional to the normaltraction that acts at this point [Bar91]. Our experiments showthat this assumption is reasonable, yet a more quantitativeanalysis remains to be done. Figure8 shows how angularmomentum of a spinning ball is transformed into linear mo-tion due to friction.

6. Results

We tested our contact resolution method both for dynamicand static contacts on a variety of models of different com-plexity. All computations were performed on an Intel Pen-tium IV with 2.8 GHz and 1 Gb main memory.

Figure 9 shows an example of a large contact betweena rigid ground plane and a quasi-rigid foot. The latter is alaser-range scan of a human foot, consisting of 55,061 sam-ple points of which 11,317 experience a displacement due tothe contact resolution. The contact computations take 952msusing a three level hierarchy. Observe the bulging due to vol-ume preservation (Section3.1.1). Also note that this pointcloud is unprocessed scanner data, still containing holes and

Figure 8: A spinning ball is dropped onto an inclined plane.The dotted line shows the trajectory of the ball, the curvedarcs illustrate the angular velocity. Both objects are quasi-rigid and for illustration purposes the deformations of theplane are maintained.

a fair amount of measurement noise. This example demon-strates that our method can be applied to a wide range ofinput models and is not limited to synthetic or highly pre-processed data. We also tried to validate our model by com-paring the computed tractions with physical measurementsof the real foot as shown in (e) and (f). Measurements wereperformed using the X2 FootSensor System (manufacturedby XSensor Corp.) with a resolution of 37 by 13 measure-ment points, with 1.94 sensors/cm2. Even though our modeldoes not account for non-linearities in human tissue and thearticulation of toes and bones in the foot, we still get veryplausible results.

An illustration for a medical application is given in Fig-ure10. The femur ball joint (44,513 points) is brought intocontact with a hip bone (141,221 points), which leads to acomplex conforming contact surface, illustrating the robust-ness of our method in difficult contact configurations. Thistype of analysis is useful in the design of artificial joints ormaterial parts, where the distribution of tractions can be usedto predict material wear.

Figure11shows three frames of a dynamic sequence sim-ulated with our quasi-rigid body simulator. The head of MaxPlanck (52,809 points) moves around in a cubic room andfrequently comes into contact with the non-planar walls.Both models deform on impact and the resulting forces causethe head model to bounce off the walls. Total contact reso-lution time varies between 20 and 200ms depending on theconfiguration. This includes collision detection using a fourlevel hierarchy and typically involves 40 to 100 active nodes.Even though the timings are not yet suitable for realtime sim-ulations, we strongly believe that further optimizations willgreatly improve the performance of our method (see Sec-tion 6.1).

c© The Eurographics Association 2004.

Page 9: Quasi-Rigid Objects in Contact - Computer Graphicsgraphics.stanford.edu/~mapauly/Pdfs/quasi_rigid... · 2004-06-22 · Eurographics/ACM SIGGRAPH Symposium on Computer Animation (2004)

M. Pauly et al. / Quasi-Rigid Objects in Contact

Figure 9: Contact of a deformable human foot with a rigidground plane. (a) sampling patterns of the hierarchical rep-resentation used for collision detection and multi-level com-putations, (b) original, undeformed configuration, (c) finaldeformed surface, (d) normal tractions on foot, (e) normaltractions on ground plane, (f) measured tractions. Blue de-notes zero traction and red maximum traction.

6.1. Discussion

When using system response functions that guarantee vol-ume preservation (see Section3.2), the size of the resultingcontact surface can be significantly bigger than the actualinterpenetration region (see illustration).

In such cases ourcollision detectionmethod (Section4.1)will fail to producesufficiently large setsof active nodes. How-ever, we can easily detect such a situation by checkingfor nodes on the boundary of the active region that havezero separation after contact resolution, i.e., lie on thecontact surface. In this case we can successively enlargethe active region until the boundary points experience zerodisplacement.

Crucial to achieving high performance during dynamicsimulation is temporal coherence. So far we only exploittemporal coherence during collision detection and compu-tation of the active nodes. It has been previously observed,however, that significant performance gains can be achievedin the LCP algorithm (Lemke’s method) itself [Bar93]. Sincethis part dominates the computational overhead, we expect

Figure 10:Complex conforming contact. (a) original config-uration, (b) tractions on balljoint, (c) tractions on hip bone.

Figure 11:Max Headroom. The top shows the maximum dis-placements on the walls, the bottom the corresponding trac-tions.

substantial speedups by reusing parts of the computationsover multiple time steps.

We were surprised about the robustness of our method forcomplex conforming contacts such as the example of Fig-ure10. However, regions of extreme curvature such as spikesare difficult to handle with our method. The reason is that weassume that interpenetrations can be resolved by normal dis-placements only. To avoid self-intersections the deformablelayer must be very thin in regions of high curvature, whichin the limit reduces such areas to completely rigid bodies.To address this problem and make the system more widelyapplicable we propose to combine our surface-based methodwith a coarse volumetric representation such as a low resolu-tion FEM mesh. This allows us to support large scale defor-mations at low cost, while still preserving a highly detailedsurface representation for accurate contact modeling.

c© The Eurographics Association 2004.

Page 10: Quasi-Rigid Objects in Contact - Computer Graphicsgraphics.stanford.edu/~mapauly/Pdfs/quasi_rigid... · 2004-06-22 · Eurographics/ACM SIGGRAPH Symposium on Computer Animation (2004)

M. Pauly et al. / Quasi-Rigid Objects in Contact

The geometry and physics at contact surfaces can have aprofound influence on how a simulation evolves and signif-icantly affect other visible parts of the overall behavior. Forexample, an uneven distribution of frictional tractions over acontact area can create a torque that can cause an object toflip around – a common cause of highway accidents.

Determining the traction distributions over the contactarea can be important in computer animation of walking andrunning [HWBO95] and biomedical visualization. We be-lieve that understanding the exact extent and temporal evo-lution of contact areas and the forces acting on them is aninteresting and significant aspect of many simulation and an-imation applications.

7. Conclusions and Future Work

We have introduced a new model of quasi-rigid bodies andpresented an efficient method for handling contacts betweensuch objects, bridging the gap between rigid body modelsand fully deformable FEM or mass-spring models. Using hi-erarchical representations and multi-level computations ourmethod is both applicable in complex, high resolution con-tact configurations as well as dynamic quasi-rigid body sim-ulations. We found that point primitives can be used effec-tively to represent wide-area conforming contact surfaces.This allows an efficient analysis of the evolution of contactsurfaces over time.

We believe that our work opens up many possible direc-tions for future research. More advanced physical modelscould replace the Boussinesq approximation, e.g., physicallyacquired system responses can easily be integrated into oursystem. Many aspects of dynamic simulations, such as rest-ing contact vs. dynamic contact or advanced friction models,can now be analyzed and improved using our contact res-olution method as a framework. The evaluation of contactforces could also improve haptic feedback during interactiveapplications such as surgery simulation.

References

[ABCO∗01] ALEXA M., BEHR J., COHEN-OR D.,FLEISHMAN S., LEVIN D., SILVA C. T.:Point set surfaces. InProceedings of Visual-ization ’01(2001).3

[Bar89] BARAFF D.: Analytical methods for dynamicsimulation of non-penetrating rigid bodies.In Proceedings of SIGGRAPH 1989(1989),pp. 223–232.2

[Bar91] BARAFF D.: Coping with friction for non-penetrating rigid body simulation.ComputerGraphics 25, 4 (1991), 31–40.2, 3, 8

[Bar93] BARAFF D.: Issues in computing contactforces for non-penetrating rigid bodies.Algo-rithmica 10(1993), 292–352.9

[Bar94] BARAFF D.: Fast contact force computationfor nonpenetrating rigid bodies. InProceed-ings of SIGGRAPH 1994(1994), pp. 23–34.2

[BFA02] BRIDSON R., FEDKIW R. P., ANDERSONJ.:Robust treatment of collisions, contact, andfriction for cloth animation. ACM Transac-tions on Graphics 21, 3 (2002), 594–603.3

[BW92] BARAFF D., WITKIN A.: Dynamic simulationof non-penetrating flexible bodies. InProceed-ings of SIGGRAPH 1992(1992), pp. 303–308.3

[BW98] BARAFF D., WITKIN A.: Large steps in clothsimulation. In Proceedings of SIGGRAPH1998(1998), pp. 43–54.3, 7

[CGC∗02] CAPELL S., GREEN S., CURLESS B.,DUCHAMP T., POPOVIC Z.: A multireso-lution framework for dynamic deformations.In ACM SIGGRAPH Symposium on ComputerAnimation(2002), pp. 41–48.2

[CPS92] COTTLE R., PANG J., STONE R.: The LinearComplementarity Problem. Academic Press,Inc., 1992.2, 6

[DDCB01] DEBUNNE G., DESBRUN M., CANI M.-P.,BARR A. H.: Dynamic real-time deformationsusing space & time adaptive sampling. InPro-ceedings of SIGGRAPH 2001(2001), pp. 31–36. 3

[DSB99] DESBRUN M., SCHRÖDERP., BARR A.: In-teractive animation of structured deformableobjects. InGraphics Interface ’99(1999),pp. 1–8.3

[Gas93] GASCUEL M.-P.: An implicit formulationfor precise contact modeling between flexiblesolids. InProceedings of SIGGRAPH 93(Aug.1993), Computer Graphics Proceedings, An-nual Conference Series, pp. 313–320.3

[GBF03] GUENDELMAN E., BRIDSON R., FEDKIW

R.: Nonconvex rigid bodies with stacking.ACM Transactions on Graphics 22, 3 (2003),871–878.2

[GKS02] GRINSPUN E., KRYSL P., SCHRÖDER P.:CHARMS: A simple framework for adaptivesimulation. ACM Transactions on Graphics21, 3 (2002), 281–290.2

[GM97] GIBSON S. F., MIRTICH B.: A Surveyof Deformable Models in Computer Graph-ics. Tech. Rep. TR-97-19, MERL, Cambridge,MA, 1997. 3

[GPS94] GOYAL S., PINSON E. N., SINDEN F. W.:Simulation of dynamics of interacting rigidbodies including friction. Engineering withComputers 10(1994), 162–195.2

[GVP91] GASCUEL M.-P., VERROUSTA., PUECH C.:Animation and collisions between complex

c© The Eurographics Association 2004.

Page 11: Quasi-Rigid Objects in Contact - Computer Graphicsgraphics.stanford.edu/~mapauly/Pdfs/quasi_rigid... · 2004-06-22 · Eurographics/ACM SIGGRAPH Symposium on Computer Animation (2004)

M. Pauly et al. / Quasi-Rigid Objects in Contact

deformable bodies. InGraphics Interface ’91(June 1991), pp. 263–270.3

[Hah88] HAHN J. K.: Realistic animation of rigid bod-ies. Computer Graphics 22, 4 (1988), 299–308. 2

[HFS∗01] HIROTA G., FISHER S., STATE A., LEE C.,FUCHS H.: An implicit finite element methodfor elastic solids in contact. InProceedings ofComputer Animation 2001(Seoul, 2001).2, 3

[HWBO95] HODGINS J. K., WOOTEN W. L., BROGAN

D. C., O’BRIEN J. F.: Animating human ath-letics. In Proceedings of SIGGRAPH 1995(1995), pp. 71–78.10

[Joh85] JOHNSON K. L.: Contact Mechanics. Cam-bridge University Press, Cambridge, 1985.3,4, 5

[JP99] JAMES D. L., PAI D. K.: Artdefo: accuratereal time deformable objects. InProceedingsof SIGGRAPH 1999(1999), pp. 65–72.2, 3, 4

[JP03] JAMES D., PAI D. K.: Multiresolution green’sfunction methods for interactive simulation oflarge-scale elastostatic objects.ACM Transac-tions on Graphics 22, 1 (2003), 47–82.2, 5

[KO88] K IKUCHI N., ODEN J.: Contact problems inelasticity : a study of variational inequalitiesand finite element methods. SIAM, Philadel-phia, 1988.2, 3, 6

[Lev03] LEVIN D.: Mesh-independent surface interpo-lation.Geometric Modeling for Scientific Visu-alization(2003).3

[Lot82] LOTSTEDT P.: Mechanical systems of rigidbodies subject to unilateral constraints.SIAMJournal on Applied Mathematics(1982).2, 3

[MC95] M IRTICH B., CANNY J.: Impulse-based sim-ulation of rigid bodies. In1995 Symposium onInteractive 3D Graphics(1995), pp. 181–188.2

[MS01] M ILENKOVIC V. J., SCHMIDL H.:Optimization-based animation. InProceed-ings of SIGGRAPH 2001(2001), pp. 37–46.2

[Mur88] MURTY K. G.: Linear complementarity, lin-ear and nonlinear programming. HeldermannVerlag, Berlin, 1988.2, 6, 7

[MW88] MOORE M., WILHELMS J.: Collision de-tection and response for computer animation.In Proceedings of SIGGRAPH 1988(1988),pp. 289–298.2

[OBH02] O’BRIEN J. F., BARGTEIL A. W., HODGINS

J. K.: Graphical modeling and animation ofductile fracture.ACM Transactions on Graph-ics 21, 3 (2002), 291–294.3

[Pai95] PAINLEVE P.: Sur les lois du frottement deglissement. Comptes Rendus de l’Academiedes Sciences 121(1895).3

[PGK02] PAULY M., GROSSM., KOBBELT L. P.: Effi-cient simplification of point-sampled surfaces.In Proceedings of Visualization ’02(2002),pp. 163–170.3, 5

[PKKG03] PAULY M., KEISER R., KOBBELT L. P.,GROSS M.: Shape modeling with point-sampled geometry. ACM Transactions onGraphics) 22, 3 (2003), 641–650.5

[SH96] STOIANOVICI D., HURMUZLU Y.: A criticalstudy of the applicability of rigid-body colli-sion theory. ASME Journal of Applied Me-chanics 63(1996), 307–316.2

[SK03] SONG P., KUMAR V.: Distributed compli-ant model for efficient dynamic simulation ofsystems with frictional contacts. InThe 2003ASME Design Engineering Technical Confer-ences(Chicago, Illinois, Sept. 2003).3

[SP95] SINGH K., PARENT R.: Implicit functionbased deformations of polyhedral objects. InImplicit Surfaces’95(Grenoble, France, Apr.1995), pp. 113–128. Proceedings of the firstinternational workshop on Implicit Surfaces.3

[ST96] STEWART D. E., TRINKLE J. C.: An implicittime-stepping scheme for rigid body dynam-ics with inelastic collisions and coulomb fric-tion. Internat. J. Numer. Methods Engineering(1996).3, 8

[TPBF87] TERZOPOULOS D., PLATT J., BARR A.,FLEISCHER K.: Elastically deformable mod-els. Proceedings of SIGGRAPH 1987(1987),205–214.3

[TW88] TERZOPOULOSD., WITKIN A.: Physicallybased models with rigid and deformable com-ponents. IEEE Computer Graphics & Appli-cations 8, 6 (Nov. 1988), 41–51.3

[WK94] WANG Y.-T., KUMAR V.: imulation of me-chanical systems with unilateral constraints.ASME Journal of Mechanical Design 116, 2(1994), 571–580.3

[ZPvG01] ZWICKER M., PFISTER H., VAN BAAR J.,GROSSM.: Surface splatting. InProceedingsof SIGGRAPH 2001(2001), pp. 371–378.5

[ZSS97] ZORIN D., SCHRÖDER P., SWELDENS W.:Interactive multiresolution mesh editing. InProceedings of SIGGRAPH 1997(1997),pp. 259–268.7

c© The Eurographics Association 2004.