06.08.2013 Views

Paper - Geometric Algorithms for Modeling, Motion, and Animation ...

Paper - Geometric Algorithms for Modeling, Motion, and Animation ...

Paper - Geometric Algorithms for Modeling, Motion, and Animation ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>and</strong>describethecoplanarity-basedcullingmethod<strong>and</strong>thede<strong>for</strong>mingnon-penetrationfilterinSection3.WepresenttheoverallCCD<br />

algorithm<strong>and</strong>itsimplementationinSection4. Wecompareour<br />

approachwithprioralgorithmsinSection5.<br />

2 RelatedWork<br />

Manyefficientalgorithmshavebeendesigned<strong>for</strong>CCDbetween<br />

rigidmodels<strong>and</strong>de<strong>for</strong>mablemodels[Govindarajuetal.2005;Hutter<strong>and</strong>Fuhrmann2007;Zhangetal.2007;Curtisetal.2008;Tang<br />

etal.2009a;Tangetal.2009b]. Someoftheseapproacheslinearlyinterpolatebetweentheverticesofthemodel<strong>and</strong>computethefirsttime-of-contactbasedonhierarchicalculling<strong>and</strong>per<strong>for</strong>mingelementarytestsbetweenthetrianglepairs.Basedonlinearly<br />

interpolatingmotionofthevertices,theelementarytestsreduce<br />

tosolvingcubicequations. However,thesetestscanbeexpensive<strong>and</strong>alsosensitivetotolerance[Brochu<strong>and</strong>Bridson2009].OtherCCD<strong>for</strong>mulationsuseadifferent<strong>for</strong>mulationoftheinterpolatingmotion[Redonetal.2002;Redonetal.June,2004;Kim<strong>and</strong><br />

Rossignac2003].Mostofthesemethodsreducetocomputingroots<br />

ofpolynomialfunctions<strong>and</strong>canbeacceleratedusingBéizerclipping[Sederberg<strong>and</strong>Nishita1990],recursivesubdivision<br />

[Taubin<br />

1994],oreigenvaluecomputations[Manocha<strong>and</strong>Demmel1995].<br />

MostoftherecentworkonCCDalgorithmshasbeenondesigninghigh-level<strong>and</strong>low-levelcullingalgorithmsthatcanreducethe<br />

numberofelementarytestsbetweentheprimitives.<br />

High-levelculling: Manyhigh-levelmethodsuseBVHstocull<br />

awaythenon-overlappingprimitives<strong>and</strong>theycanusetightfittingboundingvolumessuchask-DOPsorOBBstoobtainhigher<br />

cullingefficiency.Othercullingmethodscheck<strong>for</strong>self-collisions<br />

basedonsurfacenormals<strong>and</strong>curvature[Volino<strong>and</strong>Thalmann<br />

1994; Provot1997; Mezgeretal.2003]. Recently,Tangetal.<br />

[2009a]extendedtheseideastoCCD<strong>and</strong>presentedcontinuousnormalcones(CNCs).<br />

Low-levelculling: Hutter<strong>and</strong>Fuhrmann [2007]usedbounding<br />

volumes(k-DOPs)oftheprimitivestoavoidper<strong>for</strong>mingelementarytestsbetweendifferentfeatures.Curtisetal.[2008]<strong>and</strong>Wong<br />

<strong>and</strong>Baciu[2006]usedmaskingschemestoremovetheredundant<br />

elementarytests.However,neitheradjacenttrianglesnortheirfeaturescanbeculledbyboundingvolumes.Govindarajuetal.[2005]eliminatesomeoftheelementarytestsassociatedwithadjacenttrianglesbasedonsomeofthetestsbetweenthenon-adjacentprimitives.<br />

Tangetal.[2009a]proposedtheconcepto<strong>for</strong>phansetsto<br />

eliminatealmostalltheredundantelementarytestsbetweenadjacenttriangles.Theideahasbeenfurtherextendedtoproceduralrepresentationtriangles(PR-Triangles)toremoveallredundant<br />

elementarytestsbetweennon-adjacenttriangles. Althoughthese<br />

methodscanlowerthenumberofelementarytests<strong>and</strong>falsepositives,thecurrentCCDalgorithmscanstillresultinahighnumber<br />

offalsepositives(e.g., 95%ormore).<br />

3 De<strong>for</strong>mingNon-PenetrationFilter<br />

Inthissection,weintroducethenotationused<strong>and</strong>presentour<br />

cullingalgorithmthatreducesthenumberoffalsepositives.<br />

3.1 Notations<br />

Weusefollowingnotationsintherestofthepaper:<br />

• SV (X)isthesweptvolumeofade<strong>for</strong>mingprimitive X<br />

alongthelinearinterpolatingpathbetweenthevertices.<br />

• BV (X)istheboundingvolumeofade<strong>for</strong>mingprimitive X.<br />

BV (T )<br />

T0<br />

T0<br />

SV (T )<br />

P0<br />

T1<br />

(a) Bounding volume of a<br />

de<strong>for</strong>ming triangle<br />

P1<br />

BV (P)<br />

T1<br />

(c) Bounding volume test<br />

BV (T )<br />

n0<br />

BV (P)<br />

T0<br />

P0<br />

n1<br />

P0<br />

1 P<br />

SV (P)<br />

(b) Bounding volume of<br />

a de<strong>for</strong>ming vertex<br />

T1<br />

(d) Coplanarity test<br />

Figure2: De<strong>for</strong>mingFilter:Forade<strong>for</strong>mingtriangle T<strong>and</strong>a<br />

de<strong>for</strong>mingvertex Pdefinedby T0,T1<strong>and</strong> P0, P1respectively,the<br />

boundingvolumetest(c)becomesquiteconservative. Thecoplanaritytest(d)checkswhetherapenetrationbetweentheprimitives<br />

duringthetimeinterval. Ifthevertexisalwaysonthesameside<br />

ofthetriangleduringtheentiretimeinterval,thenthefourvertices<br />

associatedwiththatelementarytestcannotbecoplanarduringthe<br />

timeinterval [0, 1]<strong>and</strong>there<strong>for</strong>e,nocollisionoccurs.<br />

• T0, T1<strong>and</strong> Ttrepresenttheinstancesofade<strong>for</strong>mingtriangle<br />

Tat t = 0, t = 1,<strong>and</strong>arbitrary t ∈ [0, 1],respectively.<br />

• a0, b0,<strong>and</strong> c0arethethreeverticesof T0. a1, b1,<strong>and</strong> c1are<br />

theverticesof T1. at, bt,<strong>and</strong> ctaretheverticesof Tt.<br />

• n0, n1,<strong>and</strong> ntarethenormalvectorsof T0, T1,<strong>and</strong> Tt.<br />

• P0, P1<strong>and</strong> Ptaretheinstancesofade<strong>for</strong>mingvertex Pat<br />

t = 0, t = 1,<strong>and</strong>arbitrary t ∈ [0, 1],respectively.<br />

• Operator‘∗’,‘·’,<strong>and</strong>‘×’denotemultipleoftwoscalevalues,<br />

dotproductoftwovectors,<strong>and</strong>crossproductoftwovectors,<br />

respectively.<br />

3.2 Motivation<br />

Giventhelinearinterpolatingmotionbetweenthevertices,theCCD<br />

testbetweenatrianglepaircanbereducedtotwotypesofelementarytests:6VFtests<strong>and</strong>9EEtests.Eachelementarytestcanbe<br />

furtherbrokendownintotwoparts:coplanaritytest<strong>and</strong>insidetest.<br />

BoththeVFtests<strong>and</strong>EEtestsinvolvetheuseoffourde<strong>for</strong>ming<br />

vertices,<strong>and</strong>anecessarycondition<strong>for</strong>acollisionisthatthesefour<br />

verticesbecoplanar.Provot[1997]showedthecoplanaritytestof<br />

fourverticescanbereducedtofindingrootsofacubicequation.<br />

Insteadofsolvingthecubicequation,wewilldeduceasufficient<br />

conditionthatthesefourverticesarenon-coplanarduringthetime<br />

interval. Byusingthiscondition,manyelementarytestscanbe<br />

culled<strong>and</strong>wedonotneedtosolvethecubicequations.<br />

Weuseboundingvolumes<strong>for</strong>eachprimitive(edge,face,vertex),<br />

<strong>and</strong>per<strong>for</strong>mboundingvolumebasedcullingbe<strong>for</strong>etheelementary<br />

tests.However,theboundingvolumetestscanbecomequitecon-<br />

P1

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!