Top Banner
Dynamic Interaction between Deformable Surfaces and Nonsmooth Objects Wingo Sai-Keung Wong and George Baciu, Member, IEEE Abstract—In this paper, we introduce new techniques that enhance the computational performance for the interactions between sharp objects and deformable surfaces. The new formulation is based on a time-domain predictor-corrector model. For this purpose, we define a new kind of ð%; ; IÞ-surface. The partitioning of a deformable surface into a finite set of ð%; ; IÞ-surfaces allows us to prune a large number of noncolliding feature pairs. This leads to a significant performance improvement in the collision detection process. The intrinsic collision detection is performed in the time domain. Although it is more expensive compared to the static interference test, it avoids portions of the surfaces passing through each other in a single time step. In order to resolve all the possible collision events at a given time, a penetration-free motion space is constructed for each colliding particle. By keeping the velocity of each particle inside the motion space, we guarantee that the current colliding feature pairs will not penetrate each other in the subsequent motion. A static analysis approach is adopted to handle friction by considering the forces acting on the particles and their velocities. In our formulation, we further reduce the computational complexity by eliminating the need to compute repulsive forces. Index Terms—Collision detection, deformable surfaces, cloth simulation, animation, sharp objects, friction. æ 1 INTRODUCTION I N this paper, we address the problem of computing the dynamic interactions between deformable surfaces and objects with sharp features in the presence of collision, friction, and stiction. This problem arises very often in 3D models of real environments such as clothing and terrains with natural features. The interaction of deformable surfaces with such objects poses a significant challenge to the current collision detection methods. Furthermore, the dynamic response due to the interaction of a large number of sharp features with folding materials for real applications such as cloth modeling, draping, and design has been an open problem. 1.1 Contributions The techniques presented in this paper provide new mechanisms for high-performance collision detection and dynamic response of deformable surfaces in highly compact 3D environments consisting of a large number of objects with sharp features. Our main contributions consist of practical solutions to the following critical problems: 1) self- collision detection in the presence of highly deformable 2-manifold surfaces, 2) motion constraints for penetration avoidance, and 3) dynamic response due to contact, friction, and stiction. 1.2 Challenges and Motivation Surface collisions are inevitable when deformable surfaces interact with themselves and with other objects. The added complexity for deformable surfaces is the very large increase in the number of contact points that must be computed. Furthermore, in order to prevent penetration, we need to maintain the relative orientation of surface patches in the proximity of a collision. A closed 2-manifold surface can only collide with itself on the same side. Moreover, if we know the position of an object with respect to the surface in advance, finding the relative orientation with respect to the surface is relatively easy. We can determine the side of the surface that has the potential to interact with the object at the beginning and the relative orientation will not be changed throughout the simulation. For example, the boundary of a rigid body B can be represented by a closed 2-manifold mesh. When an object A collides with B, A can only collide with the boundary of B from the exterior space of B. Another example is that, if an object is inside a sphere in 3D, the object can only collide with the interior region of the sphere. In the case of an orientable 2-manifold surface with boundary, both sides of the surface can interact with the surface itself or other objects. This requires the computation of the relative orientation at runtime. Without careful treatment, determining the relative orientation is generally not reliable due to numerical errors and degenerate cases. 1.3 Summary and Organization Fig. 1 shows the pipeline of our system. We assume that a deformable surface is a 2-manifold which will change its shape due to its dynamic behavior. Its representation can be decomposed into a triangular mesh up to any level of resolution. In order to minimize the neighborhood searches and improve the geometric proximity locally, we introduce a new kind of surface, namely, ð%; ; IÞ-surface. In order to perform self-collision detection, surfaces are partitioned into a set of ð%; ; IÞ-surfaces and then a backward-voxel AABB scheme is adopted for collision detection for each pair of ð%; ; IÞ-surfaces. It is important to IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 11, NO. 3, MAY/JUNE 2005 329 . The authors are with the Department of Computing, The Hong Kong Polytechnic University, Hung Hom, Kowloon, Hong Kong. E-mail: [email protected]. Manuscript received 3 Mar. 2004; revised 20 Sept. 2004; accepted 5 Oct. 2004; published online 10 Mar. 2005. For information on obtaining reprints of this article, please send e-mail to: [email protected], and reference IEEECS Log Number TVCG-0022-0304. 1077-2626/05/$20.00 ß 2005 IEEE Published by the IEEE Computer Society
12

Dynamic Interaction between Deformable Surfaces and Nonsmooth Objects

Feb 25, 2023

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Dynamic Interaction between Deformable Surfaces and Nonsmooth Objects

Dynamic Interaction betweenDeformable Surfaces and Nonsmooth Objects

Wingo Sai-Keung Wong and George Baciu, Member, IEEE

Abstract—In this paper, we introduce new techniques that enhance the computational performance for the interactions between sharp

objects and deformable surfaces. The new formulation is based on a time-domain predictor-corrector model. For this purpose, we

define a new kind of ð�; �; IÞ-surface. The partitioning of a deformable surface into a finite set of ð�; �; IÞ-surfaces allows us to prune a

large number of noncolliding feature pairs. This leads to a significant performance improvement in the collision detection process. The

intrinsic collision detection is performed in the time domain. Although it is more expensive compared to the static interference test, it

avoids portions of the surfaces passing through each other in a single time step. In order to resolve all the possible collision events at a

given time, a penetration-free motion space is constructed for each colliding particle. By keeping the velocity of each particle inside the

motion space, we guarantee that the current colliding feature pairs will not penetrate each other in the subsequent motion. A static

analysis approach is adopted to handle friction by considering the forces acting on the particles and their velocities. In our formulation,

we further reduce the computational complexity by eliminating the need to compute repulsive forces.

Index Terms—Collision detection, deformable surfaces, cloth simulation, animation, sharp objects, friction.

1 INTRODUCTION

IN this paper, we address the problem of computing thedynamic interactions between deformable surfaces and

objects with sharp features in the presence of collision,friction, and stiction. This problem arises very often in3D models of real environments such as clothing andterrains with natural features. The interaction of deformablesurfaces with such objects poses a significant challenge tothe current collision detection methods. Furthermore, thedynamic response due to the interaction of a large numberof sharp features with folding materials for real applicationssuch as cloth modeling, draping, and design has been anopen problem.

1.1 Contributions

The techniques presented in this paper provide newmechanisms for high-performance collision detection anddynamic response of deformable surfaces in highly compact3D environments consisting of a large number of objectswith sharp features. Our main contributions consist ofpractical solutions to the following critical problems: 1) self-collision detection in the presence of highly deformable2-manifold surfaces, 2) motion constraints for penetrationavoidance, and 3) dynamic response due to contact, friction,and stiction.

1.2 Challenges and Motivation

Surface collisions are inevitable when deformable surfacesinteract with themselves and with other objects. The addedcomplexity for deformable surfaces is the very large

increase in the number of contact points that must becomputed. Furthermore, in order to prevent penetration, weneed to maintain the relative orientation of surface patchesin the proximity of a collision.

A closed 2-manifold surface can only collide with itselfon the same side. Moreover, if we know the position of anobject with respect to the surface in advance, finding therelative orientation with respect to the surface is relativelyeasy. We can determine the side of the surface that has thepotential to interact with the object at the beginning and therelative orientation will not be changed throughout thesimulation. For example, the boundary of a rigid body B

can be represented by a closed 2-manifold mesh. When anobject A collides with B, A can only collide with theboundary of B from the exterior space of B. Anotherexample is that, if an object is inside a sphere in 3D, theobject can only collide with the interior region of the sphere.

In the case of an orientable 2-manifold surface withboundary, both sides of the surface can interact with thesurface itself or other objects. This requires the computationof the relative orientation at runtime. Without carefultreatment, determining the relative orientation is generallynot reliable due to numerical errors and degenerate cases.

1.3 Summary and Organization

Fig. 1 shows the pipeline of our system. We assume that adeformable surface is a 2-manifold which will change itsshape due to its dynamic behavior. Its representation can bedecomposed into a triangular mesh up to any level ofresolution. In order to minimize the neighborhood searchesand improve the geometric proximity locally, we introducea new kind of surface, namely, ð�; �; IÞ-surface.

In order to perform self-collision detection, surfaces arepartitioned into a set of ð�; �; IÞ-surfaces and then abackward-voxel AABB scheme is adopted for collisiondetection for each pair of ð�; �; IÞ-surfaces. It is important to

IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 11, NO. 3, MAY/JUNE 2005 329

. The authors are with the Department of Computing, The Hong KongPolytechnic University, Hung Hom, Kowloon, Hong Kong.E-mail: [email protected].

Manuscript received 3 Mar. 2004; revised 20 Sept. 2004; accepted 5 Oct. 2004;published online 10 Mar. 2005.For information on obtaining reprints of this article, please send e-mail to:[email protected], and reference IEEECS Log Number TVCG-0022-0304.

1077-2626/05/$20.00 � 2005 IEEE Published by the IEEE Computer Society

Page 2: Dynamic Interaction between Deformable Surfaces and Nonsmooth Objects

note that the ð�; �; IÞ-surface decomposition is done atruntime for each frame. This is because the surfacedecomposition is time dependent as the surface configura-tions and proximity features change at every time step. Thisdecomposition results in a significant reduction of thenumber of potential colliding pairs.

Furthermore, we aim to resolve all collision events andavoid regions of surfaces passing through each other inone time step. Therefore, the velocity-based collisiondetection is adopted in the intrinsic collision test. Weuse an improved intrinsic test to handle the collidingfeature pairs that have come in contact in the past frameand the newly colliding ones.

For objects with sharp features, the collision normals atthe corners are often not uniquely defined [11]. As thenumber of contact points increases in the neighborhood ofsharp features, the nonpenetration constraint can be easilybroken without careful treatment. We solve this by system-atically constructing a penetration-free motion space for thecurrent colliding features (vertex, edge, and triangle). Byobserving that their movement is constrained inside themotion space, it is guaranteed that they will not penetrateeach other in the next frame. This avoids the directcomputation of repulsion forces that are usually necessaryfor intersection avoidance. Subsequently, the full collisiondetection check for the corresponding features is reduced tochecking only inside the motion space.

We handle friction by considering the kinematic anddynamic factors involving the velocities and the forcesacting on the particles. Our current experiments show thatthis method handles sliding and stiction robustly.

The following sections are organized as follows: InSection 2, we review the previous work. In Section 3, wedescribe the new self-collision detection method. InSection 4, the method for computing the penetration-freemotion space is proposed. The motion formulation of thedeformable surface is described in Section 5. Theperformance analysis of the proposed method is detailedin Section 6. Finally, we conclude this paper in Section 7with open problems and future directions. The basic termsand definitions are listed in the Appendix.

2 RELATED WORK

Penetration will occur if a collision event is missed andthere may not be a natural way to adjust the objects so that

they are in a nonpenetration configuration. This also leadsto unacceptable visual effect. Therefore, the requirement forself-collision detection should be to be able to detect all thecollision events. Moreover, it should be robust and efficient.A surface colliding with itself often leads to geometricalconfigurations and computational challenges that are notpresent in rigid body interactions. Intuitively, self-collisiondetection for deformable surfaces could be performed byconstructing a hierarchical structure of bounding volumesat initialization [23], [13], [17]. The hierarchy ends with leafnodes that bound each triangle or polygon. The boundingvolume at each leaf encloses the starting position and theending position of the triangle within a frame. In order toperform collision detection, the bounding volumes must beupdated and the hierarchy must be traversed at each frame.This intuitive method would guarantee that all the collisionevents are detected provided that numerical errors arehandled appropriately. However, this method is prone tochecking a relatively large number of potential collidingpairs and most of them do not collide.

Volino and Magnenat-Thalmann [19] made use of thelocal geometric smoothness of deformable surface in orderto skip the noncolliding regions. In their novel method, asurface is partitioned into low curvature subsurfaces. Ahierarchical structure of the surface is constructed as apreprocessing phase. During the simulation, the hierarchyis traversed from the leaves to the root. At each level, thesubsurfaces that satisfy the low curvature property aremerged. Three years later, Provot [15] extended this methodto partition the surfaces dynamically at runtime. Furtherprogress in this area was done by Zhang and Yuen [24].Although these methods successfully skip many adjacenttriangle tests, they may miss potential collisions due to thedeformation of surfaces within the time step from one frameto another. As the subsurfaces deform during a time step,the low curvature property may be violated. Therefore,these methods are suitable for the static interference tests.

Baciu and Wong [3] proposed an image-based pruningprocess for the low curvature subsurfaces. Its mainadvantages are: 1) It can handle irregular surface shapesand 2) the preprocessing time is small. The image-basedmethod allows the subsurfaces to deform under a certainthreshold within a frame, but it does not work well if thedeformation rate of the subsurfaces is too large. There areother methods, such as [18], [10], which also used the GPUs

330 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 11, NO. 3, MAY/JUNE 2005

Fig. 1. The collision detection pipeline for deformable surfaces. The value of ct is equal to 1.0 if the particle is not involved in any collision events.

Page 3: Dynamic Interaction between Deformable Surfaces and Nonsmooth Objects

to improve the process of collision detection, but they werenot designed for self-collision detection.

In order to track the collision orientation, Volino et al.[20] proposed grouping the colliding components based onthe local statistical information and then assigning anorientation to a group of features. Baraff et al. [6] proposedthe GIA (global intersection analysis) to determine thecollision orientation. This method suits handling featuresthat would intersect with certainty in their motion paths. Itdoes not account for the past collisions.

If an object collideswith another object, usually a directionis imposed on these two objects such that they do not movealong the direction in the next frame. By incorporating thisinformation into the dynamic system, a penetration-freemotion is obtained for all the objects. For example, Liu et al.[13] incorporated the collision constraint into the motionequation and then employed the Gauss-Seidel method tocompute the next positions of particles. But, it is not clear howthe objects will behave if the particles are involved in morethan one collision event. An approximating method, such as[14], restricts the movement of the colliding pairs so thatthey move along their iso-boxes. However, this willproduce unnatural motion paths. In [9], [21], methods wereproposed to prevent penetration by directly making acorrection on the system state without solving the motionequation. These methods usually lead to instability and maynot scale up robustly.

Methods which incorporate collision constraints andcollision effects (such as displacement of particles) into themotion equation usually make the system become morestable. For example, Baraff and Witkin [5] integrated thedisplacement of the particles into the formulation of themotion equation. In the work of [22], Volino and Magnenat-Thalmann proposed a scheme to correct the acceleration ofthe particles when there was collision. In order to handlefriction, the Coulomb’s model was employed by manyresearchers [15], [7]. The velocities of the colliding particlesare modified in order to reduce the velocity magnitude.

3 COLLISION DETECTION

In this section, we discuss the method to perform self-collision detection for a 2-manifold deformable surface inthe time interval I ¼ ½0; Imax�. Without loss of generality, weassume that Imax ¼ 1. The trajectory of a vertex i (orparticle) within a frame is described by xi þ t�xi, t 2 I. Forterms and definitions, readers are referred to the Appendix.

The surface is partitioned into a set of ð�; �; IÞ-surfaces(or, simply, ð�; �Þ-surfaces if I ¼ ½0; 1�). Then, the backwardvoxel-based AABB (BVOX-AABB) scheme [4] is adopted tocollect the potential colliding pairs among ð�; �Þ-surfacesand the isolated triangles. We do not perform self-collisiondetection for a ð�; �Þ-surface.

The construction of a BVOX-AABB tree for a set oftriangles is that the smallest axis-aligned bounding box(AABB) containing the triangles is partitioned into regularvoxels. Then, each triangle is assigned to a voxel. The voxelswhich are nonempty form the leaves of the tree. Next, thesevoxels are assigned to the larger voxels at the next level ofthe tree. They are grouped and then formed into new nodes.This process is repeated until a single root node is obtained.

Finally, the conventional AABB tree traversal scheme isemployed to collect potential colliding pairs.

3.1 The Canonical Cone

As the vertices of the triangle move in the time interval

I½0; Imax�, the normal nðtÞ of the triangle changes accord-

ingly. We want to compute a canonical cone Cð�s; �sÞ such

that the cone contains nðtÞ, i.e., �s�nðtÞj�sjjnðtÞj � cos�s for all t 2 I.

The angle �s is in ½0; �2Þ. For an optimal solution, �s should

be the smallest among all the possible canonical cones. This

will be expensive to compute. Even if �s is constant, a

quartic equation is needed to solve. We compute a cone

which may be larger than the optimal one in order to reduce

the computation.

The normal of a triangle changes from nð0Þ to

nðImaxÞ. The deviation of nðtÞ from the space spanned

by nð0Þ and nðImaxÞ will be small if the deformation of

the triangle is not too large. Thus, we choose �s asnð0Þjnð0Þj þ

nðImaxÞjnðImaxÞj . We must verify the condition that �s is a

valid axis of the canonical cone. The condition states as:

8t 2 I; �s � nðtÞ > 0. If this condition is not satisfied, we

will assume that the triangle does not have a valid

canonical cone. On the other hand, if the condition is

satisfied, we proceed to compute �s. Let the angle

between the cone axis and triangle normal be �ðtÞ, i.e.,

cos�ðtÞ � �s�nðtÞj�sjjnðtÞj . We want to compute the largest �ðtÞ,

but this requires solving a quartic equation. Therefore,

we compute an upper bound �mðtÞ of �ðtÞ. Let

nmax 2 fnðt0Þ : jnðt0Þj � jnðtÞj; t0 2 I and 8 t 2 Ig. We have

�s � nðtÞ ¼ j�sjjnðtÞj cos�ðtÞ � j�sjjnmaxj cos�ðtÞ: ð1Þ

By rearranging the terms in the above inequality, we have�s�nðtÞ

j�sjjnmax j � cos�ðtÞ. We set

�mðtÞ ¼ max arccos�s � nðtÞj�sjjnmaxj

: 8 t 2 I

� �:

As both �s � nðtÞ and �s�nðtÞj�sjjnmaxj are positive, we will have

�mðtÞ 2 ½0; �2Þ. We set �s as �mðtÞ.

3.2 Partitioning Surface into ð�; �Þ-SurfacesWe partition a surface into a set of ð�; �Þ-surfaces byadopting the breadth-first search method proposed in [3] ineach frame. In [3], the static case is considered and thecanonical cone of a triangle is Cðnð0Þ; 0Þ. In the timedomain, the canonical cone of the triangle is Cð�s; �sÞ.

The partitioning process is that a seek triangle T with avalid canonical cone is picked. The triangle and itscanonical cone are initialized as the current ð�; �Þ-surfaceS and the canonical cone of S, respectively. The edge-adjacent triangles of T are appended to a queue. We pick atriangle T 0 from the queue and check whether there is aconvex cone C which contains both the canonical cones of Sand T 0. We update S, the canonical cone of S, and the queueif C exists. This process is repeated until we cannot mergeany more triangles into S. As a result, we have constructedone ð�; �Þ-surface. For the remaining triangles, we beginwith a new seed and repeat the entire process. Conse-quently, we partition the original surfaces into a set of

WONG AND BACIU: DYNAMIC INTERACTION BETWEEN DEFORMABLE SURFACES AND NONSMOOTH OBJECTS 331

Page 4: Dynamic Interaction between Deformable Surfaces and Nonsmooth Objects

ð�; �Þ-surfaces and a set of isolated triangles. In order tocontrol the quality of the resultant surface after the mergingoperation, we restrict that the surface angle of theð�; �Þ-surface should not be larger than a threshold value,namely, maximum surface angle �max. Readers are referred to[3] for computing the convex cone in detail.

3.3 Properties of a ð�; �; IÞ-Surface

. Restriction of interior vertices:1 Let the image planebe perpendicular to the surface axis �. Project thesurface onto the image plane along �. Then, theimage of an interior vertex does not move across ortouch the images of the edges surrounding it.

Justification: Assume that e is an edge of a triangleT and a vertex p of T moves across this edge. Let nðtÞbe the normal of T and �s be the surface axis. Then,there exists t 2 I s.t. �s � nðtÞ � 0. This implies that Tshould not be a member of the surface.

. No collision for edge-adjacent triangles: Edge-adjacent triangles do not collide.

Justification: Let T0 and T1 be two edge-adjacenttriangles. Denote HeðT0; T1Þ as the half-supportingplane containing triangle T0 such that the boundaryof HeðT0; T1Þ contains the shared-edge of bothtriangles.

The necessary and sufficient condition for T0 andT1 to collide is that the nonshared vertex of T1 passesthrough or touches HeðT0; T1Þ. At this moment, thereexists t 2 I s.t. nT0

ðtÞ � nT1ðtÞ � 0. However, this

violates the condition of a ð�; �; IÞ-surface.. No collision for interior vertex-adjacent triangles:

For two vertex-adjacent triangles, if they are interiorwith respect to the same ð�; �; IÞ-surface, they do notcollide.

Justification: If they collide, there must be a vertexwhich moves across an edge surrounding it (Fig. 2a).This is impossible, as stated in “restriction of interiorvertex.”

. Restriction on the interior triangles: There is nocollision for interior triangles colliding at the sameside.

Justification: Assume that there are two collidinginterior triangles T0 and T1. When these twotriangles approach and then collide, there exists atleast one triangle adajent to them and its imagedegenerates into a line. If there is no such triangleadjacent to T0 or T1 degenerating into a line, the

images and T0 and T1 will not touch or move acrosseach other. Contradiction.

. Restriction on four edge-connected triangles: Forfour edge-connected triangles, if all their vertices areinterior, then two nonadjacent triangles do notcollide with each other.

Justification: A set of edge-connected triangles isthat any two triangles of the set can be reached fromone triangle to another by traversing the edge-adjacent triangles. There are only three types ofpossible topologies for the four edge-connectedtriangles, Fig. 2b, Fig. 2c, and Fig. 2d. In the first twotopologies (Fig. 2b and Fig. 2c), each pair of trianglesshares a vertex. We do not have two nonadjacenttriangles in these two topologies. In the thirdtopology, Fig. 2d, due to the restriction imposed bythe interior vertex, triangles T0 and T1 will not collide.If they collide, then there is at least one triangle T thatattaches at Q0, Q1, Q2, or Q3 that the image of T willdegenerate into a line. This is not allowed.

Assume that the vertices of the triangles are notinterior. Then, two nonadjacent triangles will notcollide unless there are some triangles whose imagesare slim. This is also true for five edge-connectedtriangles.

. Condition on colliding vertex-adjacent triangles: Iftwo vertex-adjacent triangles are interior withrespect to the original surface and they collide witheach other, then these collision events will bedetected in the intercollision detection process.

Justification: According to the result of ”nocollision for interior vertex-adjacent triangles,”one of the triangles must be exterior with respectto the ð�; �; IÞ-surface. In fact, if these two trianglescollide, they must collide at an edge or a vertexwhich is exterior. The edge or the vertex mustbelong to either isolated triangles or triangles ofanother ð�; �; IÞ-surface. The result follows.

According to these properties, we can safely skip thecollision detection for interior adjacent-triangles of að�; �; IÞ-surface. In fact, we will detect the first collisionevent for a closed 2-manifold mesh.2 Fig. 3a, b, c show howcollisions can occur in a ð�; �; IÞ-surface of a 2-manifoldmesh with boundary. Fig. 3d shows that if the cavity is

332 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 11, NO. 3, MAY/JUNE 2005

Fig. 2. Properties of a ð�; �; IÞ-surface. (a) No collision for interior vertex-

adjacent triangles. T1 and T2 do not collide. (b), (c), (d) Four edge-

adjacent triangles.

Fig. 3. Collision with a ð�; �; IÞ-surface. (a), (b), (c) As surface Mdeforms, collisions may occur at the boundaries or its interior regions.(d) If surfaces M and M� belong to a larger surface, the first contactpoint will be detected. In this case, the triangles of M� will not belong tothe same ð�; �; IÞ-surface as the ones that R0 and R1 belong to.

1. The vertex is interior with respect to the ð�; �; IÞ-surface.2. Readers can prove this according to the condition of a ð�; �; IÞ-surface

and the fact of nonpenetration motion. The detail is omitted in this paper.

Page 5: Dynamic Interaction between Deformable Surfaces and Nonsmooth Objects

filled with meshM�, the first collision event will be detectedfor the regions.

The proposed method fails if there are two trianglescolliding at different sides. Consider that a surface is flatand convex initially. This kind of collision happens due to:

1. Surface undergoing a large inplane deformation: Inthis case, the smaller the local deformation of thesurface is, the larger the original distance3 betweenthe two triangles is.

2. Surface undergoing out of plane deformation: Inthis case, the smaller the local curvature of thesurface is, the larger the original distance betweenthe two triangles is. The surface will form a loop.

If the surface is stiff enough for limiting the inplanedeformation,4 the first case can be ignored. for the secondcase, we monitor the change of the surface angle when themerging process is performed. We want to keep the changeof the surface angle slow. Moreover, by performing thebreadth-first search to perform the merging process, thesurface angle in the later direction along the curveconnecting the two triangles will reach �

2 quickly. Thisprevents the two triangle being assigned to the sameð�; �; IÞ-surface. Therefore, we skip the self-collision destruc-tion for a ð�; �; IÞ-surface.

3.4 Intrinsic Collision Detection

We perform the full collision detection for the potentialcolliding triangle pairs if they do not collide in the previousframe. For the pairs colliding in the previous frame, weperform the distance check. In the full collision detection test,the velocity-based method [13] is employed for vertex-triangle and edge-edge cases. We also perform the backendtest at the end of the frame in case wemiss the collision eventowing to the numerical error [7]. If the shortest distancebetween the two features is less than the threshold (i.e.,thickness of features) �cð> 0Þ, then the two features collide.Aswe compute the penetration-free motion space for theprevious colliding vertices, the corresponding feature pairscannot penetrate each other in the current frame. Twopossible actions of this kind of feature pairs are: contact orseparation. Therefore, we only need to invoke the shortestdistance check to determine whether they separate or not. Ifthe distance between them is larger than the threshold�sð� �cÞ, then these two features separate. The threshold �s ischosen to be larger than �c due to numerical error.

3.5 Admissible Colliding Feature Pairs

When performing the velocity-based collision detection forthe feature pairs, some colliding features may be in anillegal configuration. In an illegal configuration (Fig. 4), thefeatures will penetrate or pass through the surface if thefeatures slide upon each other with a small displacement.We have such illegal configurations due to the fact that weperform collision detection for the feature pairs withoutconsidering the geometry of the entire surface. We shouldignore all the colliding feature pairs which are in suchillegal configurations. We define a colliding feature pair to

be admissible if and only if the two features do not penetrateeach other or intersect the surface as they slide upon eachother with a small enough displacement. According to this,we employ a geometry-based method that allows us todetermine whether the colliding features are admissible ornot. In the case of vertex-triangle, let p and T be the vertexand the triangle, respectively. The adjacent vertices of pmust lie on the same side with respect to the triangle. In thecase of edge-edge, let the two edges be e1 and e2. Assumethat T1 and T2 are the two triangles to be checked. Let W bethe plane formed by the collision normal and the middlepoint of the two points of the shortest distance of the twotriangles. Then, their third vertices must lie on the oppositesides with respect to W . The third vertex of a triangle is thevertex which does not belong to the colliding edge.

3.6 Collision Orientation

For a deformable surface, collisions happen to both sides.Due to the resolution and smoothness of triangles,degenerate cases, and the ubiquitous problem of numericalerrors, the determination of the relative orientation (ororientation in short) of the colliding regions is difficult.The main issue is to develop an efficient method todetermine the side of the regions that interacts with otherobjects at runtime. Several challenges become apparent inthis problem. In the case of vertex-triangle, 1) when a vertexand a triangle are nearly coplanar, the determination of thespace of approach for the feature pairs is difficult; 2) when avertex slides from a triangle to another triangle, theapproaching direction can be inconsistent with the orienta-tion (Fig. 5a, Fig. 5b, Fig. 5c). In the case of edge-edge, 1) iftwo edges collide and they are nearly parallel to each other,the cross product of their representative vectors is notreliable in the computation of the collision normal; 2) whenan edge slides over another edge and then collides with anew edge, the approaching direction is inconsistent with theorientation. We propose two methods to check andcompute the orientation for the cases of vertex-triangleand edge-edge as follows:

1. Sliding in a determined configuration: In the caseof vertex-triangle, assume that a vertex slides fromone face to another face across an edge. In this case,the orientation should be consistent. In the case ofedge-edge, assume that both a vertex and an edgecollide with a triangle simultaneously. Then, theorientation should be the same in both vertex-triangle and edge-edge configurations.

2. Geometric correction: In the case of vertex-triangle,assume that the adjacent vertices of p lie on the same

WONG AND BACIU: DYNAMIC INTERACTION BETWEEN DEFORMABLE SURFACES AND NONSMOOTH OBJECTS 333

Fig. 4. Illegal configurations of colliding feature pairs: (a) Vertex p sliding

upon triangle T ; (b): edge e1 sliding upon e2; (c) vertex p of triangle T0

sliding upon a triangle T1 along the edge e1. In all cases, penetration will

occur after a small displacement.

3. This distance is measured before the surface is deformed.4. For general garment materials, it is common that the inplane

deformation is small.

Page 6: Dynamic Interaction between Deformable Surfaces and Nonsmooth Objects

side of the triangle. Before the collision event, p mustlie on the side as these vertices do. In the case ofedge-edge, let the two edges be e0 and e1. Assumethat T0 and T1 are the two triangles involved. Let aplane be formed by the collision normal and themiddle point of the two shortest distance points ofthe two triangles. Then, their third vertices must lieon the opposite sides with respect to the plane.

Finally, we need to verify if the collision normal n iscorrect due to numerical errors. For verification purposes,the two triangles of the colliding regions are displacedrigidly with a small distance, the first along the negativedirection (��n) and the second along the positive direction(�n), where � is a small positive value. The two collidingregions may be determined as in an intersection statusbefore the displacement owing to the numerical error.Checking whether an intersection occurs or not is notreliable. We propose a distance verification method (Fig. 5d,Fig. 5e, Fig. 5f) by which the sum of the square distances(i.e.,

Pd2i ) between the vertices i of both triangles and the

collision plane is computed. If the collision normal iscorrect, the change of the sum will be larger than the oneobtained from the incorrect collision normal (i.e., �n).

4 PENETRATION-FREE MOTION SPACE

When two unbreakable features F1 and F2 are in contact,they should not penetrate each other. In order to avoid thefeatures passing through each other, we impose thesufficient nonpenetration constraint on the movement oftheir vertices. Assume that the collision normal of the firstfeature pair is nc (i.e., nc pointing to the space containingthe contact point of F2 just before collision). We impose therestriction in the current frame that the vertices of the firstfeature should not move in the direction of nc while thevertices of the second feature should not move along �nc.After obtaining the new velocities of the vertices by solvingthe motion equation, we adjust the vertex velocities in orderto satisfy this constraint. In order to solve this problem forthe general case, we propose computing a constrainedvelocity cone (CVC). This cone encloses all the possiblevelocity vectors of a vertex so that penetration is prevented.For the velocity vectors outside the CVC, we need tocompute their projections onto the CVC.

We associate each colliding vertex p with a collisionconstraint ZðCðn; �Þ; NÞ, where Cðn; �Þ is the CVC. For each

collisioneventwith collisionnormalnc, theverticesof the firstfeature have constraint ZðCð�nc;

�2Þ;�fncgÞ while the ver-

tices of the second feature have constraint ZðCðn; �2Þ; fncgÞ.However, a vertexmaybe involved inmore thanone collisionevent. Each collision event imposes one collision constraintZi. As a result, the combined collision constraint of m Zis isequal to Z ¼ Z1 \ Z2 � � � \ Zm. It seems that the motionspace will be reduced so much if there are too manycollision constraints. If this happens, the particles hardlymove. The impact zone would be adopted [15], [7] bytreating the involving features as a rigid body. For what weobserved from our experiments, this case did not happen.

By applying CVC to constrain the movement of vertices,we prove that a colliding feature pair will not penetrate eachother. This separation criterion is based on the idea of theseparating collisionplane of the two colliding features.As thevertices arenot allowed tomoveacross the collisionplane, thetwo colliding features will not pass through each other.

5 DYNAMIC RESPONSE

In order to provide interactive response, the dynamics ofthe deformable surfaces are modeled by a spring-massnetwork similar to [15]. The constraints are applied by theadjustment of force and velocity. When a vertex is subject toconstraint Z, the forces that act on the particle are modifiedbefore solving the motion equation. This forces the particleto lie inside its constrained motion space. If the net forceacting on the particle is F, F becomes F � Z after adjust-ment. Similarly, let v be the velocity of a vertex. Then, thevelocity after adjustment is v � Z. For an explicit integrationscheme, the result will be the same either if the projection isdone before or after solving the motion equation. However,it is not true for an implicit integration scheme as the forcesare spread out and affect other particles simultaneously.Thus, it will be more accurate to project the forces into thespace of the collision constraint beforehand.

5.1 Numerical Integration

We have worked with a number of numerical integrationmethods such as Implicit Euler, Runge-Kutta, and, mostimportantly, the first-order semi-implicit method discussedby Baraff and Witkin [5]. The Crank-Nicholson semi-implicit method (or semimidpoint scheme) provides themost accurate solution for sliding, stiction, and friction. (Adiscussion on the issue of the stability of the implicit

334 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 11, NO. 3, MAY/JUNE 2005

Fig. 5. The hazard of solely relying on the moving direction to determine collision normal (a), (b), (c) and the verification of the collision normal (d),(e), (f). (a) Vertex p is sliding from triangle T1 to T2; (b) incorrect collision normal is obtained by using the moving direction; (c) correct collision normalis obtained by using history; (d) two colliding triangles; (e), (f) compute the square of the distances between the vertices and the collision plane aftermoving the triangles with a small displacement �n or ��n and sum them up. For the case with the larger change (i.e., (f)) of the sum before and afterdisplacement, its collision normal is more reliable than the one of another case.

Page 7: Dynamic Interaction between Deformable Surfaces and Nonsmooth Objects

integration methods can be found in [12].) It is a secondorder method. The formulation of computing the change ofposition �x and the change of velocity �v between twoconsecutive frames is based on Newton’s second law ofmotion. By expanding f in the Taylor series and using thefirst-order approximation

fðx0 þ�x;v0 þ�vÞ ¼ f0 þ@f

@x�xþ @f

@v�v;

we obtain

�x�v

� �¼ h

2

ðv0 þ�vÞ þ v0

M�1½ðf0 þ @f@x�xþ @f

@v�vÞ þ f0�

� �; ð2Þ

I� h

2M�1 @f

@v� h2

4M�1 @f

@x

� ��v ¼ hM�1 f 0 þ

h

2

@f

@xv0

� �;

ð3Þ

where the subscript 0 indicates the value obtained from theprevious frame, f is the force vector, M is the mass matrix,and h is the time step size. �x and �v are the two vectorsformed by compositing �xi and �vi, for all particles i,respectively. The same operation is done on xi and vi toobtain x and v.

We solve for �v (3) by using the conjugate gradientmethod [16]. We will have �x ¼ h

2 ð2v0 þ�vÞ. Therefore,the particles will move from x in the previous frame toxþ�x in the current frame. The final velocities of theparticles are adjusted to vþ�v. The particles proceed tothe new positions (i.e., x0 þCt�x) after all the collisionevents are resolved, where Ct is a diagonal matrix of thecollision time ct of the particles.

In our system, the dynamic model includes gravity,spring forces, viscous damping forces, and external forcedrivers such as wind loading. Wind loading is modeled as:�kf jv� vwindjðn � ðv� vwindÞÞn, where n is the particle (orsurface) unit normal, kf is a constant coefficient, and vwind isthe velocity of wind. Readers are referred to [15], [8] for theformulation of the forces and the computation of @f

@x and @f@v.

5.2 Friction and Impact

By employing the Coulomb’s friction model, Bridson et al.[7] proposed adjusting the velocities of the particles afterthe motion equation was solved without considering theforce distribution. The method is an exact method if theexplicit integration method is adopted. However, this is nottrue for an implicit integration scheme as the force acting onthe particle will be spread out to affect other particles. Inorder to to handle the cases of sticking or sliding, wepropose performing a static analysis and adjusting theforces acting on the particles beforehand.

For the new colliding feature pairs, energy will bedissipated due to impact and friction. We apply the methodproposed by Provot [15] to modify the velocities v of theseparticles. The velocity v0 becomes (vT � �djvN j v

jvT j � kcvN) ifjvT j � �djvN j; otherwise, v0 becomes �kcvN . The value kc isthe coefficient of restitution (0 � kc � 1), �d is the dynamicfriction coefficient, vT and vN are the tangential velocityand the normal velocity of v, respectively.

For the particle sliding in the previous frame, its energyis dissipated mainly due to friction. In this case, we do not

modify its velocity directly. Instead, we will modify theforces acting on the particle first. Let F be the sum of theforces excluding the friction force acting on the particle. If Fis inside the admissible motion space Z of the particle, thenthere is no friction. In the following, we assume that F is notinside Z. Let �s be the static friction coefficient. The forceadjustment is as follows:

Sticking Particle: If jFT j � �sjFN j, the particle willcontinue sticking on the surface due to static friction. IfjFT j > �sjFN j, the particle will start to move upon thesurface. In this case, the net force becomes FT � �djFN j FT

jFT jdue to dynamic friction.

Sliding Particle: If v is inside Z and jFT j > �djFN j, it islikely that the particle is moving away from the contactregion but the distance between the particle and the contactregion is not larger than the total thickness of features �c.Therefore, the net force becomes FT � �djFN j FT

jFT j .If the velocity is not inside Z, the velocity becomes v � Z.

Let m be the mass of the particle. If jFT j � �djFN j andjðjFT j � �djFN jÞh=mj � jvT j, the particle will start to stickon the surface as the particle does not have enough energyto move beyond the time interval. Otherwise, the particlewill keep on sliding because either the tangential force or itsvelocity is large enough. The net force of the particlebecomes FT � �djFN j vT

jvT j .

6 EXPERIMENTS AND RESULTS

We have performed all the experiments on a 1.5GHzPentium 4 PC with 1GB of main memory. Double precisionwas employed. The demo movies and some other examplescan be obtained from http://www.comp.polyu.edu.hk/~gama/demo/tvcg2004/.

We investigated the performance of our proposedmethod in detail. In a typical simulation, the surface wouldhave some relatively flat regions as well as some highlydeformed regions. Thus, we designed the scene as shown inFig. 6a. A rich deformation pattern of cloth could beobtained as it was in motion under the effect of the gravityand stochastic wind loading. The cloth model consisted of19,200 triangles and 9,801 particles and the rigid bodiesconsisted of 5,472 triangles and 2,827 particles. There were,in total, 2,400 frames and the time step was 1

90 (sec). We alsochecked our friction model and compared the motion ofcloth with different friction parameters (Fig. 6b).

We collected the statistics information of scene (a). InFig. 7a, we varied the maximum surface angle �max from 30to 89 degrees. The larger �max was, the shorter the timespent in self-collision detection was. When �max becamelarger, there would be more triangles that could be mergedinto a single ð�; �Þ-surface. The number of ð�; �Þ-surfaceswould decrease. However, the speedup hardly increasedany more when �max became too large. The average self-collision detection time changed from 0.8 second to0.26 second per frame. We had the best performance when�max was 85 degrees. In this case, the average time perframe was 0.23 second. The detailed profile of the timespent in different components of the self-collision detectionprocess was plotted in Fig. 7d. From 30 degrees to89 degrees, there was a trend that the traversal time becameshorter while the partitioning time became longer. This was

WONG AND BACIU: DYNAMIC INTERACTION BETWEEN DEFORMABLE SURFACES AND NONSMOOTH OBJECTS 335

Page 8: Dynamic Interaction between Deformable Surfaces and Nonsmooth Objects

a nice pattern as we could avoid the time spent in checking

the noncolliding adjacent triangles during the BVOX-AABB

tree traversal.We tracked the performance of the proposed method

frame by frame for different �max. In Fig. 7b, the graphs of

the performance in the three cases with different �max were

plotted. Initially, when the surface was quite flat, the time

spent in self-collision detection was relatively the same in

all cases. However, when the surface started to deform (as

shown in Fig. 6), the cases with larger �max had better

performance and this result was consistent with what we

just saw in Fig. 7a. The total self-collision detection time of

the entire animation sequence in these three cases was 1,910

(30 deg), 700 (60 deg), and 540 (85 deg) seconds, respec-

tively. In Fig. 7c, we plotted the graphs for the time spent in

the entire collision detection process, including cloth-rigid

and cloth-cloth, for the three cases. The case with �max ¼85deg had the best performance. The total collision detection

time of the entire animation sequence in these three cases

was 2,070 (30 deg), 860 (60 deg), and 780 (85 deg) seconds,

respectively. The results show a significant improvement in

performance and the robustness of the collision detection

method with respect to other methods, as we describe in the

following.We further collected the performance statistics of our

proposed method in another six examples and set �max as

85 deg. The time step in animation 1 was 0.033 second and

for the rest of the animations, the time step was 0.02 second.

In these experiments, almost every triangle of the surfaces

participated in collision events. We compared the perfor-

mance of our method and the other two methods: BVOX-

AABB tree [4] and constant AABB tree [17]. These two

methods are exact as they are able to collect all the colliding

triangle pairs. For cloth-rigid collision detection, we

adopted the tree traversal scheme. We did not perform

collision detection for two triangles if they were adjacent to

each other in these three methods. The velocity-based

collision detection was employed in the intrinsic test. For

each experiment, we exported the vertex positions. Then,

we performed a postrefinement process to smooth out the

336 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 11, NO. 3, MAY/JUNE 2005

Fig. 6. Example one: Complex interaction between cloth and rigid bodies. (a) Low friction coefficient; (b) high friction coefficient. The particles along

the thick lines (indicated in the upper left picture) are fixed during the simulation.

Fig. 7. Example one: Overall performance. (a)-(c) Collision detection time per frame. (d) Percentage of time spent in different components of theproposed method. Intrinsic Tri/Tri Test: time domain triangle/triangle collision detection; partitioning surface: partitioning surface intoð�; �; IÞ-surfaces; BVOX-AABB Traversal: traversing BVOX-AABB trees to collect potential colliding triangle pairs; BVOX-AABB CON: constructionof BVOX-AABB trees for ð�; �; IÞ-surfaces. The numbers (in the bars) indicate the percentage of the corresponding item contributing to the self-collision detection process. (a) Self-collision detection: average time per frame for surface angles. (b) Self-collision detection: time per frame forsurface angles. (c) Total collision detection: time per frame for surface angles. (d) Self-collision detection: percentages of time spent in differentcomponents.

TABLE 1Summary of the Experimental Results

Average time spent in the three tasks per time step: CS: collision detection; DYN: updating collision normal, collecting admissible colliding featurepairs, computing admissible motion space, and applying velocity adjustment due to new collisions; CGM: average time spent in analyzing the statusof particles and using conjugate gradient method. *In animation 6, the number of primitives (particles/triangles) of the bumpy ground is not counted.

Page 9: Dynamic Interaction between Deformable Surfaces and Nonsmooth Objects

deformable surfaces by applying Loop’s subdivision

scheme [2]. Table 1 shows the summary of the time spent

in self-collision detection, cloth-rigid collision detection,

dynamic response computation, and solving the system

matrix, and the number of particles and triangles of the

objects. Overall, the performance of our proposed method is

the best, followed by the BVOX-AABB method and, last, the

scheme of AABB tree.Fig. 8 shows the snapshots of the animations. For all the

animation sequences, we modeled stochastic wind blowing

on the deformable surfaces. In animation 1, a net slipped

over the head of a nail, then it slipped on a bumpy slope,

collided with a small nail, and then fell onto the ground

WONG AND BACIU: DYNAMIC INTERACTION BETWEEN DEFORMABLE SURFACES AND NONSMOOTH OBJECTS 337

Fig. 8. Animations 1 to 6. The stiffnesses of the springs in animations 1-6 are between 1,000 and 2,000. In animation 6, the ridges of the objects

underneath the deformable surface are clearly shown.

Page 10: Dynamic Interaction between Deformable Surfaces and Nonsmooth Objects

with sharp crests. In animation 2, a large net fell overscepters and each had a long leg sticking on a bumpyground. The net collided with itself near the end of theanimation. In animation 3, a rectangular cloth fell on ahemisphere and then it slipped on a rough surface. It fellonto the ground with sharp crests at the end. In animation 4,a long ribbon slipped over bumpy tiles. There were tworows of tiles placed symmetrically in a slightly sloppy way.Each row had 12 tiles. Between each pair of tiles, there was asmall gap. At the middle of the two rows, there was a largegap. Near the end of the animation, the ribbon collided withitself before falling into the large gap entirely. Inanimation 5, a rectangular cloth fell over two objects, onewith smooth surface (low friction) and another with roughsurface (high friction). At the beginning, it fell onto theobjects and, gradually, one part of the cloth slipped over thesmooth object while the other part stuck onto anotherobject. Wrinkles were formed naturally. In the last anima-tion, 6, there were 80 needles which were placed on thesurface of a hemisphere. These needles formed a spiralpattern. The piece of cloth fell on the needles and then ontothe hemisphere. During the animation, the needles wereremoved one by one from the outer region to the innerregion. In this animation, the factor of wind loading washigh. The ridges of the objects underneath the deformablesurface are clearly shown.

Finally, we conducted another two examples to test ourmethod (Fig. 9). Complex interactions were demonstrated,especially, in Fig. 9b. From what is observed from themotion of the deformable surfaces, the results are consistentcompared to the results obtained from the previousexamples.

7 CONCLUSIONS

In this work, we have introduced a new surface calledð�; �; IÞ-surface in order to achieve robust collision detectionbetween deformable surfaces. The partitioning of a surfaceinto a finite set of ð�; �; IÞ-surfaces also allows for theefficient and robust self-collision detection of a 2-manifoldsurface. This is because we have shown that, for a surfacethat maintains the ð�; �; IÞ-properties self-collisions are notpossible. Therefore, self-collision detection is skipped foreach ð�; �; IÞ-subsurface.

We have proposed a variety of methods for determiningthe validity of the colliding feature pairs and two methodsfor computing the relative orientation of colliding regions.

In order to prevent surface penetration of the collidingpairs, the scheme of penetration-free motion space wasproposed. By restricting the movement of the particlesinside the motion space, for a suitable timestep, we canguarantee that there will be no penetration during thesubsequent timestep of the motion of the objects.

We have also proposed a method to handle friction andstiction by checking the particle velocities and incorporatingthe friction formulation into the motion equation when theconditions arise. Someproblems still require further research:

. Computing the accurate collision orientation is stilldifficult for arbitrary deformable surfaces. We areinvestigating an image-based method to computecollision orientation. This method is suitable for thepenetration case, the nonpenetration case, or degen-erate cases. Thus, it can tolerate numerical error upto a certain degree. We render both colliding regionsand their local neighbors onto an image plane andcheck the pixels which are covered by both of them.The determination of the orientation is based on thethe priority list: 1) all pixels belonging to oneregion S, 2) all pixels of a surface are surroundedby the pixels of another surface S, and 3) themajority of pixels belonging to S. The collisionnormal with respect to S should be consistent withthe viewing direction. By using NV_occlusion_query[1], we can retrieve the number of pixels for eachregion without needing to read the content of theimage buffers.

. The original surface may contain holes or narrowregions. The proposed method may fail to detect thefirst contact time because there are two nonadjacenttriangles assigned to the same ð�; �; IÞ-surface andthey collide with each other. Since we do not need toperform collision detection for a ð�; �; IÞ-surface,subsequently, we may miss the collision event. Inorder to deal with the surfaces with holes or narrowregions, we investigate a method to glue some ghostsurfaces to the original surface in order to fill theholes or the cavities and these surfaces form acomposite surface. When we perform the partition-ing process for collision detection, we use thecomposite surface instead of the original surface.

. Although the proposed motion-space prevents pe-netration, it excludes some possible motion. Forexample, the technique does not allow two colliding

338 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 11, NO. 3, MAY/JUNE 2005

Fig. 9. Cape and multiribbon. (a) Nine rings slip over a cape in a windy environment. (b) A multiribbon consisting of nine long ribbons falls onto

obstacles.

Page 11: Dynamic Interaction between Deformable Surfaces and Nonsmooth Objects

edges to “rotate” about each other. In order to solvethis problem, the motion-space should be expanded.

APPENDIX

TERMS AND DEFINITIONS

. Normal of a triangle in time domain: We denotexiðtÞ as xi þwiðtÞ, where wi is a second orderdifferentiable function of t and wið0Þ ¼ 0. We define~xxijðtÞ as ðxj þwjðtÞÞ � ðxi þwiðtÞÞ. Given a deform-able triangle T ðx1ðtÞ;x2ðtÞ;x3ðtÞÞ, the time domainnormal nT ðtÞ of T is defined as: nT ðtÞ � ~xx12ðtÞ �~xx13ðtÞ where x1ðtÞ, x2ðtÞ, and x3ðtÞ are the vertices ofT . We assume that the triangle does not degenerateinto a line segment or a point. Therefore, nT ðtÞ is anonzero vector.

. Canonical cone: A canonical cone Cðn; �; IÞ hasthree components: n the cone axis vector, � the coneangle, and I the time interval (Fig. 10a and Fig. 10b).We denote the normalized canonical cone asCCðn; �; IÞ if jnj ¼ 1. We suppress the term I ifI ¼ ½0; 1�.

. ð�; �; IÞ-surface: Let S be a 2-manifold surface. It is

associated with a set of triangles fT1; T2; � � � ; Tmgafter it is discretized. If there exists a nonzero vector

nðtÞ and a scalar �s, s.t. 0 � �s <�2 , for all Ti 2 S and

for all t 2 I ¼ ½0; Imax�, we have nðtÞjnðtÞj �

nTiðtÞ

jnTiðtÞj � cos �s.

Then, S is a ð�; �; IÞ-surface. Specifically, we call this

surface an ðnðtÞ; �s; IÞ-surface and it has a canonical

cone CðnðtÞ; �s; IÞ. nðtÞ is the surface axis and �s is

the surface angle. If �s is the smallest among all the

canonical cones, we call the corresponding cone the

optimal canonical cone associated with the surface.

If I ¼ ½0; 1�, we suppress this term.. Dot product of canonical cone and vector: The dot

product of a canonical cone Cðn; �; IÞ and a vector v(Fig. 10) is given by:

v � Cðn; �; IÞ ¼v n 6¼ 0;v � n � cos�

ðv � nbÞnb n 6¼ 0;v � n < cos�;

n 6¼ 0;

9�1; �2 2 R;nb ¼ �1vþ�2nj�1vþ�2nj ;

v � nb > 0;nb � n ¼ cos �;

0 otherwise:

8>>>>>>>><>>>>>>>>:

If v ¼ v � Cðn; �; IÞ, then v is inside the canonicalcone. nb is a unit vector in the space spanned by n

and v and it is on the boundary of the canonical

cone, i.e., nb � n ¼ cos �.. Intersection of canonical cones: We define the

intersection of a set of canonical conesfC1; C2; � � � ; Cmg to be the canonical cone C withthe largest cone angle lying inside the commonregion of the given cones. We denote the relationshipas C �

Ti2f1;2;���;mg Ci. Fig. 10b, c shows the intersec-

tion of two canonical cones.. Admissible space of canonical cones: We define the

admissible space of a set of canonical cones C ¼fC1; C2; � � � ; Cmg as

LðCÞ � fn : n � C ¼ n 8C 2 C;n 2 R3g:

The normalized admissible space is defined as

LLðCÞ ¼ fn : 8n 2 LðCÞ; jnj ¼ 1g. Therefore, for any

vector v 2 LðCÞ, there exists n 2 LLðCÞ s.t. v ¼ �n,

and � > 0.A direct result from the above definition

is that the intersection of the canonical cones

is a subset of their admissible space, i.e.,Ti2f1;2;���;mg Ci LðfC1; C2; � � � ; CmgÞ.

. Cone of collision constraint: We denote a cone ofcollision constraint asZðC;NÞ, whereC is a canonicalconeandN a set of canonical cones. The intersectionoftwo collision constraints Z1 and Z2 is given by:ZðC;NÞ � Z1 \ Z2 ¼ ZðC1 \ C2; N1 [N2Þ. In short,we say that Z is a collision constraint.

. Dot Product of cone of collision constraint andvector: The dot product of a cone of collisionconstraint ZðC;NÞ and a vector v is given by:

v � ZðCðn; �Þ; NÞ ¼ v 8n 2 N v � n � cos �v � C otherwise:

If v ¼ v � ZðCðn; �Þ; NÞ, then v is satisfied the

collision constraint Z or, equivalently, v is inside

the admissible space of the collision constraint.. Tangential and normal components with respect to

a cone: If a vector v is not inside the admissiblespace of the collision constraint ZðC;NÞ, thetangential component vT and the normal componentvN of v with respect to ZðC;NÞ are given by: vT ¼v � ZðC;NÞ and vN ¼ v� vT .

. Potential colliding pair: If the bounding volumes oftwo triangles overlap, these two triangles form apotential colliding pair.

. Isolated triangles: Triangles do not belong to anyð�; �; IÞ-surfaces.

WONG AND BACIU: DYNAMIC INTERACTION BETWEEN DEFORMABLE SURFACES AND NONSMOOTH OBJECTS 339

Fig. 10. Canonical cone, admissible space, and intersection of cones. (a), (b) Canonical cone: (a) convex for � � 90deg and (b) concave for

� > 90deg. (c), (d) Intersection of two cones: C ¼ C1 \ C2. (e) Admissible space and intersection of cones.

Page 12: Dynamic Interaction between Deformable Surfaces and Nonsmooth Objects

ACKNOWLEDGMENTS

This research was supported by research grants PolyU A-

PD53, 4-Z04U, and Hong Kong RGC CERG PolyU5074-E02.

REFERENCES

[1] ATI OpenGL Extension Support, June 2004, http://http://www.ati.com/developer/atiopengl.pdf/.

[2] SIGGRAPH COURSE 1998: Subdivision for Modeling andAnimation, http://www.multires.caltech.edu/teaching/courses/subdivision/, 1998.

[3] G. Baciu andW.S. K. Wong, “Hardware-Assisted Self-Collision forDeformable Surfaces,” Proc. Virtual Reality Software and TechnologyConf. (VRST), pp. 129-136, 2002.

[4] G. Baciu and W.S.K. Wong, “Image-Based Collision Detection ForDeformable Cloth Models,” IEEE Trans. Visualization and ComputerGraphics, vol. 10, no. 6, pp. 649-663, Nov./Dec. 2004.

[5] D. Baraff and A. Witkin, “Large Steps in Cloth Simulation,”Computer Graphics (SIGGRAPH ’98), pp. 43-54, 1998.

[6] D. Baraff, A. Witkin, and M. Kass, “Untangling Cloth,” ACMTrans. Graphics, vol. 22, no. 3, pp. 862-870, 2003.

[7] R. Bridson, R. Fedkiw, and J. Anderson, “Robust Treatment ofCollisions, Contact and Friction for Cloth Animation,” ACM Trans.Graphics, vol. 21, no. 3, pp. 594-603, 2002.

[8] M. Desbrun, P. Schroder, and A. Barr, “Interactive Animation ofStructured Deformable Objects,” Graphics Interface, pp. 1-8, June1999.

[9] B. Eberhardt, A. Weber, and W. Strasser, “A Fast, Flexible,Particle-System Model for Cloth Draping,” IEEE ComputerGraphics and Applications, vol. 16, no. 5, pp. 52-59, 1996.

[10] N.K. Govindaraju, S. Redon, M.C. Lin, and D. Manocha,“CULLIDE: Interactive Collision Detection between ComplexModels in Large Environments using Graphics Hardware,” Proc.SIGGRAPH/Eurographics Graphics Hardware, pp. 25-32, 2003.

[11] C. Kane, E. Repetto, M. Ortiz, and J. Marsden, “Finite ElementAnalysis of Nonsmooth Contact,” Computing Methods and Applica-tions in Mechanical Eng., pp. 1-26, 1999.

[12] M. Kass, An Introduction to Physically-Based Modeling: An Introduc-tion to Continuum Dynamics for Computer Graphics, SIGGRAPH 95Course Notes, 1995.

[13] J.D. Liu, M.T. Ko, and R.C. Chang, “Collision Avoidance in ClothAnimation,” The Visual Computer, vol. 12, no. 5, pp. 234-243, 1996.

[14] J.D. Liu, M.T. Ko, and R.C. Chang, “A Simple Self-CollisionAvoidance for Cloth Animation,” Computers and Graphics, vol. 22,no. 1, pp. 117-128, 1998.

[15] X. Provot, “Collision and Self-Collision Handling in Cloth ModelDedicated to Design Harments,” Proc. Computer Animation andSimulation ’97, pp. 177-189, 1997.

[16] J. Shewchuk, “An Introduction to the Conjugate Gradient Methodwithout the Agonizing Pain,” Technical Report CMU-CS-TR-94-1125, Carnegie Mellon Univ., 1994.

[17] G. vandenBergen, “Efficient Collision Detection of ComplexDeformable Models Using AABB Trees,” J. Graphics Tools, vol. 2,no. 4, pp. 1-14, 1999.

[18] T. Vassilev, B. Spanlang, and Y. Chrysanthou, “Fast ClothAnimation on Walking Avatars,” Computer Graphics Forum,vol. 20, no. 3, pp. 260-267, Sept. 2001.

[19] P. Volino and N. Magnenat-Thalmann, “Efficient Self-CollisionDetection on Smoothly Discretised Surface Animation UsingGeometrical Shape Regularity,” Computer Graphics Forum, Euro-graphics Proc., vol. 13, no. 3, pp. 155-166, Sept. 1994.

[20] P. Volino and N. Magnenat-Thalmann, “Collision and Self-Collision Detection: Efficient and Robust Solutions for HighlyDeformable Surfaces,” Proc. Computer Animation and Simulation’95, pp. 55-65, 1995.

[21] P. Volino and N. Magnenat-Thalmann, “Developing SimulationTechniques for an Interactive Clothing System,” Proc. VirtualSystems and Multimedia, pp. 109-118, 1997.

[22] P. Volino and N. Magnenat-Thalmann, “Implementing Fast ClothSimulation with Collision Response,” Proc. Computer Graphics Int’l,pp. 257-268, 2000.

[23] Y. Yang and N. Magnenat-Thalmann, “An Improved Algorithmfor Collision Detection in Cloth Animation with Human Body,”Proc. First Pacific Conf. Computer Graphics and Applications, pp. 237-251, 1993.

[24] D. Zhang and M.M.F. Yuen, “Collision Detection for ClothedHuman Animation,” Proc. Pacific Graphics, pp. 328-337, 2000.

Wingo Sai-Keung Wong received the BEng,MPhil, and PhD degrees in computer sciencein 1996, 1999, and 2004, respectively, fromthe Hong Kong University of Science andTechnology (HKUST). In 2001, he joined theHong Kong Polytechnic University as anassistant lecturer where he teaches coursesin programming languages and computergraphics. His current research interests include3D object collision detection, cloth simulation,

3D animation, and visualization.

George Baciu holds degrees in computerscience and applied mathematics and the PhDdegree in systems design engineering from theUniversity of Waterloo, where he has been amember of the Computer Graphics Lab and thePattern Analysis and Machine IntelligenceGroup. He is currently an associate professorin the Department of Computing at the HongKong Polytechnic University. He serves as thefounding director of the Graphics and Multimedia

Applications (GAMA) Laboratory at the Hong Kong PolytechnicUniversity, where he continues research in 3D motion capture, motionanalysis and synthesis, 3D geometric modeling, and network graphics.He has published more than 50 academic research papers and hasserved as chair or cochair of international conference committees suchas Game Technology Conference (GTEC), Pacific Graphics, VirtualReality Software and Technology (VRST), Eurographics, ComputerGraphics International, CAD/Graphics, and Computer Animation andSocial Agents (CASA). He is a member of the IEEE and the ACM. Hewas a faculty member in the Computer Science Department at the HongKong University of Science and Technology (HKUST) in 1993 andinitiated one of the first graduate and undergraduate Computer Graphicscurricula in Hong Kong. He was the founding director of the Graphicsand Music Experimentation (GAME) Laboratory at HKUST, where heconducted research in motion synthesis, 3D user interfaces, rendering,geometric modeling, and animation.

. For more information on this or any other computing topic,please visit our Digital Library at www.computer.org/publications/dlib.

340 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 11, NO. 3, MAY/JUNE 2005