10
Eurographics/ ACM SIGGRAPH Symposium on Computer Animation (2006) M.-P. Cani, J. O’Brien (Editors) Fast Simulation of Deformable Models in Contact Using Dynamic Deformation Textures Nico Galoppo + Miguel A. Otaduy Paul Mecklenburg + Markus Gross Ming C. Lin + + {nico,prm,lin}@cs.unc.edu, UNC Chapel Hill {otaduy,grossm}@inf.ethz.ch, ETH Zurich Abstract We present an efficient algorithm for simulating contacts between deformable bodies with high-resolution surface geometry using dynamic deformation textures, which reformulate the 3D elastoplastic deformation and collision handling on a 2D parametric atlas to reduce the extremely high number of degrees of freedom in such a computa- tionally demanding simulation. We perform proximity queries for deformable bodies using a two-stage algorithm directly on dynamic deformation textures, resulting in output-sensitive collision detection that is independent of the combinatorial complexity of the deforming meshes. We present a robust, parallelizable formulation for computing constraint forces using implicit methods that exploits the structure of the motion equations to achieve highly stable simulation, while taking large time steps with inhomogeneous materials. The dynamic deformation textures can also be used directly for real-time shading and can easily be implemented using SIMD architecture on commodity hardware. We show that our approach, complementing existing pioneering work, offers significant computational advantages on challenging contact scenarios in dynamic simulation of deformable bodies. 1. Introduction Modeling and simulation of deformable objects has received much recent attention in computer graphics: for virtual char- acters, animals, faces, hair, soft tissue, cloth, etc. Among the techniques for simulating deformable bodies, many have focused on computing global deformations in a stable, ac- curate, and efficient manner [TW88, MG04, TSIF05, BJ05]; and some have aimed at efficiently simulating the effects of localized contacts [BNC96, JP99]. However, most of the existing methods do not explicitly address the problem of simulating deformation due to large contact areas with high- resolution surface geometry. Due to the inherently numerous degrees of freedom (DoFs) involved in this type of deforma- tion, the complexity of the problem tends to be intractable for real-time computations. Main Results: In this paper, we present a novel and fast simulation framework for deformable bodies in con- tact, based on the projection of the 3-dimensional defor- mation field onto a lower-dimensional space to efficiently deal with the many DoFs arising from large contact re- gions and high-resolution geometry. We assume that a sim- ulated object can be modeled as a rigid (and possibly ar- ticulated) core covered by a layer of deformable material, and that the deformation field of the surface can be ex- pressed as a function in two-dimensional, parametric at- lases, called dynamic deformation textures. Layered repre- sentations have been proposed before for simulating skeletal deformations [CHP89, Gas98, CBC 05], as many real-world solids retain their core structures under large deformations. Examples include animated characters, human bodies, fur- niture, toys, footballs, tires, etc. We derive an implicit yet highly parallelizable solution to dynamic deformations us- ing linear elasticity theory (with separation of rigid motion), continuum Lagrangian mechanics, FEM discretization, and constraint-based contact response with Lagrange multipli- ers. Our approach offers the following advantages: With the reformulation of the 3-dimensional elasto- plastic deformations and collision processing on 2- dimensional dynamic deformation textures, the resulting system achieves fast and robust simulations of contacts between deformable bodies with rich, high-resolution sur- face geometry. Using a two-stage collision detection algorithm, our prox- imity queries are scalable and output-sensitive, i.e. the performance of the queries does not directly depend on the complexity of the surface meshes. By decoupling the parallel update of surface displace- ments from the update of the core DoFs, our efficient im- plicit formulation enables fast, stable simulations of het- erogeneous materials under large time steps. Our constraint-based collision response, using Lagrange multipliers and approximate implicit integration of elas- c The Eurographics Association 2006.

Fast Simulation of Deformable Models in Contact …gamma.cs.unc.edu/D2T/downloads/gomgl-sca06-d2t.pdf · Fast Simulation of Deformable Models in Contact Using Dynamic Deformation

  • Upload
    lamcong

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

Eurographics/ ACM SIGGRAPH Symposium on Computer Animation (2006)M.-P. Cani, J. O’Brien (Editors)

Fast Simulation of Deformable Models in ContactUsing Dynamic Deformation Textures

Nico Galoppo+ Miguel A. Otaduy⋆ Paul Mecklenburg+ Markus Gross⋆ Ming C. Lin+

+{nico,prm,lin}@cs.unc.edu, UNC Chapel Hill ⋆{otaduy,grossm}@inf.ethz.ch, ETH Zurich

AbstractWe present an efficient algorithm for simulating contacts between deformable bodies with high-resolution surfacegeometry usingdynamic deformation textures, which reformulate the 3D elastoplastic deformation and collisionhandling on a 2D parametric atlas to reduce the extremely high number of degrees of freedom in such a computa-tionally demanding simulation. We perform proximity queries for deformable bodies using a two-stage algorithmdirectly on dynamic deformation textures, resulting in output-sensitive collision detection that is independent of thecombinatorial complexity of the deforming meshes. We present a robust, parallelizable formulation for computingconstraint forces using implicit methods that exploits thestructure of the motion equations to achieve highly stablesimulation, while taking large time steps with inhomogeneous materials. The dynamic deformation textures canalso be used directly for real-time shading and can easily beimplemented using SIMD architecture on commodityhardware. We show that our approach, complementing existing pioneering work, offers significant computationaladvantages on challenging contact scenarios in dynamic simulation of deformable bodies.

1. Introduction

Modeling and simulation of deformable objects has receivedmuch recent attention in computer graphics: for virtual char-acters, animals, faces, hair, soft tissue, cloth, etc. Amongthe techniques for simulating deformable bodies, many havefocused on computing global deformations in a stable, ac-curate, and efficient manner [TW88,MG04,TSIF05,BJ05];and some have aimed at efficiently simulating the effectsof localized contacts [BNC96,JP99]. However, most of theexisting methods do not explicitly address the problem ofsimulating deformation due to large contact areas with high-resolution surface geometry. Due to the inherently numerousdegrees of freedom (DoFs) involved in this type of deforma-tion, the complexity of the problem tends to be intractablefor real-time computations.

Main Results: In this paper, we present a novel andfast simulation framework for deformable bodies in con-tact, based on the projection of the 3-dimensional defor-mation field onto a lower-dimensional space to efficientlydeal with the many DoFs arising from large contact re-gions and high-resolution geometry. We assume that a sim-ulated object can be modeled as a rigid (and possibly ar-ticulated) core covered by a layer of deformable material,and that the deformation field of the surface can be ex-pressed as a function in two-dimensional, parametric at-lases, calleddynamic deformation textures. Layered repre-

sentations have been proposed before for simulating skeletaldeformations [CHP89,Gas98,CBC∗05], as many real-worldsolids retain their core structures under large deformations.Examples include animated characters, human bodies, fur-niture, toys, footballs, tires, etc. We derive an implicit yethighly parallelizable solution to dynamic deformations us-ing linear elasticity theory (with separation of rigid motion),continuum Lagrangian mechanics, FEM discretization, andconstraint-based contact response with Lagrange multipli-ers. Our approach offers the following advantages:

• With the reformulation of the 3-dimensional elasto-plastic deformations and collision processing on 2-dimensional dynamic deformation textures, the resultingsystem achieves fast and robust simulations of contactsbetween deformable bodies with rich, high-resolution sur-face geometry.

• Using a two-stage collision detection algorithm, our prox-imity queries are scalable and output-sensitive, i.e. theperformance of the queries does not directly depend onthe complexity of the surface meshes.

• By decoupling the parallel update of surface displace-ments from the update of the core DoFs, our efficient im-plicit formulation enables fast, stable simulations of het-erogeneous materials under large time steps.

• Our constraint-based collision response, using Lagrangemultipliers and approximate implicit integration of elas-

c© The Eurographics Association 2006.

N. Galoppo M. A. Otaduy P. Mecklenburg M. Gross & M. C. Lin / Dynamic Deformation Textures

Figure 1: Deformable Objects Roll and Collide in the Playground.

tic forces, provides fast and responsive contact handling,alleviating time-step restrictions of previous impulsivemethods.

Our mathematical formulation of dynamic simulation andcontact processing, along with the use of dynamic defor-mation textures, is especially well suited for realizationoncommodity SIMD or parallel architectures, such as graphicsprocessing units (GPU), Cell processors, and physics pro-cessing units (PPU). The surface detail attributes stored indynamic deformation textures can also be used directly forhigh-quality real-time shaders. We have demonstrated the ef-fectiveness of dynamic deformation textures for fast simula-tion of deformable objects in contact on various challengingscenarios. Without any precomputation of dynamics or sig-nificant storage requirement, we are able to simulate largesurface deformations with detailed surface geometry at av-erage simulation rates of 1−6 fps, on a 3.4 GHz Pentium 4PC with NVidia GeForce 7800.

Organization: The rest of the paper is structured as fol-lows. Section2 discusses the related work on simulation ofdeformable models. We introduce our novel representationand give an overview of our approach in Section3. Section4describes the formulation and solution of motion equations.Section5 presents our collision detection and contact han-dling techniques. Section6 summarizes the simulation algo-rithm, and explains its parallel implementation on graphicshardware. Finally, we show results in Section7 and discusspossible future research directions in Section8.

2. Related Work

Physically-based simulation of deformable bodies has beenwidely studied in computer graphics during the last twodecades [TPBF87]. For an extended discussion on relatedwork, we refer the readers to recent summaries on thesimulation of deformation [NMK∗05] and collision detec-tion [TKH∗05].

To date, finite element methods (FEM) have often beenused to discretize the partial differential equations thatde-scribe the behavior of dynamic continuum deformation mod-els, and result in (generally nonlinear) second-order ordinarydifferential motion equations [Sha89]. Non-linear deforma-tion models together with explicit integration enable fast

simulation of soft deformable models of moderate complex-ity [ZC99]. On the other hand, linear deformation modelslead to linear motion equations that enable fast implicit in-tegration or quasi-static approximation with large time stepsand heterogeneous materials. Our formulation of the motionequations for layered deformable objects is kindred to theseminal work by Terzopoulos and Witkin [TW88] that han-dles large deformations with linear deformation models byextracting a rigid body motion from the deformation field.This was later extended to account for a deformable refer-ence shape and constraints [MT92]. Whereas Terzopoulosand Witkin [TW88] suggested an explicit integration of rigidmotion, we derive a fully implicit integration that ensuresstable, two-way elastic coupling with large simulation timesteps. Corotational techniques [MG04] exploit linear defor-mation models and estimate a local reference frame at eachmesh element. However, they do not consider centripetal andCoriolis forces introduced by the moving reference frame.

Several recent techniques have been proposed to re-duce the number of degrees of freedom (DoFs) in de-formation simulations. For example, multiresolution meth-ods [DDCB01,GKS02,CGC∗02] concentrate computationswith many DoFs at locations where high accuracy or highdetail is required. Reduced coordinate methods based onmodal analysis [JP02, HSO03, BJ05] achieve rich deforma-tions with a low computational cost by describing globaldeformations as the combination of a few DoFs. Existingmultiresolution and reduced coordinate methods implicitlyassume that a small number of DoFs or a few global defor-mation bases are sufficient to describe meaningful and pos-sibly very large deformations. Complementing the existingtechniques, our approach is designed to efficiently simulatecolliding deformable bodies with high-resolution geometryover large contact areas.

Our proposed model is akin to other methods that fo-cus on the surface of the deformable model. Condensa-tion [BNC96] and boundary element methods (BEM) [JP99]exploit linear elasticity to solve a system that is dense w.r.t.the number of surface nodes. James and Pai [JP99] furtheroptimized this approach by performing incremental updatesin situations with contact coherence. In contrast, our pro-posed model requires the solution of linear systems that

c© The Eurographics Association 2006.

N. Galoppo M. A. Otaduy P. Mecklenburg M. Gross & M. C. Lin / Dynamic Deformation Textures

aresparsew.r.t. the number of surface nodes. Layered de-formable models [CHP89, Gas98, CBC∗05] overlay layersof deformable material on top of an articulated skeleton thatdrives the motion. Upon contact, these models typically pro-duce only surface deformations and are often not designedto capture the two-way coupling of the global motion ofthe colliding objects. Novel rigid body models with compli-ance [PPG04] can be regarded as a specific type of layereddeformable model, designed to alleviate singularities in con-tact computation for rigid bodies. Similar to our approach,they capture the two-way coupling of global motion, but weemploy more accurate deformation models that enable thesimulation of larger deformations. Texture-based represen-tations have been used for animating surface deformationsexcited by global deformation modes [JP02] or as the resultof contact [SOH99,WRM05]. Contrary to previous texture-based techniques, our approach captures the coupling be-tween global motion, contact forces, and deformations.

Collision response is typically applied in one of two ways:using penalty methods or enforcing constraints. Penaltymethods [WVS90, HFS03] are easy to formulate, but theyrely on the computation of penetration depth or distance tol-erance to produce collision response. Interpenetrations andtolerances may be alleviated by using stiff penalty forcesalong with implicit integration methods, but this approachresults in a coupling of the motion equations of collidingbodies, and penalty methods lose their original simplicity.Formulation of contact constraints based on the Signoriniproblem leads to a linear complementarity problem (LCP)on contact forces and displacements [DAK04, PPG04]. Foraccelerating the solution to the LCP, Pauly et al. [PPG04]suggest a hierarchical representation that smooths the defor-mations.

Our contact handling approach belongs to a family ofmethods that formulate contact constraints and apply con-tact impulses on each colliding object independently [ZC99,BFA02,CW05]. Previous methods apply impulses explicitlyand, due to the Courant condition, require small time stepsto propagate the effect of collision response through the ob-jects [PPG04]. We propose a novel efficient and highly paral-lelizable solution, which enables the simulation to take verylarge time steps with robust contact handling, based on La-grange multipliers, implicit integration, and a plausibleap-proximation of elastic deformation forces.

3. Overview of the Representation

In this section, we present our layered representation of de-formable objects. We discuss the 2-dimensional parameteri-zation of the deformation field, its linear FEM discretization,and texture-based storage. We also introduce the generalizedset of decoupled rigid and deformation coordinates.

3.1. Parameterization of Layered Deformable Objects

We model each deformable object as acore covered by alayer of (possibly heterogeneous) deformable material. We

Figure 2: Deformable Object Representation. Deformablesurface S (52K triangles) and core C (252 triangles) of agear, showing its parameterized atlas T. The color coding re-flects the mapping g◦ f−1 :C→S. The dynamic deformationtexture T (256× 256) stores the displacement field valueson the surface. On the right,2D schematic figure showing aslice of the tetrahedral meshing. The gear contains28K sim-ulation nodes on the surface and161K tetrahedra, allowingthe simulation of highly detailed deformations.

restrict the formulation to a rigid core, but it could be ex-tended to articulated bodies. The layered representation en-ables modeling (i) both large and small scale deformationsover large regions of the object’s surface, (ii) global defor-mations of skeletal nature, and (iii) two-way dynamic cou-pling between the global motion of the object and the surfacedeformations produced during contact.

A body frame is attached to the core, with rotationR andposition of the center of massc. The world positionx of apoint in the object can be expressed in terms of its body-frame positionu asx = c+ Ru. In the deformable layer,ucan be decomposed into a constant undeformed componentuo and a displacementue, henceu = uo +ue.

We represent 3-dimensional deformations in a 2-dimensional parametric domain. For that purpose, we pa-rameterize the surfaces of the core and the deformable ob-ject. A surface patchC⊂ R

3 of the core can be defined by amapping f from a domainT ⊂ R

2, f : T → C. We enforcea one-to-one correspondence between points on the surfaceof the deformable object and points on the surface of thecore. Then a corresponding surface patchS⊂ R

3 of the de-formable object can be defined by a mappingg : T → S,and the correspondence byg◦ f−1. Based on the mappingg, the body-frame positionu of the surface of the object andthe displacement fieldue can be expressed as 2-dimensionalfunctionsu(s, t) andue(s, t).

The one-to-one correspondence can be achieved by ap-propriately modeling the core. One option is to parameter-ize the surfaceS in its rest position and obtain the coreCby surface decimation while preserving the parameteriza-tion [COM98, SSGH01]. Another option is to parameterizethe coreC and model the surfaceS by successive subdivi-sion and addition of geometric detail [ZSS97]. The surfacesof the core and of the deformable object may be partitionedinto multiple patches, and each patch parameterized inde-pendently.

3.2. Discretization and Generalized Coordinates

A regular sampling of the planar domainT can be regardedas a texture atlas, which we refer to asdynamic deforma-

c© The Eurographics Association 2006.

N. Galoppo M. A. Otaduy P. Mecklenburg M. Gross & M. C. Lin / Dynamic Deformation Textures

tion texture. We also refer to grid points(s, t) as texels. Eachtexel(s, t) ∈ T maps to two corresponding pointsf (s, t) andg(s, t) on the surfaces of the core and the deformable object.The regular sampling ofT and the correspondence of sur-face points define implicitly a meshing with a single layerof tetrahedral elements, as shown in Figure2. By applyingclassical approximation methods such as FEM, the contin-uous displacement fieldue on the deformable layer can beapproximated from the values at a finite set of nodes. Sinceue = 0 at points on the core,ue can be approximated entirelyfrom the valuesue(s, t) at surface nodes. Effectively, eachtexel(s, t) ∈ T maps to a simulation nodeg(s, t) in the FEMdiscretization. Simulation variables defined per-node, suchas velocities, forces, mass and stiffness values, etc. can alsobe stored in texture atlases. Note that the implicitly definedtexture-based meshing is not consistent at patch boundaries,which require special yet simple treatment as discussed inSection6.

The displacements of the surface nodes are packed in avector of elastic coordinatesqe ∈ R

n. Together with the

core coordinatesqc =

[

]

∈ R7, they form the gener-

alized coordinatesq =

[

qc

qe

]

that describe the state of a

layered deformable object. We choose quaternions to rep-resent the orientationθ . Given a (position-dependent) shapematrixS, the displacement of a point in the deformable layercan be expressed in compact matrix form asue = Sqe. Thenthe world-frame position of a material point can be writ-ten asx = c+ R(uo +Sqe). With linear basis functions,Sis linear in the barycentric coordinates for each mesh ele-ment [BNC96].

Given ω , the angular velocity of the core expressed inbody-frame coordinates, we define a velocity state vector

v =

[

vc

ve

]

, wherevc =

[

]

andve = qe. As shown in

AppendixA, the velocity state vector and the generalized co-ordinates are related byv = Pq andq = P+v, whereP andP+ are matrices that encapsulate the relation betweenω andthe derivative of a quaternion.

4. Dynamic Deformations

In this section, we first discuss the formulation of the motionequations from Lagrangian mechanics, linear elasticity the-ory, and linear FEM discretization. Then we describe an ef-ficient parallelizable formulation of implicit integration thatexploits our representation based on dynamic deformationtextures by separating the update of core and elastic veloci-ties, but maintaining responsive two-way coupling betweenthe core and the deformable layer.

4.1. Equations of Motion

The motion equations of a deformable body can be derivedfrom Lagrangian continuum mechanics [GPS02,Sha89]. Us-ing linear elasticity theory and linear FEM, and by formu-

Figure 3: Simulation of Heterogeneous Materials. Our ef-ficient decoupled implicit integration enables fast simulationof a heterogeneous cylinder.

lating the displacement field in the floating frame of refer-ence, elastic forces are linear w.r.t. the elastic coordinatesqe

and invariant under rigid motion of the core [Sha89,TW88].We denote mass, damping, and stiffness matrices asM , D,andK , generalized external forces asQ, and a quadratic ve-locity vector that captures the inertial effects of centripetaland Coriolis forces asQv. We obtain the ordinary differen-tial motion equations:

{

Mv = Q+Qv−Kq −Dv = F,

q = P+v.(1)

(A detailed description of the derivation can be foundin [Sha89].) We choose to modelD as a diagonal matrix act-ing only on the elastic coordinates. The mass and stiffnessmatrices, on the other hand, present the following structure:

M =

(

Mc Mce

MTce Me

)

and K =

(

0 00 Ke

)

. (2)

Mc ∈ R6×6 andMce∈ R

6×n are dense, and we approximateMe∈R

n×n with a diagonal form by applying mass lumping.As shown by the structure ofK , the elastic forces dependonly on the elastic coordinatesqe. However, these affect thecore coordinates as well, by inertial coupling throughMce.The submatrixKe ∈ R

n×n is constant and sparse, with atmost 21 non-zero terms per row, due to the regular texture-based meshing.

4.2. Efficient Decoupled Implicit Integration

We have opted for an implicit backward Euler discretizationof the motion equations, enabling simulation of heteroge-neous materials without letting the time step be governedby stiff regions, as shown in Fig.3. Backward Euler dis-cretization yields a nonlinear set of equations, which canbe linearized using a first-order approximation of the forceF(t +∆t) w.r.t. the state vectorsv andq. After algebraic ma-nipulation, and assuming a constant mass matrixM duringeach time step, we obtain the equation for the velocity up-date∆v:(

M −∆t∂F∂v

−∆t2 ∂F∂q

P+

)

∆v = ∆tF(t)+∆t2 ∂F∂q

P+v(t).

(3)

We define theimplicit mass matrixM and implicit forcevectorF by gathering terms in (3):

M∆v = ∆tF(t). (4)

c© The Eurographics Association 2006.

N. Galoppo M. A. Otaduy P. Mecklenburg M. Gross & M. C. Lin / Dynamic Deformation Textures

Due to the linearity of (4), we can first compute a collision-free velocity update, and then add the effect of contact forces(Section5.2) to produce the constrained velocity update.

The implicit mass matrixM does not lend to an efficientsolution of the linear system (4). Instead, we propose an ef-ficient solution that exploits the block structure ofM andF in (2). We derive the following equations to decouple theupdate of core velocitiesvc and elastic velocitiesve:

∆vc = M−1cond(∆tFc−∆tMceM−1

e Fe), (5)

∆ve = ∆tM−1e Fe− M−1

e Mec∆vc, (6)

in which the condensed matrixM cond = Mc −MceM−1

e Mec ∈ R6×6. This differs from other surface-

oriented approaches [BNC96], where the size of thecondensed matrix is governed by the number of surfacenodes. The advantage of the decoupling lies in the structureof the systems to be solved. First, we solve two linearsystemsMey = Fe and MeY = Mec. Then we updatevc

by solving the condensed system (5). Finally, the elasticvelocitiesve can be solved through (6) in a highly parallelmanner.

The twon×n linear systems to be solved imply the matrixMe which, omitting external forces, can be written as:

Me = Me−∆t∂Qve

∂ve−∆t2 ∂Qve

∂qe+∆tDe+∆t2Ke. (7)

We approximate the Jacobians of the quadratic velocity vec-tor Qve by their diagonal forms. In this way, the matrixMe issparse, symmetric and positive definite; thus it can be solvedefficiently using iterative methods. Moreover, as dicussedinSection6, the regularity of the matrixKe, due to our texture-based representation, enables a highly parallelizable imple-mentation of the iterative solvers.

5. Collision Detection and Response

We start this section with a description of our texture-basedcollision detection algorithm for deformable surfaces withhigh-resolution geometry. We first describe the image-spacedetection of contact constraints and how these are mapped tothe texture-based simulation domain. Then we describe theformulation of velocity constraints in the generalized coordi-nate setting using Lagrange multipliers. For enhanced two-way dynamic coupling between core and deformable layerunder collisions, we propose a solution of collision responsebased on the implicit integration of constraint forces, andwepresent an efficient numerical solution.

5.1. Texture-Based Collision Detection

We propose to perform collision detection between two de-formable objectsA andB in two steps: (i) identify contactregions with object-space techniques using low-resolutionmodels of the objects; (ii) compute contact information inthe contact regions using image-space techniques and high-resolution displacement fields. A similar approach has been

Figure 4: Texture-Based Collision Detection Process. Cen-ter: A sphere S collides with a textured terrain. Left: Con-tact plane D for texture-based collision detection, and map-ping φ : D → S. The contact plane shows the penetrationdepth. Right: Dynamic deformation texture T , and mappingg : T → S. The penetration depth is projected from D to T ,and is available for collision response.

exploited for estimating the penetration depth value betweenrigid, high-resolution objects [OJSL04], whereas we per-form collision handling of deformable objects and computecontact information for many colliding surface points.

In the object-space collision detection step, we identifypatches of the core surfaces closer than a distance tolerancethat bounds the high-resolution deformable surfaces. We em-ploy existing acceleration methods based on convex hull hi-erarchies [EL01]. Given a contact region between core sur-face patchesCA ⊂ R

3 andCB ⊂ R3, we identify a contact

planeD⊂R2 as the plane passing between the contact points

and oriented according to the contact normal. By orthonor-mal projection ofCA (and similarly forCB) ontoD, we de-fine a mappinghA : D → CA. Due to the one-to-one corre-spondence between patches on the surface core and patcheson the deformable surface, a contact between core surfacepatchesCA andCB defines a potential contact between cor-responding deformable surface patchesSA andSB.

Given a patchSon a high-resolution deformable surface,and the mappingsg and f defined in Section3.1, φ = g◦f−1 ◦h defines a mappingφ : D → S from the contact planeD to the patchS, through the core patchC and the textureatlasT, as shown in Figure4. Similarly to the sampling ofthe texture atlasT, we regularly sample the contact planeD.Then, each texel(u,v) ∈ D maps to a pointφ(u,v) on thehigh-resolution patchS.

For each texel(u,v) ∈ D, we perform high-resolutioncollision detection by testing the distance between pointsφA(u,v) ∈ SA andφB(u,v) ∈ SB along the normal directionof D. If the points are penetrating, we identify a contact con-straint and we compute the contact normaln as the averagesurface normal. We also approximate the penetration depthasd = nT(φB(u,v)− φA(u,v)) for applying constraint cor-rection. This approximation is affected by texture distortion,but we have not found noticeable errors in our examples.

Contact constraint information can be transferred to a tex-ture atlasT via the mappingf−1◦h and made readily avail-able for the computation of collision response at the simula-

c© The Eurographics Association 2006.

N. Galoppo M. A. Otaduy P. Mecklenburg M. Gross & M. C. Lin / Dynamic Deformation Textures

tion nodes, as shown in Figure4. For accuracy of collisiondetection, it is convenient to sample the contact planeD at ahigher density than the texture atlasT. As a result, multiplecolliding points(u,v) ∈ D may map to the same simulationnode(s, t) ∈ T. In such cases, we keep only the constraintinformation from the colliding point with the largest pene-tration depth value.

5.2. Contact Resolution

Colliding surface nodes are prevented from penetrating otherobjects by the application of contact constraint forces. Wefirst describe the handling of fixed, frictionless constraints,and then we extend the algorithm to moving constraints withfriction. We define pre-impact velocitiesv− computed bysolving (4), post-impact velocitiesv+ and collision impulseδv = v+ − v−. The contact constraints are expressed in theworld-frame velocities of the colliding nodes, and must betransformed to the generalized coordinate setting by (19) inAppendixA. A planar constraintn acting at a nodei pro-duces an elastic collision impulse with coefficient of restitu-tion ε governed by:

nT(

x−i +δ xi

1+ ε

)

= j(

v− +δv

1+ ε

)

= 0. (8)

The vectorj = nTL i =[

nT −nTRui nTRSi]

repre-sents the generalized constraint normal, whereSi indicatesthe position-dependent matrixS evaluated at nodei. NotethatSive selects theith block component fromve. The veloc-ity constraints can be jointly formulated with a generalizedconstraint matrixJ ∈ R

m×(6+n), wherem is the number ofcolliding surface nodes:

J(

v− +δv

1+ ε

)

= 0. (9)

In order to compute the collision impulse, we add a con-straint force vectorJTλ to the external forcesQ in (1). Here,λ is a vector of Lagrange multipliers. Typically, the col-lision impulse is solved by explicitly integrating the con-straint forces, which is equivalent to applying an instan-taneous change of momentum to the surface nodes at theend of each time step. Unfortunately, this approach requiressmall simulation time steps for the correct propagation ofpressure waves induced by collision response [PPG04]. Withexplicit integration and large time steps, the elastic defor-mation forces cannot counteract the momentum of the coreupon collision, and the core may penetrate the constraints.

We propose the computation of the collision impulsethrough implicit integration which produces a robust and re-sponsive reaction of the core with large time steps. Due tolinearity of (4) w.r.t. the vector of forcesF, we can computethe collision impulse separately by solving:

Mδv = ∆tJTλ . (10)

From (9) and (10), we obtain:

JM−1JTλ = −1+ ε∆t

Jv−. (11)

After solving this equation forλ , we can compute the con-straint forcesJTλ and perform the efficient decoupled im-plicit velocity update described in Section4.2 to computethe post-impact velocitiesv+.

5.3. Efficient Decoupled Contact Resolution

The matrix JM−1JT is dense, and the computation ofλthrough (11) is computationally expensive. Instead, we pro-pose to decouple (11) by exploiting the structure ofJ =[

Jc Je]

, which can easily be derived from the individ-ual node velocity constraints (8). Jc ∈ R

m×6 is dense, andJe∈R

m×n presents one non-zero 1×3 block per row. Equa-tion (11) can be rewritten as:

(

JeM−1e JT

e +UM−1condV

T)

λ = − 1+ε∆t Jv−, (12)

U = Jc−JeM−1e Mec, V = Jc−JeM−1

e MTce.

We account for the rank-6 matrixUM−1condV

T by applyinga Sherman-Morrison-Woodbury update [GV96] to the solu-tion of the full-rank linear system given byJeM−1

e JTe . For

the solution of the full rank system, we approximateMe

by considering only 3×3 block diagonal terms of the stiff-ness matrixKe. This approximation has the effect of dis-carding the implicit integration of inter-node elastic forcesin the computation of the collision force. Note that the ap-proximation still captures the two-way coupling of elasticforces between the core and the deformable layer, therebypreserving the responsiveness of the core’s motion to colli-sions. Due to the block diagonal approximation ofMe andthe structure ofJe, where each constraint only affects onesimulation node, the matrixJeM−1

e JTe is diagonal, and can

be trivially inverted.

5.3.1. Moving Constraints

If a node i collides against a moving constraintn, we es-timate the world-frame velocityxo of the constraint at thetime of maximum compression, and we rewrite the elasticcollision equation (8) as:

nT(

x−i +δ xi

1+ ε− xo

)

= 0, (13)

To estimatexo, we rigidify the colliding bodies and computethe normal velocity at the point of contact under a perfectlyinelastic collision [Mir96].

5.3.2. Friction

We compute frictional response based on Coulomb’s model,with friction coefficientµi for each colliding nodei. Basedon the kinematic relationship (19), pre-impact velocitiesv−,frictionless impulsive responseδv, a constraint normaln,and pre-impact tangential velocityxt

i = L iv−−(

nTL iv−)

n,

c© The Eurographics Association 2006.

N. Galoppo M. A. Otaduy P. Mecklenburg M. Gross & M. C. Lin / Dynamic Deformation Textures

we compute a maximally dissipating friction impulseδ xti for

nodei similar to [BFA02] as:

δ xti = −µ xt

i , µ = min

(

1,µi‖L iδv‖

‖xti‖

)

. (14)

We conclude by applying a friction impulse to the elasticvelocity of the colliding node asδ qt

i = RTδ xti .

5.3.3. Constraint Correction

After the computation of collision response, we perform aposition update with the newly computed velocities. With anew texture-based collision detection step, we detect possi-ble colliding nodes and their penetration depthd. For a col-liding pair of nodesi and j, with estimate local stiffnesskiand k j , we determine the constraint position correction of

nodei to beδxi =−k j

ki+k jdn. Then, we correct the body-frame

displacement of nodei asδqi = RTδxi .

6. Algorithm and Parallel Implementation

In Figure 5 we outline the entire algorithm for simulatingdeformable objects in contact using dynamic deformationtextures. Lets denote the operations that are performed onsmall-sized systems (i.e., computations of core variables,and low resolution collision detection). The remaining oper-ations are all executed in a parallel manner on a large num-ber of simulation nodes. Specifically,T refers to operationsto be executed on all simulation nodes in the dynamic defor-mation textureT, D refers to operations to be executed ontexels of the contact planeD, andTD refers to operations tobe executed on the colliding nodes.

As highlighted in Figure5, all operations to be executedon simulation nodes can be implemented with parallelizablecomputation stencils. Even though our algorithm is valid forirregular meshings of the deformable layer, we chose a reg-ular tetrahedral meshing for efficiency and for ease of im-plementation as it makes the computation stencils uniformacross all nodes. Our parameterization scheme minimizesstretch [SSGH01] but requires special treatment at the patchboundaries in order to allow the use of uniform stencils.We adapt a method by Stam [Sta03] for providing accessi-ble data in an 8-neighborhood to all nodes located on patchboundaries. Before every sparse matrix multiplication stepin the algorithm, we fill a

√2-texel-width region on patch

boundaries by sampling values on the adjacent patches. Notethat this sampling step removes the perfect symmetry of thelarge sparse linear systems to be solved, but we have notfound problems in the convergence of the Conjugate Gradi-ent solver.

Our simulation algorithm is especially well suited for par-allel implementation. We designed a proof-of-concept im-plementation on a graphics processing unit (GPU). Dynamicdeformation textures map naturally to GPU textures. Westore and update the elastic displacementsqe and velocitiesve associated with FEM nodes in the deformable layer di-rectly on the GPU. Similarly, we exploit the implicit FEM

COLLISION-FREE UPDATE1. Evaluate forces T2. Solve the sparse linear systemsMey = Fe and

MeY = Mec (Section4.2), using a ConjugateGradient solver [GV96]

T

3. Update core velocitiesv−c using the con-densed formulation (5)

s

4. Update elastic velocitiesv−e using the newcore velocities as in (6)

T

5. Perform a position updateq− = q(t) +∆tP+v−

T

COLLISION DETECTION6. Execute low-resolution collision detection s7. Execute high-resolution collision detection D8. Map contact information to the dynamic de-

formation texturesT

COLLISION RESPONSE9. Invert the block-diagonalized full-rank ma-

trix JeM−1e JT

e (Section5.3)TD

10. Solve for λ in (12) using the Sherman-Morrison-Woodbury formula

TD

11. Repeat steps 3 and 4 to obtain the collisionimpulseδv, based on (10)

12. Compute friction impulse TD13. Perform a position updateq(t + ∆t) = q− +

∆tP+(δv)T

CONSTRAINT CORRECTION14. Repeat collision detection steps 6 to 815. Apply constraint correction TD

Figure 5: Summary of the Simulation Algorithm

mesh defined by the regular sampling of dynamic deforma-tion textures to store the stiffness coefficients local to thenodes in auxiliary GPU textures. Elastic displacements andvelocities (marked withT andTD in the algorithm in Fig.5)are updated in fragment programs on the GPU, using FrameBuffer Objects for direct computations on textures. The up-dates of core velocities, on the other hand, are executed onthe CPU after gathering intermediate computations, whichare performed in parallel on all nodes. Note that we mini-mize communication between CPU and GPU. The amountof data transfer is determined by the number of DoFs of thecore. Our fast GPU implementation of the Conjugate Gra-dient solver exploits fast sparse matrix multiplications asdemonstrated by [KW03] previously.

The collision detection stage also exploits image-basedcomputations on the GPU. Per-texel penetration depth andcontact normals are computed by orthonormal projection ofthe low-resolution core geometry onto the contact planeD,while texture mapping the positions of the high-resolutionsurfaces (Section5.1). We use the same orthonormal projec-tion and texture matrix to map the contact data from the con-tact planeD back to the dynamic deformation textureT forcontact response, a projection technique similar to shadowmapping.

c© The Eurographics Association 2006.

N. Galoppo M. A. Otaduy P. Mecklenburg M. Gross & M. C. Lin / Dynamic Deformation Textures

Figure 6: Deformations of High-Resolution Geometry. Left: Two deformable pumpkins are dropped on top of each other.Center: Detail view of the rich deformations produced on thetop pumpkin during contact. Right: A dropped cylinder producesrich dynamic deformations on the ridges of a gear.

7. Results and Discussion

We have executed our experiments on a 3.4 GHz Pentium-4 processor PC with a Nvidia GeForce 7800GTX graphicscard. Table1 lists the statistics of the main models we haveused. In all cases, we have employed dynamic deformationtextures of 256× 256 texels. Such high resolution enablesthe simulation of rich deformations, as shown most evidentlyin the pumpkins (Figure6), gear (Figure6), and head (Fig-ure7) models. With our constraint-based collision responseapproach, impacts produce highly-detailed indentations suchas the ones suffered when the pumpkins are dropped on eachother, or when the fist punches the head on the eyebrow. Thegear model demonstrates rich dynamic deformations of sur-face features larger than 30% of the object radius.

Model Tire Cylinder Pumpkin Gear Head

Nodes 31K 21K 30K 29K 40KTets. 162K 161K 183K 173K 240K

Table 1: Models and Statistics.

The use of sound physically-based techniques for mod-eling contact and deformations leads to highly plausiblerolling and tumbling motion in combination with surface de-formations, as can be perceived in the tires (Figure1) andgear (Figure6) scenes. With our deformable object repre-sentation and simulation algorithm, we achieve those effectson high-resolution objects in an efficient manner. The com-putational cost is dominated by the iterative solver, and itsconvergence depends mostly on the stiffness of the regionsin contact. As a reference, the simulation of the rolling het-erogeneous cylinder depicted in Figure3 runs at an averageof 1−2 fps when the stiff part (Young modulus 60KN/m2)is in contact with the ridged terrain. On the other hand,the same simulation runs at an average of 6 fps when thesoft part (Young modulus 3KN/m2) is in contact, with upto 2600 simultaneously colliding nodes. This translates toa throughput of approximately 1M tetrahedra and 120K sur-face simulation nodes simulated per second. In the rest of the

experiments, we reach similar average performance: 2 sec-onds/frame for the simulation of the tires (Figure1), 1 fpsfor the punch (Figure7) and cylinder-with-gear (Figure6)scenes, and 2 fps for the dropped head (Figure7).

Method DoFs Contact Performance

BNC96 surface explicit 11K nodes/secZC99 volume explicit 303K els./secPPG04 surface LCP 2K contacts/secMG04 volume explicit 63K els./sec

implicit 120K nodes./secD2T surface Lagrange 1M els./sec

mult. 15K contacts/sec

Table 2: Approximate Performance Data Benchmark.Extrapolated performance data from [BNC96], [ ZC99],[PPG04], [ MG04] shown with ours,D2T.

We have chosen a few related techniques as a basisfor benchmarking the overall performance of our algo-rithm. It is, however, very difficult to compare the var-ious techniques, as their primary goals are often differ-ent. Our algorithm complements the prior work by offer-ing an efficient, robust contact handling method for col-liding deformable bodies withlarge contact regions andhigh-resolution surface geometry, but cannot simulate arbi-trary large deformations. We have extrapolated performancedata using Moore’s Law (performance increases 2x every 18months). As indicated in Table2, the performance of ourapproach (D2T) (up to 15K contacts/sec, 1M tets/sec, and120K nodes/sec for moderately soft objects), is comparableto the performance of techniques that use explicit integra-tion (e.g. [ZC99]), without their time-step restrictions. Ourapproach is considerably faster than other methods that en-able large time steps, both those that focus on the surfacedeformation (such as [BNC96]), and efficient corotationalmethods that compute deformations within the entire volume(such as [MG04]). Our approach can also handle many morecontact points than novel quasi-rigid dynamics algorithmsusing LCP [PPG04], producing richer deformations. Though

c© The Eurographics Association 2006.

N. Galoppo M. A. Otaduy P. Mecklenburg M. Gross & M. C. Lin / Dynamic Deformation Textures

computationally very efficient, it cannot achieve a perfor-mance comparable to model reduction techniques that pre-compute data-driven models and build efficient low-rank ap-proximations of deformed shapes [BJ05]. On the other hand,our approach does not require lengthy pre-computation ofdynamics and achieves rich high-resolution deformationswith both local and global support.

8. Summary and Future Work

We have presented a fast and robust physically-based ap-proach for dynamic simulation of colliding deformable bod-ies with high-resolution surface geometry and large contactregions. We have overcome the computational challenges ofthis problem by designing a novel layered representation ofdeformable models, where surface layer deformations arerepresented and computed in a reduced, two-dimensionalparametric domain. We have also presented efficient solu-tions for collision detection, physically-based simulation ofdynamic deformations, and robust contact response, by ex-ploiting the layered representation of the models and decou-pling the degrees of freedom between the core and the defor-mation layers. To conclude, we have demonstrated the im-plementation of our algorithm on parallel processors, achiev-ing fast simulation of demanding scenarios with detailed de-formations and thousands of simultaneous collisions.

The use of a layered representation obviously poses somelimitations on the type of deformations that can be modeled.Nevertheless, we have successfully captured large deforma-tions that reach as much as 30-40% of the radii of objects.Moreover, our representation can be extended to articulated,flexible bodies that undergo skeletal deformations, by aug-menting the generalized coordinate set of the core represen-tation to include multibody systems. Extending the formu-lation to richer core configurations or multiple deformablelayers may also require novel methods for collision detec-tion, as distortion problems may become more pronounced.The two step collision detection process could be enhancedby incorporating low-resolution deformable objects and han-dling of self-collision.

With the current framework and future enhancements, weplan to apply our algorithm and representation to the simu-lation of characters with skeletal control and plausible col-lision avoidance. Further optimizations of the algorithm andthe steady growth of parallel processors offer possibilitiesfor interactive, detailed physically-based simulation ofskindeformations in character animation.

Acknowledgements.This work is supported in part byARO, NSF, ONR, DARPA/RDECOM and the Swiss NSF.We’d like to thank the GAMMA group in Chapel Hill andthe CGL in Zurich for their support; in particular AvneeshSud, Denis Steinemann and Martin Wicke for early reviewsand critical input, Jason Sewall for last-minute video editingand Mark Harris (NVIDIA) for GPGPU support.

Figure 7: Deformations of a Virtual Head. Top: A fist hitsa deformable head (attached by springs in the neck area),producing both local deformations and global motion. Mid-dle: Detail of the deformations produced near the eyebrowby the impact. Bottom: A softer head is dropped on the floor,resulting in larger deformations.

References

[BFA02] BRIDSONR., FEDKIW R., ANDERSONJ.: Robust treat-ment of collisions, contact and friction for cloth animation. InProc. of ACM SIGGRAPH(2002).

[BJ05] BARBIC J., JAMES D. L.: Real-time subspace integrationof St. Venant-Kirchhoff deformable models. InProc. of ACMSIGGRAPH(2005).

[BNC96] BRO-NIELSEN M., COTIN S.: Real-time volumetricdeformable models for surgery simulation using finite elementsand condensation.Computer Graphics Forum 15, 3 (1996).

[CBC∗05] CAPELL S., BURKHART M., CURLESS B.,DUCHAMP T., POPOVIC Z.: Physically based rigging fordeformable characters.Proc. of Eurographics/ACM SIGGRAPHSymposium on Computer Animation(2005).

[CGC∗02] CAPELL S., GREEN S., CURLESSB., DUCHAMP T.,POPOVIC Z.: A multiresolution framework for dynamic defor-mations. Proc. of ACM SIGGRAPH Symposium on ComputerAnimation(2002).

[CHP89] CHADWICK J. E., HAUMANN D. R., PARENT R. E.:Layered construction for deformable animated characters.InProc. of ACM SIGGRAPH(1989).

[COM98] COHEN J., OLANO M., MANOCHA D.: Appearance-preserving simplification. InProc. of ACM SIGGRAPH(1998).

[CW05] CIRAK F., WEST M.: Decomposition contact response(DCR) for explicit finite element dynamics.International Jour-nal for Numerical Methods in Engineering 64, 8 (2005).

c© The Eurographics Association 2006.

N. Galoppo M. A. Otaduy P. Mecklenburg M. Gross & M. C. Lin / Dynamic Deformation Textures

[DAK04] D URIEZ C., ANDRIOT C., KHEDDAR A.: Signorini’scontact model for deformable objects in haptic simulations. Proc.of IEEE/RSJ IROS(2004).

[DDCB01] DEBUNNE G., DESBRUN M., CANI M. P., BARR

A. H.: Dynamic real-time deformations using space and timeadaptive sampling.Proc. of ACM SIGGRAPH(2001).

[EL01] EHMANN S. A., LIN M. C.: Accurate and fast proximityqueries between polyhedra using convex surface decomposition.In Proc. of Eurographics(2001).

[Gas98] GASCUEL M.-P.: Layered deformable models with im-plicit surfaces. InProc. of Graphics Interface(1998).

[GKS02] GRINSPUN E., KRYSL P., SCHRÖDERP.: CHARMS:A simple framework for adaptive simulation.Proc. of ACM SIG-GRAPH(2002).

[GPS02] GOLDSTEIN H., POOLE C., SAFKO J.: Classical Me-chanics, 3rd Ed.Addison Wesley, 2002.

[GV96] GOLUB G. H., VAN LOAN C. F.: Matrix Computations,3rd ed. Johns Hopkins University Press, 1996.

[HFS03] HIROTA G., FISHER S., STATE A.: An improved finiteelement contact model for anatomical simulations.The VisualComputer 19, 5 (2003).

[HSO03] HAUSER K. K., SHEN C., O’BRIEN J. F.: Interac-tive deformation using modal analysis with constraints.Proc. ofGraphics Interface(2003).

[JP99] JAMES D. L., PAI D. K.: ArtDefo: accurate real time de-formable objects. InProc. of ACM SIGGRAPH(1999).

[JP02] JAMES D. L., PAI D. K.: DyRT: Dynamic response tex-tures for real-time deformation simulation with graphics hard-ware. InProc. of ACM SIGGRAPH(2002).

[KW03] K RUGER J., WESTERMANN R.: Linear algebra opera-tors for GPU implementation of numerical algorithms. InProc.of ACM SIGGRAPH(2003).

[MG04] MÜLLER M., GROSSM.: Interactive virtual materials.Proc. of Graphics Interface(2004).

[Mir96] M IRTICH B. V.: Impulse-Based Dynamic Simulationof Rigid Body Systems. PhD thesis, University of California atBerkeley, 1996.

[MT92] M ETAXAS D., TERZOPOULOSD.: Dynamic deforma-tion of solid primitives with constraints.Proc. of ACM SIG-GRAPH(1992).

[NMK ∗05] NEALEN A., MÜLLER M., KEISER R., BOXER-MANN E., CARLSON M.: Physically based deformable modelsin computer graphics (state of the art report).Eurographics STAR(2005).

[OJSL04] OTADUY M. A., JAIN N., SUD A., L IN M. C.: Hapticdisplay of interaction between textured models. InProc. of IEEEVisualization(2004).

[PPG04] PAULY M., PAI D. K., GUIBAS L. J.: Quasi-rigid ob-jects in contact. InProc. of ACM SIGGRAPH/Eurographics Sym-posium on Computer Animation(2004).

[Sha89] SHABANA A. A.: Dynamics of Multibody Systems. JohnWiley and Sons, 1989.

[SOH99] SUMNER R. W., O’BRIEN J. F., HODGINS J. K.: An-imating sand, mud, and snow.Computer Graphics Forum 18, 1(1999).

[SSGH01] SANDER P. V., SNYDER J., GORTLER S. J., HOPPE

H.: Texture mapping progressive meshes.Proc. of ACM SIG-GRAPH(2001).

[Sta03] STAM J.: Flow on surfaces of arbitrary topology. InProc.of ACM SIGGRAPH(2003).

[TKH∗05] TESCHNERM., K IMMERLE S., HEIDELBERGERB.,ZACHMANN G., RAGHUPATHI L., FURHMANN A., CANI M.-P., FAURE F., MAGNENAT-THALMANN N., STRASSER W.,VOLINO P.: Collision detection for deformable objects.Com-puter Graphics Forum 24, 1 (2005).

[TPBF87] TERZOPOULOSD., PLATT J., BARR A., FLEISCHER

K.: Elastically deformable models.Proc. of ACM SIGGRAPH(1987).

[TSIF05] TERAN J., SIFAKIS E., IRVING G., FEDKIW R.: Ro-bust quasistatic finite elements and flesh simulation. InProc. ofACM SIGGRAPH/Eurographics Symposium on Computer Ani-mation(2005).

[TW88] TERZOPOULOSD., WITKIN A.: Physically based mod-els with rigid and deformable components.IEEE ComputerGraphics and Applications 8, 6 (1988).

[WRM05] WROTEK P., RICE A., MCGUIRE M.: Real-time col-lision deformations using graphics hardware.Journal of Graph-ics Tools 10, 5 (2005).

[WVS90] WRIGGERSP., VU VAN T., STEIN E.: Finite elementformulation of large deformation impact-contact problemswithfriction. Computers & Structures 37, 3 (1990).

[ZC99] ZHUANG Y., CANNY J.: Real-time simulation of phys-ically realistic global deformation.Proc. of IEEE Visualization(1999).

[ZSS97] ZORIN D., SCHRÖDER P., SWELDENS W.: Interac-tive multiresolution mesh editing. InProc. of ACM SIGGRAPH(1997).

Appendix A: Kinematic Relationships

The angular velocityω ∈R3 can be expressed in terms of the

derivative of a quaternionθ ∈ R4 by the linear relationship

ω = Gθ [Sha89]. Similarly, we can express the relationshipbetween the velocity state vectorv and the time-derivativesof the generalized coordinatesq as:

v = Pq, q = P+v, (15)

P =

I3 0 00 G 00 0 In

, P+ =

I3 0 00 1

4GT 00 0 In

,

wheren is the number of elastic coordinates, andPP+ = I .

We can now derive the world-frame velocity of a materialpoint in terms of the velocity state vector:

x = c+ Ru+Ru (16)

= c+Bθ +RSqe. (17)

The matrixB is the Jacobian of the vectorRu w.r.t. θ , and itcan be proven to be equal to−RuG [Sha89], whereu is theskew-symmetric cross-product matrix obtained fromu. Wecan rewrite (17) in compact matrix form as a linear functionof the time derivative of the generalized coordinate setq:

x =[

I3 −RuG RS]

q. (18)

Applying q = P+v, we can rewrite (18) and obtain:

x =[

I3 −Ru RS]

v = Lv . (19)

c© The Eurographics Association 2006.