Paper - Geometric Algorithms for Modeling, Motion, and Animation ...
Paper - Geometric Algorithms for Modeling, Motion, and Animation ...
Paper - Geometric Algorithms for Modeling, Motion, and Animation ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
FastContinuousCollisionDetectionusingDe<strong>for</strong>mingNon-PenetrationFilters<br />
MinTang ∗<br />
ZhejiangUniversity<br />
DineshManocha †<br />
UniversityofNorthCarolinaatChapelHill<br />
RuofengTong ‡<br />
ZhejiangUniversity<br />
Figure1:BenchmarkLion:Inthissimulation,asphericalballfallsontopofaChinesestatueofalion<strong>and</strong>theliongraduallybreaksinto<br />
ahighnumberofcollidingpieces. Thismodelhas 805Kvertices<strong>and</strong> 1.6Mtriangles. Inthisscenewithchangingtopologies,ournovel<br />
collisiondetectionalgorithmbasedonade<strong>for</strong>mingfilterincreasesthecullingefficiency<strong>and</strong>reducesthenumberofelementarytestsby 10x<br />
whencomparedtopriormethods<strong>and</strong>improvestheper<strong>for</strong>manceoftheCCDalgorithmby 4.1x.<br />
Abstract<br />
Wepresentanovelcullingalgorithmthatusesde<strong>for</strong>mingnonpenetrationfilterstoimprovetheper<strong>for</strong>manceofcontinuouscollisiondetection(CCD)algorithms.Theunderlyingideaistouseasimple<strong>and</strong>effectivefilterthatreducesboththenumberoffalsepositives<strong>and</strong>theelementarytestsbetweentheprimitives.Thisfilteris<br />
derivedfromthecoplanaritycondition<strong>and</strong>canbeeasilycombined<br />
withothermethodsusedtoaccelerateCCD.Wehaveimplemented<br />
thealgorithm<strong>and</strong>testeditsper<strong>for</strong>manceonmanynon-rigidsimulations.Inpractice,wecanreducethenumberoffalsepositivessignificantly<strong>and</strong>improvetheoverallper<strong>for</strong>manceofCCDalgorithms<br />
by 1.5 − 8.2x.<br />
1 Introduction<br />
Continuouscollisiondetection(CCD)iswidelyusedindifferent<br />
applications,includingphysically-basedsimulation,CAD/CAM,<br />
<strong>and</strong>robotmotionplanning. Itsmainpurposeistocheck<strong>for</strong>collisionsbetweentwodiscretepositionsoftheobjectsorprimitives<br />
byusingsome<strong>for</strong>mofinterpolatingtrajectory. Somealgorithms<br />
usealinearlyinterpolatingtrajectorybetweenthecorresponding<br />
verticesattwodifferentpositions<strong>and</strong>CCDcomputationsreduceto<br />
per<strong>for</strong>mingelementarytestsbetweentheprimitivesbasedonthis<br />
<strong>for</strong>mulation.Specifically,theCCDtestbetweentwode<strong>for</strong>mingtrianglesreducestoper<strong>for</strong>ming9vertex-face(VF)<strong>and</strong>6edge-edge<br />
∗ e-mail:tangm@zju.edu.cn<br />
† e-mail:dm@cs.unc.edu<br />
‡ e-mail:trf@zju.edu.cn<br />
(EE)elementarytestsbasedoncoplanarityconditions. Eachelementarytestcanbereducedtocomputingtherootsofacubicequation<br />
[Provot1997;Bridsonetal.2002].<br />
Thereisanextensiveamountofresearchonacceleratingtheper<strong>for</strong>manceofCCDalgorithmsbetweencomplexde<strong>for</strong>mablemodels<strong>and</strong>reducingthenumberofelementarytests.Mostalgorithmsuseboundingvolumehierarchies(BVHs)oracombinationofhighlevel<strong>and</strong>low-levelcullingthatuseboundsonnormalsormeshconnectivityorGPU-basedaccelerations.<br />
However,thecurrentCCD<br />
algorithmsspendahighfractionofthetotalquerytimeinper<strong>for</strong>mingtheelementarytestsbetweentheprimitives<br />
[Hutter<strong>and</strong><br />
Fuhrmann2007;Curtisetal.2008;Tangetal.2009a;Sudetal.<br />
2006;Wong<strong>and</strong>Baciu2006]<strong>and</strong>resultinaveryhighnumberof<br />
falsepositives(i.e., 95%ormore).<br />
MainResult:Inthispaper,wepresentasimplecullingalgorithm<br />
thatcansignificantlyreducethenumberoffalsepositivesinterms<br />
ofelementarytests<strong>and</strong>improvetheoverallper<strong>for</strong>manceofCCD<br />
algorithms. Weintroduceanewnon-penetrationfilterwhichcan<br />
removemanyfalsepositivesthatcannotbeculledbyBVHsorother<br />
cullingmethods. Themainideaistoexploitthecoplanarityconditionoftheelementarytests<strong>and</strong>check<strong>for</strong>overlapbetweenthe<br />
primitivesateveryde<strong>for</strong>minginstanceofthecontinuoustrajectory<br />
betweenthetwodiscretetimesteps. Wederivetwo<strong>for</strong>mulations<br />
<strong>for</strong>thisde<strong>for</strong>mingnon-penetrationfilter:one<strong>for</strong>theVFtest<strong>and</strong><br />
theother<strong>for</strong>theEEtest.<br />
OurapproachiscomplementarytopriorCCDalgorithms<strong>and</strong>can<br />
beeasilycombinedwithBVHsoralgorithmsthatusehigherlevel<br />
cullingbasedonnormalbounds[Tangetal.2009a]orlowerlevel<br />
cullingbasedonmeshconnectivity[Curtisetal.2008]. Wehave<br />
testeditsper<strong>for</strong>manceoncomplexbenchmarkscorrespondingto<br />
clothsimulation,breakingobjects,<strong>and</strong>N-bodysimulationswith<br />
highmodelcomplexity<strong>and</strong>observedupto58xreductioninthe<br />
numberofelementarytests<strong>and</strong>upto8.2ximprovementintheper<strong>for</strong>manceoftheoverallCCDalgorithm.<br />
Organization:Therestofthepaperisorganizedasfollows:Section2givesabriefsurveyofpriorwork.Weintroduceournotation
<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
a0<br />
a1<br />
P0<br />
n1<br />
T0<br />
T1<br />
P<br />
t<br />
b0<br />
Tt<br />
b1<br />
n0<br />
P1<br />
nt<br />
c1<br />
c0<br />
(a) De<strong>for</strong>ming triangle ( T)<br />
&<br />
de<strong>for</strong>ming vertex ( P)<br />
at<br />
Pt<br />
( P a ) n<br />
t<br />
t<br />
nt<br />
(b) Projected distance<br />
between Pt <strong>and</strong> t T<br />
Figure3:VFtestfilter:Toper<strong>for</strong>maVFtestbetweenade<strong>for</strong>ming<br />
triangle(definedby a0, b0, c0at t = 0,<strong>and</strong> a1, b1, c1at t = 1)<br />
<strong>and</strong>amovingvertex(definedby P0at t = 0<strong>and</strong> P1at t = 1),we<br />
needtocheck<strong>for</strong>coplanaritybetweenthevertex<strong>and</strong>thetriangleby<br />
findingat(t ∈ [0, 1])whentheprojecteddistancealongthenormal<br />
vectorofthetriangleisequaltozero,i.e., (Pt − at) · nt = 0.<br />
servative<strong>for</strong>primitivelevelCCDtests.Fortheexampleshownin<br />
Fig.2, BV (T)<strong>and</strong> BV (P)aretheboundingvolumesofade<strong>for</strong>mingtriangle<br />
T <strong>and</strong>ade<strong>for</strong>mingvertex P,respectively. Inorder<br />
toper<strong>for</strong>mculling, BV (T)<strong>and</strong> BV (P)mustcontaintheswept<br />
volumesofde<strong>for</strong>mingprimitives,i.e., SV (T)<strong>and</strong> SV (P),respectively(Fig.2(a-b)).<br />
TheVFpair {T, P }willbetested<strong>for</strong>exact<br />
CCDtest,sincetheirboundingvolumesoverlapduringthetime<br />
interval [0, 1](Fig.2(c)).<br />
Wemakeuseofthefollowingobservation:ifthevertex Pisalways<br />
onthesamesideofthetriangle Talongtheentire [0, 1]trajectory,<br />
thispairshouldbeclassifiedasafalsepositivesinceitcannotbe<br />
coplanar(Fig.2(d)).Basedonthisobservation,wederiveasufficientconditiontocheckwhether<br />
Ptwillalwaysbeonthesameside<br />
of Ttduringthetimeinterval [0, 1].Ifapairofprimitivessatisfies<br />
thiscondition,thenwedon’tneedtoper<strong>for</strong>mtheexacttestinterms<br />
ofsolvingacubicequation.<br />
Theideacanbesimilarlyextended<strong>for</strong>theEEtests:ifthereisno<br />
crossingbetweenthetwode<strong>for</strong>mingedgesalongthecontinuous<br />
trajectory,theycannotbecoplanarduringthetimeinterval.<br />
3.3 CoplanarityTest<br />
Inordertocheckthecoplanarityofavertex Pt<strong>and</strong>atriangle Tt,<br />
weneedtocalculatetheprojecteddistancebetweenthemalongthe<br />
directionof nt,asshowninFig.3(b).Ifthisdistancebecomeszero<br />
atanytimeinterval,thanthefourverticesofthetwoprimitivesare<br />
classifiedascoplanar.<br />
Non-coplanarTheorem<strong>for</strong>VFtests: Foratriangle Tt<strong>and</strong>a<br />
vertex Ptdefinedbythestart<strong>and</strong>endpositionsduringtheinterval<br />
[0, 1],thesepositionsarelinearlyinterpolatedintheintervalwith<br />
respecttothetimevariable, t.Ifthefollowingfourscalarvalues:<br />
A, B, 2∗C+F<br />
,<strong>and</strong> 3 2∗D+E<br />
havethesamesign, Tt<strong>and</strong> Ptwillnot<br />
3<br />
becoplanarduringtheinterval:<br />
A = (P0 − a0) · n0, B = (P1 − a1) · n1 (1)<br />
C = (P0 − a0) · ˆn, D = (P1 − a1) · ˆn (2)<br />
E = (P0 − a0) · n1, F = (P1 − a1) · n0 (3)<br />
t<br />
And:<br />
n0 = (b0 − a0) × (c0 − a0), n1 = (b1 − a1) × (c1 − a1)<br />
ˆn = (n0 + n1 − (vb − va) × (vc − va))<br />
2<br />
va = a1 − a0, vb = b1 − b0, vc = c1 − c0.<br />
Proof. Thenormalvector ntofthede<strong>for</strong>mingtriangleattime tcan<br />
berepresentedasfollowing:<br />
nt = n0 ∗ B 2 0(t) + ˆn ∗ B 2 1(t) + n1 ∗ B 2 2(t) (4)<br />
where B 2 i (t)isthe i th basisfunctionoftheBernsteinpolynomials<br />
ofdegree 2.<br />
Wedefine: α = B 2 0(t) = (1 − t) 2 , β = B 2 1(t) = 2 ∗ t ∗ (1 − t),<br />
<strong>and</strong> γ = B 2 1(t) = t 2 .ThenEquation(4)becomes:<br />
nt = n0 ∗ α + ˆn ∗ β + n1 ∗ γ<br />
Forthemovingvertex Pt = P0 ∗ (1 − t) + P1 ∗ t<strong>and</strong>avertexof<br />
thede<strong>for</strong>mingtriangle at = a0 ∗ (1 − t) + a1 ∗ t,theirprojected<br />
distantalong ntis:<br />
(Pt − at) · nt = ((P0 − a0) ∗ (1 − t) + (P1 − a1) ∗ t) · nt<br />
= ((P0 − a0) ∗ (1 − t) + (P1 − a1) ∗ t)<br />
·(n0 ∗ α + ˆn ∗ β + n1 ∗ γ)<br />
= (P0 − a0) · n0 ∗ (1 − t) ∗ α<br />
+ (P0 − a0) · ˆn ∗ (1 − t) ∗ β<br />
+ (P0 − a0) · n1 ∗ (1 − t) ∗ γ<br />
+ (P1 − a1) · n1 ∗ t ∗ γ<br />
+ (P1 − a1) · ˆn ∗ t ∗ β<br />
+ (P1 − a1) · n0 ∗ t ∗ α<br />
Substitute α, β,<strong>and</strong> γ,wehave:<br />
(Pt − at) · nt = (P0 − a0) · n0 ∗ (1 − t) 3<br />
+ (P0 − a0) · ˆn ∗ 2 ∗ (1 − t) 2 ∗ t<br />
+ (P0 − a0) · n1 ∗ (1 − t) ∗ t 2<br />
+ (P1 − a1) · n1 ∗ t 3<br />
+ (P1 − a1) · ˆn ∗ 2 ∗ t 2 ∗ (1 − t)<br />
+ (P1 − a1) · n0 ∗ t ∗ (1 − t) 2<br />
UsingthesymbolsdefinedbyEquations(1)-(3),Equation(5)becomes:<br />
(Pt − at) · nt = A ∗ (1 − t) 3 + C ∗ 2 ∗ (1 − t) 2 ∗ t<br />
+ E ∗ (1 − t) ∗ t 2 + B ∗ t 3<br />
+ D ∗ 2 ∗ t 2 ∗ (1 − t) + F ∗ t ∗ (1 − t) 2<br />
= A ∗ B 3 0(t) +<br />
+ 2 ∗ D + E<br />
3<br />
2 ∗ C + F<br />
3<br />
∗ B 3 1(t)<br />
(5)<br />
∗ B 3 2(t) + B ∗ B 3 3(t) (6)<br />
where B 3 i (t)isthe i th basisfunctionoftheBernsteinpolynomials<br />
ofdegree 3.<br />
Byusingtheconvexhullpropertyassociatedwithcontrolpointsof<br />
theBernsteinbasis,therangeoftheprojecteddistancebetween Pt<br />
<strong>and</strong> Ttisboundedbythecontrolvertices.Inourcase,thesecontrol<br />
verticesarethefourscalarvalues: A, B, 2∗C+F<br />
3 ,<strong>and</strong> 2∗D+E<br />
3 .
ut<br />
u0<br />
u1<br />
kt<br />
k1<br />
k0<br />
E<br />
2<br />
t<br />
E<br />
v0<br />
l1<br />
lt<br />
vt<br />
l<br />
v1<br />
(a) Two de<strong>for</strong>ming edges<br />
1 2<br />
E & E<br />
1<br />
t<br />
0<br />
ut<br />
kt<br />
E<br />
2<br />
t<br />
E<br />
vt<br />
( l <br />
lt<br />
t kt)<br />
nt<br />
(b) Projected distance<br />
1 between E <strong>and</strong> E<br />
Figure4: EEtestfilter:Toper<strong>for</strong>maEEtestbetweenthetwo<br />
edges E 1 <strong>and</strong> E 2 (definedby u0, v0<strong>and</strong> k0, l0at t = 0, u1, v1<br />
<strong>and</strong> k1, l1at t = 1),weneedtocheckthecoplanarityconditions<br />
oftheseverticesbyfindingall t(t ∈ [0, 1])wheretheprojected<br />
distancebetween lt<strong>and</strong>thetriangledefinedby kt, ut,<strong>and</strong> vtis<br />
equaltozero,i.e., (lt − kt) · nt = 0.<br />
Soweobtainthesufficientcondition<strong>for</strong>non-coplanar: Ifallthe<br />
fourscalarvaluesarenegative/positive,thevertices Ptwillnever<br />
beontheplanedefinedbythethreevertices(at, bt,<strong>and</strong> ct)ofthe<br />
de<strong>for</strong>mingtriangle Tt.<br />
Thegeometricinterpretationofsymbol A<strong>and</strong> Bisthattheyrepresenttheprojecteddistancesat<br />
t = 0<strong>and</strong> t = 1,respectively.From<br />
Equation(6),weconcludethatitisnotsufficienttoonlycheckthe<br />
signsof A<strong>and</strong> B,thevaluesofothersymbols C-Falsoaffectthe<br />
coplanaritycondition.<br />
3.3.1 ExtensiontoEEtests<br />
Inordertoper<strong>for</strong>manelementarytestbetweentwoedges E 1 <strong>and</strong><br />
E 2 (definedby u0, v0<strong>and</strong> k0, l0at t = 0, u1, v1<strong>and</strong> k1, l1at t =<br />
1),weneedtocheckthecoplanarityofthesefourpoints(Fig.4).<br />
Byreplacing Pt, at, bt, ctwith lt, kt, ut, vt,wecansymmetrically<br />
deduceanon-coplanartheorem<strong>for</strong>EEtests:<br />
Non-coplanarTheorem<strong>for</strong>EEtests: Fortwode<strong>for</strong>mingedges<br />
E 1 <strong>and</strong> E 2 definedbythestart<strong>and</strong>endpositionsduringtheinterval<br />
[0, 1],thesepositionsarelinearlyinterpolatedintheinterval<br />
withrespecttothetimevariable, t.Ifthefollowingfourscalarvalues:<br />
A ′ , B ′ , 2∗C′ +F ′<br />
,<strong>and</strong> 3 2∗D′ +E ′<br />
havethesamesign, E 3<br />
1 <strong>and</strong><br />
E 2 willnotbecoplanarduringtheinterval:<br />
A ′ = (l0 − k0) · n ′ 0, B ′ = (l1 − k1) · n ′ 1<br />
C ′ = (l0 − k0) · ˆn ′ , D ′ = (l1 − k1) · ˆn ′<br />
E ′ = (l0 − k0) · n ′ 1, F ′ = (l1 − k1) · n ′ 0<br />
And: n ′ 0 = (u0 − k0) × (v0 − k0), n ′ 1 = (u1 − k1) × (v1 − k1)<br />
ˆn ′ = (n′ 0 +n′ 1 −( vu− v k)×( vv− v k))<br />
2<br />
vk = k1 − k0, vu = u1 − u0, vv = v1 − v0.<br />
3.4 CCDAlgorithm<br />
We use the non-planarity filter defined above to per<strong>for</strong>m<br />
coplanarity-basedculling.WeuseEquations(1)-(3)tocalculatethe<br />
valuesofthefourcontrolverticesdefinedinthoseequations<strong>for</strong>a<br />
primitivepair.Ifthesevariableshavethesamesign,thispairwill<br />
beidentifiedasafalsepositive.<br />
1<br />
t<br />
t<br />
nt<br />
2<br />
t<br />
BVH Traversal<br />
Inter-object testing<br />
Triangle based<br />
bounding volume<br />
culling<br />
Intra-object testing<br />
Continuous normal<br />
cone<br />
PR-Trianges<br />
Orphan set<br />
Primitive based<br />
bounding volume<br />
culling<br />
De<strong>for</strong>ming Non-<br />
Penetration Filter<br />
Elementary tests<br />
Figure5: CCDalgorithmwithde<strong>for</strong>mingnon-penetrationfilter:Thede<strong>for</strong>mingnon-penetrationfilteriscomplementarytotheoverallCCDalgorithm<strong>and</strong>canbeper<strong>for</strong>medrightbe<strong>for</strong>etheelementarytests.<br />
(a) Use of de<strong>for</strong>ming filter (b) Only use of bounding volume tests<br />
Figure6: EdgesinvolvedbyEEtestswithdifferentculling<br />
methods:Thisfigureshowsedges(highlightedingreen<strong>and</strong>blue<br />
respectively)usedbyEEtestsduringaspecificframeoftheCloth<br />
benchmark(Fig.7(d))withcoplanarity-basedculling<strong>and</strong>boundingvolumebasedcullingrespectively.Comparingtoonlyboundingvolumebasedculling,thenumberofEEelementarytestsare<br />
reducedby 80%withthede<strong>for</strong>mingnon-penetrationfilter.<br />
Thede<strong>for</strong>mingnon-penetrationfiltercanbecombinedwithhierarchicalrepresentations(Fig.5).<br />
DuringthetraversalofBVH,we<br />
per<strong>for</strong>mdifferenthigh-levelcullingmethodstoremoveredundant<br />
pairwisetestsorprimitivepairsthatarenotincloseproximityto<br />
oneanother.Next,thede<strong>for</strong>mingnon-penetrationfilterisusedas<br />
partoflow-levelcullingtofurtherremovethefalsepositives.<br />
Fig.6comparestheeffectsofboundingvolumebasedculling<strong>and</strong><br />
coplanarity-basedculling.ThegreenlinesegmentsinFig.6(a)<strong>and</strong><br />
bluelinesegmentsinFig.6(b)describethedistributionofedgesinvolvedinEEtestswithde<strong>for</strong>mingnon-penetrationfilter<strong>and</strong>boundingvolumebasedcullingrespectively.Asshowninthefigure,comparedtothenumberoftestsintheboundingvolumebasedculling,<br />
weobservemorethan 80%reductioninthenumberofelementary<br />
testsonthisscene.<br />
4 Implementation<strong>and</strong>Per<strong>for</strong>mance<br />
Inthissection,wedescribeourimplementation<strong>and</strong>highlightthe<br />
per<strong>for</strong>manceofouralgorithmonseveralbenchmarks.
4.1 Implementation<br />
Wehaveimplementedouralgorithmonast<strong>and</strong>ard2.4GHzIntel<br />
Pentiummachinewith4GBRAMon32-bitWindows/XPplat<strong>for</strong>m.<br />
Theper<strong>for</strong>manceismeasuredusingasinglethread.Weusek-DOPs<br />
(specifically16-DOPs)asboundingvolumesbecausetheyprovide<br />
agoodbalancebetweentightfitting<strong>and</strong>rapidupdating.<br />
Weuserestructuring<strong>and</strong>refittingtoupdatethehierarchy<strong>for</strong>de<strong>for</strong>mablemodels.IntelSSE/SSE2instructionsareusedtoacceleratetheupdatingof<strong>and</strong>overlaptestingbetweenboundingvolumes.<br />
WeuseanimplementationoftheICCDalgorithmbasedonnormal<br />
cones<strong>for</strong>high-levelculling[Tangetal.2009a]asabaseline<strong>for</strong><br />
comparison.WealsointegrateourfilterswiththeR-Trianglealgorithm[Curtisetal.2008],asitspendsalargefractionofthequery<br />
timeontheelementarytests.<br />
4.2 Benchmarks&Per<strong>for</strong>mance<br />
Inordertotesttheper<strong>for</strong>manceofouralgorithm,weusedsixdifferentbenchmarks,arisingfromdifferentsimulationswithdifferent<br />
characteristics.<br />
• Lion:Forthisbreakingbenchmarkwith1.6Mtriangles(Figure1),ouralgorithmreducesthenumberofelementarytest<br />
by 10xascomparedtopriorCCDalgorithms.<br />
• Balls:Ascenewithhundredsofballs(34Ktriangles)thatare<br />
collidingwitheachother(Figure7(a)).Ourde<strong>for</strong>mingnonpenetrationfilterreducesthenumberofelementarytestsby<br />
17x.<br />
• FallingAlphabets: Multiplede<strong>for</strong>mingcharacters(5Ktriangles)fallintoabowl<strong>and</strong>breakintopieces(Figure7(b)).<br />
OurCCDalgorithmreducesthenumberofelementarytests<br />
by 58x.<br />
• Princess: Thismodel(40Ktriangles)hasmanyinter-<strong>and</strong><br />
intra-objectcollisions(Figure7(c)). Ouralgorithmreduces<br />
thenumberofelementarytestsby 20.5x.<br />
• Cloth: Acloth(92Ktriangles)hasahighnumberofselfcollisions(Figure7(d)).Ouralgorithmreducesthenumberof<br />
elementarytestsby 11.5x.<br />
• Flamenco:Thisbenchmark(49Ktriangles)hasmanyinter<strong>and</strong>intra-objectcollisions(Figure7(e)).TheCCDalgorithm<br />
withthede<strong>for</strong>mingnon-penetrationfilterreducesthenumber<br />
ofelementarytestsby 17x.<br />
Fig.8highlightsthecullingefficiencyofouralgorithmbycomparingthenumberofelementarytestsper<strong>for</strong>med.Asshowninthefigure,theelementarytestsaredramaticallyreducedby<br />
10 − 58.7x.<br />
Also,bypreventingthecomputationofthesefalsepositives,we<br />
achieve 1.5−3.5ximprovementonoverallper<strong>for</strong>manceincomparisonwiththeICCDalgorithm[Tangetal.2009a],<strong>and</strong><br />
2.4 − 8.2x<br />
improvementoverR-Triangles[Curtisetal.2008](Table.1). For<br />
BenchmarkFlamenco,itsaveragerunningtimeperframeinR-<br />
Triangles,ICCD,<strong>and</strong>oursystemareshowninFigure9.<br />
5 Analysis<strong>and</strong>Comparison<br />
Inthissection,weanalyzeourresults<strong>and</strong>compareagainstprior<br />
methods.<br />
5.1 Analysis<br />
Althoughtheper<strong>for</strong>manceofourde<strong>for</strong>mingnon-penetrationfilter<br />
varieswithdifferentbenchmarks,weareabletoobtainhighculling<br />
(a) Balls<br />
(b) Falling Alphabets<br />
(d) Cloth<br />
(c) Princess (e) Flamenco<br />
Figure7:Benchmarks:Allthebenchmarkshavemultiplesimulationsteps.Weper<strong>for</strong>mCCD,includingself-collisions,betweendiscretestepsofthesimulation<strong>and</strong>computethefirsttime-of-contact.<br />
efficiencyinmanyofthem.Thebasicfiltertestproposedinthenoncoplanartheoremsisconservative.<br />
Intuitively,ournon-coplanar<br />
theoremeliminatestheneedtoper<strong>for</strong>mexacttestsonpairswhere<br />
no‘penetrations’occuralongthecontinuoustrajectory. Inpractice,duetothetemporalcoherencebetweensubsequentframes,the<br />
’penetrations’onlyoccurinfrequently. Fig.10showsthechangingofratiosofprimitivepairsinwhichno‘penetration’occurs<br />
duringthetimeinterval. Inthefigure,theratiosstayabove 80%,<br />
<strong>and</strong>arechangingsmoothly.Duetocoherence,ourde<strong>for</strong>mingnonpenetrationfiltercanbequiteeffective.<br />
WeusetheInterval-Newtonmethodtosolvethecubicequations.<br />
Anelementarytesttakesaboutroughly155additions,217multiplications,<strong>and</strong>6divisionsonaverage(all<strong>for</strong>floatpointvalues).<br />
Ontheotherh<strong>and</strong>,thede<strong>for</strong>mingnon-penetrationfilteronlyneedto<br />
per<strong>for</strong>m29additions<strong>and</strong>40multiplicationsonaverage.Inpractice,<br />
thespeedofade<strong>for</strong>mingnon-penetrationfilterisabout5.5-10.2x<br />
fasterthananexacttest.<br />
5.2 Comparison<br />
Inthissection,wecompareournovelalgorithmwithpriorculling<br />
algorithms.<br />
Bounding volume based culling: Bounding volumes (e.g.<br />
spheres [Hubbard 1993; Palmer <strong>and</strong> Grimsdale 1995; Bradshaw<strong>and</strong>O’Sullivan2004],AABBs[v<strong>and</strong>enBergen1997],k-
60<br />
50<br />
40<br />
30<br />
20<br />
10<br />
0<br />
Lion<br />
Cloth<br />
Princess<br />
Flamenco<br />
Balls<br />
FallingAlphabets<br />
Figure8: Cullingefficiency:Thisfigureshowsthecullingefficiencyofouralgorithmbycomparingthenumberofelementary<br />
testsper<strong>for</strong>med.Forthebenchmarks,ouralgorithmiscapableof<br />
reducingthenumberofelementarytestsby 10 − 58.7x.<br />
ms/frame<br />
300.00<br />
250.00<br />
200.00<br />
150.00<br />
100.00<br />
50.00<br />
0.00<br />
Elementary tests<br />
BVH traversal<br />
R-Tri ICCD Our algorithm<br />
Figure9: Averagerunningtimeperframe:Thisfigureshows<br />
theaveragerunningtimeperframeofBenchmarkFlamencowith<br />
R-Triangles[Curtisetal.2008],ICCD[Tangetal.2009a],<strong>and</strong><br />
ouralgorithm,respectively.<br />
DOPs[Klosowskietal.1998],OBBs[Gottschalketal.1996],etc.)<br />
canbeusedtoremoveprimitivepairswhoseprimitivesarenotin<br />
closeproximitytoeachother.Thesemethodswork<strong>for</strong>inter-object<br />
<strong>and</strong>intra-objectcollisions.But<strong>for</strong>CCD,theboundingvolumesof<br />
primitivesarequiteconservative<strong>and</strong>makefalsepositiveratesvery<br />
high.Ourde<strong>for</strong>mingnon-penetrationfiltercanimprovetheculling<br />
efficiency.<br />
Orphansets: Orphansets[Tangetal.2009a]arequiteeffectiveatremovingredundantelementarytestsbetweenadjacenttriangles.<br />
However,theydonotreducethefalsepositivesbetween<br />
non-adjacentprimitives,whereasourfiltercanbeused<strong>for</strong>these<br />
cases.<br />
Continuousnormalcones:CNCs [Tangetal.2009a]areapplied<br />
toremovefalsepositivesonlargeareaswherearerelativelyflatina<br />
mesh.Theyonlywork<strong>for</strong>self-collisions,<strong>and</strong>arequiteconservative<br />
onmodelswithhighcurvatures.<br />
Representativetriangles: Representativetriangles[Curtisetal.<br />
2008]canremovealltheredundantelementaryteststhatarecaused<br />
bysharedfeaturesbetweentheadjacenttriangles.Proceduralrepresentativetriangles[Tangetal.2009a]combineitwithCNCculling.<br />
Ourde<strong>for</strong>mingnon-penetrationfiltercomplementsthesemethods.<br />
GPU based culling: GPU algorithms that use occlusion<br />
queries[Govindarajuetal.2005]<strong>and</strong>rasterizationbaseddistance<br />
fieldcomputation [Sudetal.2006]arecomplementarytoour<br />
cullingalgorithm.<br />
Table1:Per<strong>for</strong>mance<strong>and</strong>Speedup:Thistableshowstheaveragequerytimeofourmethod<strong>and</strong>per<strong>for</strong>manceimprovementover<br />
ICCD[Tangetal.2009a]<strong>and</strong>R-Triangles[Curtisetal.2008].<br />
Model Query Speedupover Speedupover<br />
(time ms) ICCD R-Triangles<br />
Cloth 144 2x 2.4x<br />
Princess 18.7 2.4x 3.1x<br />
Flamenco 110 1.5x 2.8x<br />
Balls 52.8 1.7x 3.4x<br />
Falling 4.6 3.5x 8.2x<br />
Alphabets<br />
Lion 4432 2.4x 4.1x<br />
100%<br />
80%<br />
60%<br />
ratio<br />
Balls Cloth Flamenco<br />
Figure10:Temporalcoherency:(a),(b),<strong>and</strong>(c)showthechangingratiosofprimitivepairsinwhichnopenetrationoccursduring<br />
thetimeinterval<strong>for</strong>thebenchmarksBalls,Cloth,<strong>and</strong>Flamenco,<br />
respectively. Theratiostendtobeabove 80%,<strong>and</strong>arechanging<br />
smoothly.<br />
5.3 Limitations<br />
Ourapproachonlyprovidesafilteratthefeaturelevel.Asaresult,<br />
itneedstobeapplied<strong>for</strong>eachVForEEtest.Moreover,ourtestcan<br />
beconservativeduetotheunderlying<strong>for</strong>mulation.Ifahigh-level<br />
cullingalgorithmisabletocullawayahighpercentageoffalse<br />
positives,thenwemayobtainarelativelysmallimprovementusing<br />
ourde<strong>for</strong>mingnon-penetrationfilter.<br />
6 Conclusion<strong>and</strong>FutureWork<br />
Wehavepresentedanovelcullingalgorithm<strong>for</strong>CCDbetween<br />
complex de<strong>for</strong>mable models by proposing a de<strong>for</strong>mable nonpenetrationfilter.<br />
Bycheckingthecoplanarityoftheverticesof<br />
theprimitives,ouralgorithmcansignificantlyreducethenumberof<br />
falsepositives,<strong>and</strong>subsequentlyimprovetheoverallper<strong>for</strong>mance<br />
ofCCDalgorithms.Moreover,ourapproachiscomplementaryto<br />
<strong>and</strong>canbecombinedwithmostpriormethods. Wetesttheper<strong>for</strong>manceondifferentbenchmarks<strong>and</strong>observedconsiderableimprovementintermsofreducingthenumberoffalsepositives.<br />
Inourfuturework,itisinterestingtodevelopenhancedfiltersthat<br />
wouldfurtherimprovethecullingefficiency.Itmayalsobepossible<br />
tofurtherimprovetheper<strong>for</strong>manceofthefiltersbyfurtherutilizingtemporalcoherence<strong>and</strong>/orusingSSEinstructions.<br />
Currently,<br />
ourCCD<strong>for</strong>mulationisbasedonlinearmovementsofvertices,it<br />
ispossibletoderivesimilarbounds<strong>for</strong>othermotionsofthevertices,e.g.arbitraryinterplaitingmotion[Redonetal.June,2004].<br />
Finally,wewouldliketouseourCCDalgorithmwithsomewell<br />
knowngamePhysicsengines(e.g.,Bullet,Hovak,PhysX,etc.),<br />
<strong>and</strong>alsoapplyourCCDalgorithmtomorecomplexbenchmarks.<br />
t
Acknowledgments<br />
WewouldliketothankJieyiZhao,JiangLin,PengDu<strong>and</strong>Ming<br />
Lin<strong>for</strong>usefuldiscussions<strong>and</strong>thebenchmarks. Theclothmodels<br />
wereprovidedbyRasmusTamstorfatDisney<strong>Animation</strong>.<br />
ThisresearchissupportedinpartbyNationalBasicResearchProgramofChina(No.2006CB303106),MOE-Intelspecialresearch<br />
fundonin<strong>for</strong>mationtechnology(No. MOE-INTEL-09-05),ARO<br />
ContractW911NF-04-1-0088,NSFawards0636208,0917040<strong>and</strong><br />
0904990,DARPA/RDECOMContractWR91CRB-08-C-0137,<strong>and</strong><br />
Intel.TangissupportedinpartbyNaturalScienceFoundationof<br />
China(No.60803054),NationalKeyTechnologyR&DProgram,<br />
China(No. 2006BAF01A45-05),NaturalScienceFoundationof<br />
Zhejiang,China(No.Y107403),Doctoralsubjectspecialscientific<br />
researchfundofEducationMinistryofChina(No.20070335074).<br />
References<br />
BRADSHAW,G.,ANDO’SULLIVAN,C. 2004.Adaptivemedialaxisapproximation<strong>for</strong>sphere-treeconstruction.ACMTrans.on<br />
Graphics23,1,1–26.<br />
BRIDSON,R.,FEDKIW,R.,ANDANDERSON,J. 2002. Robust<br />
treament<strong>for</strong>collisions,contact<strong>and</strong>friction<strong>for</strong>clothanimation.<br />
Proc.ofACMSIGGRAPH,594–603.<br />
BROCHU,T.,ANDBRIDSON,R. 2009. Numericallyrobustcontinuouscollisiondetectionfrodynamicexplictsurfaces.<br />
Tech.<br />
rep.,TR-2009-03,UniversityofBritishColumbia,Vancouver.<br />
CURTIS,S.,TAMSTORF,R., ANDMANOCHA,D. 2008. Fast<br />
collisiondetection<strong>for</strong>de<strong>for</strong>mablemodelsusingrepresentativetriangles.InSI3D’08:Proceedingsofthe2008Symposiumon<br />
Interactive3Dgraphics<strong>and</strong>games,61–69.<br />
GOTTSCHALK,S.,LIN,M.C.,ANDMANOCHA,D.1996.Obbtree:ahierarchicalstructure<strong>for</strong>rapidinterferencedetection.In<br />
SIGGRAPH’96:Proceedingsofthe23rdannualconferenceon<br />
Computergraphics<strong>and</strong>interactivetechniques,ACM,NewYork,<br />
NY,USA,171–180.<br />
GOVINDARAJU, N., KNOTT, D., JAIN, N., KABUL, I., TAM-<br />
STORF,R.,GAYLE,R.,LIN,M.,ANDMANOCHA,D. 2005.<br />
Interactivecollisiondetectionbetweende<strong>for</strong>mablemodelsusing<br />
chromaticdecomposition. ACMTrans.onGraphics(Proc.of<br />
ACMSIGGRAPH)24,3,991–999.<br />
HUBBARD,P.M. 1993. Interactivecollisiondetection. InProceedingsofIEEESymposiumonResearchFrontiersinVirtual<br />
Reality.<br />
HUTTER,M., ANDFUHRMANN,A. 2007. Optimizedcontinuouscollisiondetection<strong>for</strong>de<strong>for</strong>mabletrianglemeshes.InProc.<br />
WSCG’07,25–32.<br />
KIM,B.,ANDROSSIGNAC,J.2003.Collisionprediction<strong>for</strong>polyhedraunderscrewmotions.InACMSymposiuminSolid<strong>Modeling</strong><strong>and</strong>Applications,ACMPress,4–10.<br />
KLOSOWSKI,J.,HELD,M.,MITCHELL,J.,SOWIZRAL,H.,AND<br />
ZIKAN,K. 1998. Efficientcollisiondetectionusingbounding<br />
volumehierarchiesofk-dops.IEEETrans.onVisualization<strong>and</strong><br />
ComputerGraphics4,1,21–37.<br />
MANOCHA,D.,ANDDEMMEL,J.1995.<strong>Algorithms</strong><strong>for</strong>intersectingparametric<strong>and</strong>algebraiccurvesii:<br />
multipleintersections.<br />
Graph.ModelsImageProcess.57,2,81–100.<br />
MEZGER,J.,KIMMERLE,S.,ANDETZMUβ,O.2003.Hierarchicaltechniquesinclothdetection<strong>for</strong>clothanimation.Journalof<br />
WSCG11,1,322–329.<br />
PALMER,I.J.,ANDGRIMSDALE,R.L.1995.Collisiondetection<br />
<strong>for</strong>animationusingsphere-trees.ComputerGraphicsForum14,<br />
2,105–116.<br />
PROVOT,X. 1997. Collision<strong>and</strong>self-collisionh<strong>and</strong>lingincloth<br />
modeldedicatedtodesigngarment. GraphicsInterface,177–<br />
189.<br />
REDON,S.,KHEDDAR,A., ANDCOQUILLART,S. 2002. Fast<br />
continuouscollisiondetectionbetweenrigidbodies. Proc.of<br />
Eurographics(ComputerGraphicsForum)21,3,279–288.<br />
REDON,S.,KIM,Y.J.,LIN,M.C.,ANDMANOCHA,D. June,<br />
2004.Fastcontinuouscollisiondetection<strong>for</strong>articulatedmodels.<br />
InSM’04:ProceedingsoftheninthACMsymposiumonSolid<br />
modeling<strong>and</strong>applications,145–156.<br />
SANNA,A.,ANDMILANI,M.2004.CDFast:analgorithmcombiningdifferentboundingvolumestrategies<strong>for</strong>realtimecollisiondetection.SCIProceedings2,144–149.<br />
SEDERBERG,T.W.,ANDNISHITA,T. 1990. Curveintersection<br />
usingbe´zierclipping.Comput.AidedDes.22,9,538–549.<br />
SUD, A., GOVINDARAJU, N., GAYLE, R., KABUL, I., AND<br />
MANOCHA,D. 2006. Fastproximitycomputationamongde<strong>for</strong>mablemodelsusingdiscretevoronoidiagrams.Proc.ofACM<br />
SIGGRAPH,1144–1153.<br />
TANG,M.,CURTIS,S.,YOON,S.-E.,ANDMANOCHA,D.2009.<br />
ICCD:Interactivecontinuouscollisiondetectionbetweende<strong>for</strong>mablemodelsusingconnectivity-basedculling.IEEETransactionsonVisualization<strong>and</strong>ComputerGraphics15,4,544–557.<br />
TANG,M.,KIM,Y.J., ANDMANOCHA,D. 2009. C2a:Controlledconservativeadvancement<strong>for</strong>continuouscollisiondetectionofpolygonalmodels.ProceedingsofInternationalConferenceonRobotics<strong>and</strong>Automation,849–854.<br />
TAUBIN,G.1994.Rasterizingalgebraiccurves<strong>and</strong>surfaces.IEEE<br />
Comput.Graph.Appl.14,2,14–23.<br />
VANDENBERGEN,G.1997.Efficientcollisiondetectionofcomplexde<strong>for</strong>mablemodelsusingAABBtrees.JournalofGraphics<br />
Tools2,4,1–14.<br />
VOLINO, P., AND THALMANN, N. M. 1994. Efficientselfcollisiondetectiononsmoothlydiscretizedsurfaceanimations<br />
usinggeometricalshaperegularity. ComputerGraphicsForum<br />
(EuroGraphicsProc.)13,3,155–166.<br />
WONG,W.S.-K.,ANDBACIU,G. 2006. Ar<strong>and</strong>omizedmarkingscheme<strong>for</strong>continuouscollisiondetectioninsimulationof<br />
de<strong>for</strong>mablesurfaces.Proc.ofACMVRCIA,181–188.<br />
ZHANG,X.,REDON,S.,LEE,M.,ANDKIM,Y.J. 2007. Continuouscollisiondetection<strong>for</strong>articulatedmodelsusingtaylor<br />
models<strong>and</strong>temporalculling. ACMTransactionsonGraphics<br />
(ProceedingsofSIGGRAPH2007)26,3,15.