swift : accelerated proximity queries using multi-level voronoi … · the...

21
SWIFT: Accelerated Proximity Queries Using Multi-Level Voronoi Marching Stephen A. Ehmann Ming C. Lin Department of Computer Science University of North Carolina Chapel Hill, NC 27599-3175 ehmann,lin @cs.unc.edu http://www.cs.unc.edu/ geom/SWIFT/ Abstract We present an accelerated proximity query algorithm between moving convex polyhedra. The algo- rithm combines Voronoi-based feature tracking with a multi-level-of-detail representation, in order to adapt to the variation in levels of coherence and speed up the computation. It provides a progressive refinement framework for collision detection and distance queries. We have implemented our algorithm and have observed significant performance improvements in our experiments, especially on scenarios where the motion coherence is low. 1 Introduction Proximity queries, i.e. distance 1 computations and the closely related collision detection problems, are ubiquitous in robotics, design automation, manufacturing, assembly and virtual prototyping. The set of tasks include motion planning, sensor-based manipulation, assembly and disassembly, dynamic simula- tion, maintainability study, simulation-based design, tolerance verification, and ergonomics analysis. Proximity queries have been extensively studied in robotics and several specialized algorithms have been proposed for convex polyhedra as well as hierarchical approaches for general geometric models. In this paper, we present a novel algorithm that precomputes a hierarchy composed of a series of bounded error levels-of-detail (LODs) and uses them to accelerate proximity queries. Algorithms to generate LODs for polygonal models have been widely used for rendering acceleration, animation and simula- tion applications [8, 22, 24]. One of our goals is to take advantage of multiresolution representations commonly used in rendering applications and use them for proximity queries as well. Supported in part by ARO DAAG55-98-1-0322, NSF EIA-9806027, NSF DMI-9900157, NSF IIS-9821067 and Intel 1 Distance is commonly defined as the Euclidean separation distance by many applications, and we adopt the same defini- tion in this paper. 1

Upload: vannga

Post on 06-Jul-2019

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SWIFT : Accelerated Proximity Queries Using Multi-Level Voronoi … · The multi-level-of-detailrepresentation of each object that is constructed in the algorithm’s preprocess-

SWIFT: AcceleratedProximity QueriesUsingMulti-Le vel Voronoi Mar ching

StephenA. Ehmann Ming C. Lin

Departmentof ComputerScienceUniversityof North CarolinaChapelHill, NC 27599-3175�

ehmann,lin� @cs.unc.eduhttp://www.cs.unc.edu/� geom/SWIFT/

Abstract

We presentan acceleratedproximity queryalgorithm betweenmoving convex polyhedra. Thealgo-rithm combinesVoronoi-basedfeature tracking with a multi-level-of-detailrepresentation,in order toadaptto the variation in levelsof coherenceand speedup the computation.It providesa progressiverefinementframework for collision detectionanddistancequeries.We haveimplementedour algorithmand haveobservedsignificantperformanceimprovementsin our experiments,especiallyon scenarioswhere themotioncoherenceis low.

1 Intr oduction

Proximity queries,i.e. distance1 computationsandthecloselyrelatedcollision detectionproblems,areubiquitousin robotics,designautomation,manufacturing,assemblyandvirtual prototyping.Thesetoftasksincludemotionplanning,sensor-basedmanipulation,assemblyanddisassembly, dynamicsimula-tion, maintainabilitystudy, simulation-baseddesign,toleranceverification,andergonomicsanalysis.

Proximity querieshave beenextensively studiedin roboticsandseveral specializedalgorithmshavebeenproposedfor convex polyhedraaswell ashierarchicalapproachesfor generalgeometricmodels.Inthis paper, we presenta novel algorithmthatprecomputesa hierarchycomposedof a seriesof boundederror levels-of-detail(LODs) and usesthem to accelerateproximity queries. Algorithms to generateLODs for polygonalmodelshave beenwidely usedfor renderingacceleration,animationandsimula-tion applications[8, 22, 24]. Oneof our goalsis to take advantageof multiresolutionrepresentationscommonlyusedin renderingapplicationsandusethemfor proximity queriesaswell.�

Supportedin partby ARO DAAG55-98-1-0322, NSFEIA-9806027,NSFDMI-9900157,NSFIIS-9821067andIntel1Distanceis commonlydefinedastheEuclideanseparationdistanceby many applications,andweadoptthesamedefini-

tion in this paper.

1

Page 2: SWIFT : Accelerated Proximity Queries Using Multi-Level Voronoi … · The multi-level-of-detailrepresentation of each object that is constructed in the algorithm’s preprocess-

Givenaconvex polyhedron,ouralgorithmprecomputesaboundederrorlevel-of-detail(LOD) hierar-chy. It constructsaseriesof boundingvolumesthatenclosetheoriginalpolyhedron.Then,it establishesparent-childrelationshipsbetweenthefeaturesof adjacentlevels. At runtime,thehierarchyis traversedaccordingto thetypeof querybeingperformed.Within eachlevel, thesurfaceof anobjectis “marched”acrossusingamodifiedLin-Canny [16] closestfeaturetrackingalgorithmbasedonVoronoiregions.Wereferto sucha techniqueas“Voronoimarching”in thispaper. Spatiallocality andtemporalcoherenceiscapturedby boththeVoronoiregionsandthehierarchyof LODs.

Thealgorithmhasbeenimplementedandanalyzedusingvariousbenchmarks.Experimentswereper-formedusingvariousshapesof objectsandvariousmultiresolutionoptions.Furthermore,it is comparedagainstastraightforwarddirectionallookuptableschemewedevisedto determineoverall effectiveness.Weobservespeedupsfor eachtypeof queryoverasimplesurfacetraversal.

1.1 Main Results

In this paper, we presentan acceleratedproximity queryalgorithmbetweenmoving convex polyhedrawhichexploitsmultiresolutionrepresentations.Ourmaincontributionsare:

� An acceleratedproximity queryalgorithmbetweenconvex polyhedrausingmulti-level Voronoimarching.Thesubstantialperformanceimprovementsaremainly dueto theuseof a multiresolu-tion representationanda fasterVoronoimarchingalgorithm.

� A progressive refinementalgorithmicframework for proximity computation.For many applica-tions including motion planningandtoleranceverification,a relatively inexpensive approximatedistancecomputationwith boundederror is sufficient. Our framework allows applicationsto pro-gressively refinethe distanceestimateto suit their needs,while minimizing overall computationcost.

� A betterunderstandingof the issuesinvolvedin designingsuitablelevel-of-detailrepresentationsfor proximity queries.Theseissuesincludelevel of coherence,objectaspectratios,andcontactscenarios.

1.2 Organization

Therestof thepaperis organizedasfollows. Section2 givesa brief survey of relatedwork. Section3presentsanoverview of ourapproach.Thedesignandcomputationof themulti-level-of-detailrepresen-tationis describedin Section4 alongwith our lookuptablescheme.Next, a proximity queryalgorithmusingthe multiresolutionrepresentationis describedin Section5 alongwith otherwaysto acceleratequeries.Section6 describesour prototypeimplementationandshows the performanceof our system,SWIFT. Finally, weconcludewith futureresearchdirectionsin Section7.

2 PreviousWork

Distancecomputationandintersection(collision)detectionproblemshavebeenfundamentalsubjectsofstudyin robotics,computationalgeometry, simulation,andphysical-basedmodeling.Thereis awealthofliteratureonbothanalyzingthetheoreticalcomplexity of proximity queriesandondesigningalgorithmicsolutionsto achieve interactive performance.We will limit thescopeof thediscussionin this paperto

2

Page 3: SWIFT : Accelerated Proximity Queries Using Multi-Level Voronoi … · The multi-level-of-detailrepresentation of each object that is constructed in the algorithm’s preprocess-

rigid convex polyhedra,althoughsomeof thetechniquesmaybeapplicableto otherdomainsandmodelrepresentationaswell.

2.1 Proximity Queriesfor Convex Polyhedra

Most of theearlierwork hasfocusedon algorithmsfor convex polyhedra.A numberof algorithmswithgoodasymptoticperformancehave beenproposedin thecomputationalgeometryliterature[5]. Usinghierarchicalrepresentations,an ������ ������ algorithm is given in [3] for the convex polyhedraloverlapproblem,where � is thenumberof vertices.This elegantapproachis difficult to implementrobustly in3D, however.

Goodtheoreticalandpracticalapproachesbasedon the linearcomplexity of the linearprogrammingproblemareknown [18, 23]. Minkowski differenceandconvex optimizationtechniquesareusedin [10]to computethedistancebetweenconvex polyhedra.

Erickson,et al [7] recentlyproposeda new classof kinetic datastructuresfor collision detectionbetweenconvex polyhedra.Thisclassof hierarchicalrepresentationshasonly beenanalyzedfor the2Dcasehowever.

In applicationsinvolving rigid motion,geometriccoherencehasbeenexploited to designalgorithmsfor convex polyhedrabasedon eithertraversingfeaturesusinglocality or convex optimization[2, 4, 16,15, 19]. Thesealgorithmsexploit the spatialandtemporalcoherencebetweensuccessive queriesandwork well in practice.

2.2 Hierar chical Representations

Boundingvolumehierarchiesarepresentlyregardedasoneof themostgeneralmethodsfor performingproximity queriesbetweengeneralpolyhedra. Specifically, spheretrees,conetrees,axis-alignedboxtrees,orientedbox trees,k-d treesandoctrees,treesbasedon S-bounds,andk-dopshave beenusedforfast intersectionqueriesfor generalpolyhedra,aswell aspolygonsoups[13, 20, 11, 21, 1, 14]. Formostscenarios,thesehierarchiesexcel at intersectiondetectionbut do not do sowell whenit comestodistancecomputation.

2.3 Multir esolutionTechniques

Multiresolutionmodelingtechniques,suchasmodelsimplification,have beenproposedto extract theshapeof theunderlyinggeometry[25]. A recentsurvey on polygonalmodelsimplificationis available[17]. Themainideabehindusingamultiresolutionhierarchyis to computeandutilize acorrespondencebetweenthe original modelanda simplified one. We will discussthe useof a pair of simplificationalgorithmsdueto Dobkin andKirkpatrick [3] andto GarlandandHeckbert[9].

For proximity query, Guibas,et al. [12] proposedanelegantapproachthatexploitsbothcoherenceofmotionandhierarchicalrepresentationfor fasterdistancecomputation.Our approachdiffersfrom theirH-Walk algorithmin thatour algorithmcaneasilycomputeanapproximateddistancewith a guaranteederrortolerancewithoutalwaysdescendingand/orascendingtheentirehierarchy.

3

Page 4: SWIFT : Accelerated Proximity Queries Using Multi-Level Voronoi … · The multi-level-of-detailrepresentation of each object that is constructed in the algorithm’s preprocess-

3 Algorithm Overview

Our algorithmoperateson orientable2-manifoldsthat areclosedandrepresentedusingtriangles.Thepolyhedramustbeconvex andundergo rigid motion. We will usetheterms“polyhedron”and“object”interchangeably.

Multiresolutiontechniquestypically consistof two maincomponents.They involve theprecomputa-tion of ahierarchicalrepresentationuponwhichsubsequentqueriesareperformed.Wewish to computeamultiresolutionrepresentationthatsupportsproximity queries.

In thepreprocessingstage,wecomputea level-of-detailrepresentationfor eachobject.Thishierarchyis organizedasa sequenceof convex polyhedra��� , ��� , � � , ����� , ��� where ��� is the input polyhedron.Eachsuccessivepolyhedronis composedof fewerfeaturesandhasthepropertythatit boundstheoriginalobject. Furthermore,a correspondenceis establishedbetweensuccessive levelsin eachdirectionof thesequence.Moredetailsof theactualconstructionof this representationaregivenin Section4.

A queryusingthis hierarchyis performedin muchthe sameway for eachtype of proximity query.Basically, aslong ascertainlevelsof two objectsareintersecting,thenthehierarchyis refined. Whentwo levels arefound to be disjoint, thenit may be possibleto endthe queryat a subsequentpoint ofrefinement.Furthermore,for queriesotherthanintersection,atolerancemaybeprovidedwhichspecifieshow closeobjectsmustbein orderto answerthequery. In Section5 thehierarchicalqueryis describedin moredetail.

4 Hierar chical Representations

Themulti-level-of-detailrepresentationof eachobjectthat is constructedin thealgorithm’spreprocess-ing stagemusthavecertainpropertiesin orderto beusefulandefficientfor performingproximity queries.Next, we describedesirablecharacteristicsfor the representation,discussthestepsinvolved in thecre-ationof thehierarchy, andtouchuponvarioustradeoffs alongtheway. Then,we discusstwo hierarchycreationmethodswe implemented.Weconcludewith adescriptionof our lookuptablescheme.

4.1 Terminology

Recallthat the hierarchyis organizedasa sequenceof convex polyhedra��� , ��� , � � , ����� , ��� where ���is theinput polyhedron.We will call ��� thefinestlevel and ��� thecoarsestlevel. We will call thelevel���! "� the “child” of the level ��� andthe level ���$#%� the “parent” of ��� . We usethe conventionthat thefinestobject is at the bottomof the hierarchyso the term moving up the hierarchymeansmoving to acoarserlevel. Moving to afiner level is termedmovingdownthehierarchy.

Themaximumdeviation of ��� from ��� is representedby &�� . Thecomputeddistancebetweencertainlevelsof two objectsthatarefoundto bedisjoint is ' andthemaximumerrorassociatedwith thedistanceis & . Thedistancetolerancegivenby theapplicationis ')(+*-, andtheerrortoleranceis &�(�*., .

4.2 DesiredFeatures

To designa multi-level representationfor acceleratingdistancecomputationwhile preservinglocalityandcoherence,our goalis to produceahierarchythatprovidesthefollowing characteristics:

� Simplified Combinatorial Complexity: Eachlevel of representationin thehierarchyshouldhavelesscombinatorialcomplexity thanits child andhighercombinatorialcomplexity thanits parent.

4

Page 5: SWIFT : Accelerated Proximity Queries Using Multi-Level Voronoi … · The multi-level-of-detailrepresentation of each object that is constructed in the algorithm’s preprocess-

Ideally we would like to create� (log � ) levels,where � is thenumberof verticesin theoriginalpolyhedron��� . This is possibleif a constantfractionof featuresareeliminatedfor eachlevel. Inaddition,it is wise to stopthehierarchyconstructionwhena certainnumberof levelsor featureshasbeenreached.

� Bounding Volumes: If we wish to have a mechanismto computeapproximatedistanceswithboundederrortolerances&.(+*-, , thenwecanmakeuseof thelevels ��� of thehierarchywhichboundtheoriginal polyhedron��� with a globalsurfacedeviation &.�0/1&�(�*., . Queryperformancecanbefurtherimprovedby aimingto createahierarchywheretheboundingvolumesarekeptassmallaspossible.

� Local Corr espondence:For eachlevel of thehierarchy��� for 24315 thatbounds��� , theremustalsobe spatialcoherencebetweenit andits adjacentlevels. This implies that a featureon poly-hedron��� will have a correspondingfeatureon ���$#%� andon ���! "� which areproximatein positionandorientation.Thesearecalledtheparentandchild featuresrespectively.

4.3 Construction

Thelevelsof thehierarchyareconstructedin orderstartingwith �6� . In particular, whenconstructing��� ,���! "� providesthetopologicalandgeometricinformationrequiredto reducethenumberof featureswhile��� providesgeometricinformationto satisfytheboundingcriterion.Theprocessof constructinga levelin thehierarchyis givenby thefollowing stepsto create��� :

1. Create��� asahighquality simplificationof ���! "� .2. Make ��� convex by computingits convex hull.

3. Computethecenterof massof ��� andtranslate��� suchthatits centerof masscoincideswith ���7 "� ’scenterof mass.

4. Scale��� from its centerof masssothatit barelybounds��� .5. Computethemaximumdeviation &�� of ��� from ��� . This is thesameascomputingtheHausdorff

distancebetween��� and ��� .6. Assignthefeaturecorrespondencesfrom ��� to ���! "� andfrom ���! "� to ��� .For thefirst step,any simplificationalgorithmmaybeusedaslongasthetopologyis maintained.Any

convex hull algorithmmaybeusedfor thesecondstep.Thecomputationof thecenterof massis straightforwardfor a closedpolyhedron.To scale��� in Step

4, themaximumscalingrequiredoverall of thefacesof ��� is foundandapplied.Thescalingrequiredfora faceis computedby finding theextremalvertex on ��� in thedirectionof the (outwardpointing) facenormalandcomputingthescalingfactorrequiredto causethevertex to coincidewith thescaledface’ssupportingplane.

The Hausdorff distance( &.� ) canbe computedin this context by computingthe maximumdeviationover all theverticesof ��� . Thedeviation of a vertex of ��� is computedby computingits distancefrom��� . Theverticesaretheonly pointson ��� thathave to becheckedbecausethey representlocal maximaof thedeviation functionover ��� .

5

Page 6: SWIFT : Accelerated Proximity Queries Using Multi-Level Voronoi … · The multi-level-of-detailrepresentation of each object that is constructed in the algorithm’s preprocess-

To assignchildren(featuresof ���! "� ) to thefeaturesof ��� , thenearestfeatureof ���! "� is foundfor eachvertex of ��� andthenearestvertex is selectedfrom this nearestfeature.Eachneighborof eachvertex of��� (includingthevertex) is assignedthenearestvertex asits child feature.To assignparents(featuresof��� ) to the featuresof ���! "� , theextremalvertex of ��� is found for eachfaceof ���7 "� . Eachfaceaswellasits edgesandverticesareassignedtheextremalvertex astheir parent.Thesefeaturecorrespondenceschemeswerechosenfor theirspatialcoherence.Of course,thereareotherschemesthatmaywork betterbut it is unlikely thatasizeableoverall improvementwouldbegained.

4.4 Dobkin-Kirkpatrick Hierar chy

Retriangulation Scaling Relaxation

Vertex Removal

Figure 1. Dobkin-Kirkpatrick Hierarchy Construction

Thefirst methodthatwe implementedis basedon theDobkin-Kirkpatrickhierarchy[3]. It is a spe-cializedalgorithmthat is the sameasthe stepsgivenabove but with a differentscalingprocedureanddifferentparentandchild featureassignments.An illustrationof theprocessis shown in Figure1.

4.4.1 Simplifying

The Dobkin-Kirkpatrick simplificationdoesnot specifywhich verticesshouldbe removed but simplythatanindependentsetis beremovedateachstep.If anyindependentsetis removed,verylargeboundingvolumes(Step4) canresult. Therefore,we try to choosethe independentsetin an intelligent manner.This is doneby assigninganimportancevalueto eachvertex. A higherimportancemeansthatthevertexis moreimportantandshouldnotberemoved.It alsoindicatesthatthegeometryis not veryflat nearthevertex. Vertex 8��:9 of object ��� is assignedanimportancevalue

; �:9=<>?�A@%� �.BDCFEHGJILKM�:9��M�

where N is thevalenceof thevertex and KM�:9.� is thedihedralangleof the O th edgeof thevertex. Thus,to createtheindependentset,verticesareaddedto it in orderof increasingimportance.As eachvertexis addedto the set, its neighborsaremarked andnot allowed to be subsequentlyadded,otherwisetheindependentsetcriterionwouldbeviolated.Theseverticesareremovedandtheholesarere-triangulatedin a convex manner. This canbe doneby taking the outerconvex hull of the verticesneighboringtheremovedvertex. Levelsarecreateduntil a tetrahedronis reached,until a minimumnumberof trianglesis reached,or until thecenterof massof theoriginal objectfalls outsideof thesimplifiedobjectwe aretrying to create.

6

Page 7: SWIFT : Accelerated Proximity Queries Using Multi-Level Voronoi … · The multi-level-of-detailrepresentation of each object that is constructed in the algorithm’s preprocess-

Even with this scheme,we found that excessively large boundingvolumesoccurred(Step4). Thereasonstemsfrom thechoiceof verticesthatareplacedin theindependentset.We foundthatif we addasmany verticesaspossibleto the independentset,we still addverticeswith high importancebecausemost of the low importanceverticeshave neighborsthat are added. This may causethe volumestobecomelargewhenverticeswhich have sharppeaksareremovedbecausethe facesthatfill a holewillhave to bescaledby a largeamountin orderto bounda high importance(sharp)vertex. To reducetheeffectsof this problemwe decidedto only addverticesto the independentset that meetthe criterion; �:9P/QB . In otherwords,we stopthe independentsetcreationwhenthereareno moreverticeswhoseimportancevaluesarelessthanor equalto one. This causesfewer verticesto beremovedper level butkeepsthesizesof theboundingpolyhedrain check.

4.4.2 Bounding

Thenext stepwe discussis Step4 which involvesscalingthesequenceof polyhedrasothatthey boundthe finest object. A scalingfactor is computedfor each ��� for 2R3S5 suchthat ��� boundsthe finestpolyhedron.Eachlevel is thenscaledby theamountcomputedfor it. Thescalingis donefrom thecenterof massof thefinestpolyhedron.

We foundthatdueto thestructureof thesimplification,we canadda relaxationprocessat this point.The relaxationinvolvestrying to move the verticesbacktoward the centerof masswhile maintainingconvexity andboundednessof ��� . Note that in both the scalingandthe relaxation,the verticesmovealongraysfrom thecenterof massthroughtheir original positions.Theholescausedby vertex removalform regionswhichwecall centerof massregions. By keepingtrackof theverticesthatbelongto certaincenterof massregions,thescalingandrelaxationcomputationscanbeperformedmoreefficiently. Then,themaximumsurfacedeviation is computedas &�� .

4.4.3 AssigningFeatureCorr espondence

Level i

Level i+1

Vj,i+1

Vj,i

Figure 2. Dobkin-Kirkpatrick Level Correspondence

Eachvertex, edge,andfaceon ��� for 2T3U5 is assigneda child pointerwhich pointsto a featureon���! "� . Theassignmentcanbedonein avarietyof ways.Figure2 showssomeof thepointersbasedonourassignmentscheme.We assigntheverticesat thecoarserlevel to have aschildrentheir correspondingverticesat thefiner level. Edgesandfacesat thecoarserlevel canbeof two varieties:keptor removed.Keptfeaturesareonesthatarenot destroyedby thevertex removals. They includeedgesandfacesthathave noneof their verticesin the independentset. Removededgesandfacesareonesthathave oneoftheir verticesin theindependentset.They arereplacedwith new featuresat thecoarserlevel. Thekeptfeaturesareassignedchildrenthatcorrespondto themselvesat thefiner level. For simplicity, wechoose

7

Page 8: SWIFT : Accelerated Proximity Queries Using Multi-Level Voronoi … · The multi-level-of-detailrepresentation of each object that is constructed in the algorithm’s preprocess-

to assignto thenew features,thevertex thatwasremovedfrom thefiner level in orderto createthem.Thereareotherschemes,which mayperformbetter, thatcanbeusedto assignthechildrenin this lattercase.Thisassignmentis actuallydoneduringthebuilding of thehierarchy.

4.5 QSlim Hierar chy

Thedrawbackof theDobkin-Kirkpatrickhierarchyis thatmany levelsarecreatedwhich causesa slow-down for thequeryalgorithm.Theproblemis thatthedecimationrateis not high enough.That leadusto considerthis typeof hierarchywhich relieson a moregeneralsimplificationalgorithmwhich is ableto achievehighdecimationrates(arbitrary)while at thesametimemaintainingsmallboundingvolumes.

The secondmethodthat we implementedis basedon the publicly available QSlim package. Weusedthe QSlim systemwhich is an implementationof Garlandand Heckbert’s quadricerror metricsimplificationalgorithm[9] for the first stepof the hierarchycreationprocess.It allows an arbitraryfacetarget for eachstepof simplificationallowing us to choosethe decimationrate. We usethe term“decimationrate” to meanthefractionof trianglesleft whena coarserlevel is createdfrom a finer one.For example,if a level has1000trianglesandadecimationrateof 0.25is applied,thenthenewly created(coarser)level has250triangles.For thesecondstep,we usedtheQHull convex hull library that is alsopublicly available.All theotherstepsremainthesame.

Thereis a trianglecountcutoff thatdetermineswhento stopbuilding thehierarchy. In addition,thereis aconstantfactorthatdetermineswhatthedecimationrateis acrosslevels.Theseparametersaffect thequeryperformanceandarediscussedlater.

Thequadricerrormetricmethodemployedby QSlim is verydesirablefor keepingthevolumesof theboundingpolyhedrasmall sinceonly flat areason a fine modelarerefined. This alsohasthe effect ofcausingthetesselationdensitypersolidangleof thesimplifiedconvex polyhedrato becomemoreor lessconstant.

4.6 Dir ectionalLookup Table

COM

R

Figure 3. Lookup Table Construction

For performancecomparison,we alsodesignedandimplementeda directionallookup tableschemefor initializing theVoronoimarching.Thelookuptableis basedupondirectionfrom thecenterof mass(COM) of a polyhedron.Verticesarestoredin thetable.Figure3 shows the ideaof theconstructionintwo dimensions.

The parametersusedto constructthe tableareresolutionanda boundingsphereradiusfactor. Theresolutionof the lookup table determineshow closetogetherthe samplesare. The table is basedonsphericalcoordinatesandhasan entry for eachangleincrement(determinedby the resolution)in the

8

Page 9: SWIFT : Accelerated Proximity Queries Using Multi-Level Voronoi … · The multi-level-of-detailrepresentation of each object that is constructed in the algorithm’s preprocess-

altitudeandazimuthdirectionsexcludingthenorthandsouthpoles.Therearetwo additionalentriesforthepoles.Thepolyhedronfor which the tableis built hasa “radius” which is definedasthemaximumdistanceof any of its verticesfrom its centerof mass. In otherwords,a spherecenteredat the centerof masswith radiusequalto the polyhedron’s radiuswould boundthe polyhedronat any orientation.Theboundingsphereradiusfactoris multiplied by thepolyhedron’s radiusto constructanother(larger)boundingsphere.Theradiusfactormustbegreaterthanor equalto B . Samplepointsaregeneratedonthenew boundingspherein thedirectionsprescribedby the lookuptable. For eachof thesepoints,thenearestvertex on thepolyhedronto thepoint is storedat thecorrespondinglocationin thetable. Usingthis tablefor querypurposesis discussedin Section5.3.

5 Proximity Query

Proximityqueriescanbein theform of intersectiondetection,error-boundedapproximatedistancecom-putation,exact distancecomputation,or contactdetermination.The hierarchyis queriedin muchthesameway for all four of thesequerytypes. The basisis a multiresolutionextensionon the algorithmproposedby Lin andCanny [16]. First we describethemarchingwithin a level andthenshow how toansweraqueryby marchingacrosslevelsof a multiresolutionhierarchyfor eachof thequerytypes.

5.1 Voronoi Mar ching Within a Level

We have implementedan algorithm which marchesacrossthe surfaceof a convex polyhedronusingVoronoi regions. It is basicallythe samealgorithmas the original Lin-Canny[16] algorithmand theimprovedversion,V-Clip [19], in the sensethat it hasthe samehigh level behavior andcomputesthesameresults.Wedo notgivea full descriptionherebut ratheraquicksketch.

Theoriginal algorithmis basedon traversingtheexternalVoronoi regionsinducedby thefeaturesofeachconvex polyhedron.Theinvariantis thatat eachstep,eithertheinter-featuredistanceis reducedorthedimensionalityof oneor bothof the featuresdecreasesby one,i.e. a move from a faceto an edgeor from anedgeto a vertex. We employ thenotionof stateswith thesamedefinitionasin V-Clip. Thestatetransitionsarea bit differentbecausewe sometimeschangefeatureson both objectsin onestep.For example,this happensfrom theedge-edgestateto thevertex-vertex state.Traditionally, thefeaturewhoseVoronoiplaneis foundto beviolatedfirst is theonethat is updatedto. Thereareothermethodsfor updatingto a closerfeature.For instance,we foundthatperformanceimproveswhenwe updatetothe featurewhoseplaneis mostviolatedwhich meansthatwe have to checkall theplanes.This givesa highercostto eachlocal decisionbut yields a global benefit. We arecurrentlyinvestigatingbenefitsfrom betterchoicesof thenext featureandotherlow level optimizations.A comparisonof our low levelmarchingimplementationis comparedagainstV-Clip in Section6.

5.2 Multi-Le vel Voronoi Mar ching

In thecaseof intersectiondetection,thesearchnormallystartsat a pair of featuresrelatedto theclosestfeaturesfrom theprevious queryso that coherencemay be exploited. Like in Lin-Canny, the distancebetweentwo convex polyhedrais minimizedby marchingacrosstheir surfaces. If an intersectionisdetected,afiner level of thehierarchyis traversedto. If atanylevel,wereachaminimumin thedistancefunction and the objectsare disjoint, then this is reported. With no additionalcost, an approximatedistancecanbeprovidedas ' with theerror & , whentheobjectsaredisjoint. Thedistancebetweenthe

9

Page 10: SWIFT : Accelerated Proximity Queries Using Multi-Level Voronoi … · The multi-level-of-detailrepresentation of each object that is constructed in the algorithm’s preprocess-

levelsof the two objectsis ' and &V<W&.�YXZ&[9 is the associatederror equalto the sumof the two leveldeviations. Thepair of closestfeaturesareusedto find thefeaturesto beusedfor thenext query. Thisis doneby traversingtheir parentpointers,usingthe deviations &�� , andkeepingtrack of the distance'that is decreasedby the differencesin deviation. If an intersectionhasbeendetectedand ��� hasbeenreachedfor bothobjects,thenintersectionis reported.Thepair of intersectingfeaturesis storedfor thenext query.

For error-boundedapproximatedistancecomputation,theapplicationcanprovideadistancetolerance')(+*-, andanerrortolerance&�(�*., . If thelevelsof thetwo objectsintersectall theway to thefinestlevelsof both objects,then intersectionis reportedandthe pair of featuresis stored. Otherwise,two levelswerefoundto bedisjointduringtherefinement.Thedisjoint featuresareusedasin theintersectioncaseto determinethe initial featuresto be usedfor the next query. If at any point '\3]'^(�*., the query isterminatedandnothingis reported.If at any point, &_/Z&�(�*-, thentheerrortolerancehasbeenmetand 'and & arereported.Thismeansthattheexactdistanceis in therange `:'�aA'=X\&.b .

To computeexactdistance,thesamemethodis followedbut only thedistancetolerance')(+*-, is spec-ified. As long as 'c/d')(+*-, , the distanceis refineduntil the finest levels are reachedat which point' is reported.Finally, contactdetermination(closestpoints)queriescanbe handledthe sameasexactdistanceones.

For theDobkin-Kirkpatrickhierarchy, we foundthattherearemany levelscreated.Wetried threedif-ferentrefinementmethods:refineonelevel ononeobject,refineonelevel onbothobjects,andrefinetwolevelsonbothobjects.Thesearecalled“Single”, “Single-Single”,and“Double-Double”respectively inSection6 wherewecomparetheperformanceof eachof themethods.

5.3 Dir ectionalLookup Table

VCOM

VaVb

Figure 4. Lookup Table Initialization of a Query

Whenusingthedirectionallookuptableto helpanswera query, thefeaturesfrom thepreviousqueryarenot used. Therefore,the query time shouldbe motion independent.Shown in Figure4 is a twodimensionalrepresentationof theinitialization of aquery. First thevectordefinedby thecenterof massof thetwo objectsbeingtested(VCOM) is computed.Thevectoris transformedto thelocal coordinateframeof the objectsandis usedto find the table locationthat is the nearestto the directiongiven bythevector. Theverticesat thecorrespondinglocationsin eachobject’s table( NL* and NLe ) areusedasthefeaturepair to startmarchingfrom. Whenthelookuptableis used,thereis nohierarchybeingused.Theperformanceof thequerydependssolelyon how thetablesarebuilt for eachobject. In thenext sectionweseehow varioussettingsaffect theperformanceof thelookuptables.

10

Page 11: SWIFT : Accelerated Proximity Queries Using Multi-Level Voronoi … · The multi-level-of-detailrepresentation of each object that is constructed in the algorithm’s preprocess-

6 Experimental Results

The modelsusedto test our query algorithm were empirically createdby taking the convex hull ofrandomlysampledpoints on objectsof variousaspectratio. Threedifferentellipsoidal modelswerecreated,eachwith 2000triangles. Their aspectratiosare(1,1,1), (1,1,0.1),and(1,0.1,0.1). They arereferredto as “f at”, “plate”, and “long” respectively. Eachof the modelswas normalizedto have aboundingsphereof radiusfg� .

Following theperformancebenchmarkingalgorithmdueto Mirtich [19] andusedin [12], we createdvariousscenarios.Thealgorithmhasoneobjectremainfixedwhile anotherorbitsaboutit in anellipticaltrajectory. An orbit radiusis definedasthe distancebetweenthe centersof the modelswhenthey areclosestin theorbit. Threedifferentpair combinationswereused:fat-fat,plate-plate,andlong-long.Theorbit radiuswasset to be either hifg� (small) or jkfg� (large). Thus, the modelseither just touchor arealwaysseparatedby adistanceof at leastfg� .

Our implementationis calledSWIFT (SpeedyWalking via ImprovedFeatureTesting).We obtainedempiricalobservationsfor it by runningprogramson anSGI RealityMonsterusinga single300MHzMIPSR12000CPU.Timingsweredoneby usingahighly accuratefree-runninghardwareclock.

6.1 Mar ching Within a Level

0

0.02

0.04

0.06

0.08

0.1

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Fat vs. Fat

SWIFTV-Clip

0

0.02

0.04

0.06

0.08

0.1

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Plate vs. Plate

SWIFTV-Clip

0

0.02

0.04

0.06

0.08

0.1

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Long vs. Long

SWIFTV-Clip

Figure 5. Performance of Marching Within a Level: SWIFT vs. V-Clip

Our implementationof the algorithmthat marcheswithin a level wascomparedto V-Clip [19] andfoundto be faster2. Figure5 shows timings for differentobjectpairsusingtheorbiting algorithmwithanorbit radiusof hifg� . No hierarchicalor lookuptableenhancementswereusedin thecomparison.Allfutureexperimentalresultsthatarepresentedarebasedsolelyon theSWIFT implementation.Next, weaddthedirectionallookuptableandobserve its performance.

6.2 Dir ectionalLookup Table

In Figure6 weshow theresultsof usingadirectionallookuptable(LUT) with anorbit radiusof hlfg� . Thefirst parametergiven in thegraphlegendsis the boundingsphereradiusfactorof the lookup tableandthesecondis theresolutionin degrees.For thefat pair of objects,theresolutionof thetableis theonlything thatmatters.Furthermore,noticethattheperformanceof thelookuptablefor thefat pair is muchbetterthanfor theothertwo pairsbecauseit (theLUT) is basedon a sphereandthefat objectsarevery

2In thepreliminaryversionof this report,availablein theElectronicProceedingsof IEEE IROS2000,we statedthatourimplementationwasnearly twice as fast. However, we have sincegatheredmoredataandfound that to be an inaccurateassessment.

11

Page 12: SWIFT : Accelerated Proximity Queries Using Multi-Level Voronoi … · The multi-level-of-detailrepresentation of each object that is constructed in the algorithm’s preprocess-

0.006

0.007

0.008

0.009

0.01

0.011

0.012

0.013

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Fat vs. Fat

LUT 2 11.25LUT 2 5.625LUT 4 11.25LUT 4 5.625LUT inf 11.25LUT inf 5.625

0.014

0.016

0.018

0.02

0.022

0.024

0.026

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Plate vs. Plate

LUT 2 11.25LUT 2 5.625LUT 4 11.25LUT 4 5.625LUT inf 11.25LUT inf 5.625

0.012

0.014

0.016

0.018

0.02

0.022

0.024

0.026

0.028

0.03

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Long vs. Long

LUT 2 11.25LUT 2 5.625LUT 4 11.25LUT 4 5.625LUT inf 11.25LUT inf 5.625

Figure 6. Performance of Various Lookup Tables

nearlyspheres.For thelongandplatepairs,a radiusfactorof h seemsto bebest.It shouldbestatedthatthis maybebecauseof thescenariowe areusing. Thesizesof the lookup tablesof variousresolutionsare: 8 KB for 5.625degreesand2 KB for 11.25degrees.We will usethe“LUT 2 5.625” performancedatafor theoverall comparison.

6.3 Multir esolutionHierar chy

Thelevel-of-detailhierarchywe have implementedcanalsobeusedto achieve speedupsfor bothinter-sectiondetectionandexactdistancecomputation.Thetitleson thegraphsin thefollowing figuresreflecttheobjectpairsthatwereusedaswell aswhethertheorbit wassmallor large.

6.3.1 Dobkin-Kir patrick Hierar chy

Shown in Figure7 is theperformanceof variousintersectiondetectionqueriesusingtheDobkin-Kirkpatrickhierarchy. Similarly, Figure8 shows exactdistancecomputationperformance.In eachentryof theleg-endsof thegraphsis thenumberof trianglesthatthehierarchywascutoff at,thenumberof levelscreated(in parentheses)andtheinter-level marchingmethodused(asintroducedin Section5).

Thereis not a lot of differenceamongthevarioussettingsfor intersectiondetectionsincemostof thetime is spenttraversingthecoarsestlevel. However, thesettingswhich producea coarsercoarsestleveldothebest.Sinceall thelevelsaretraversedmostof thetimein thecaseof exactdistance,it makessensethethemethodsto do thebestaretheonesthatemploy doubledescenton thelevelsof bothobjects.Wewill usethe“DK Hier 100Double-Double”performancedatafor theoverall comparison.

6.3.2 QSlim Hierar chy

Shown in Figure9 is theperformanceof variousintersectiondetectionqueriesusingtheQSlimhierarchy.Similarly, Figure10 shows exactdistancecomputationperformance.In eachentryof thelegendsof thegraphsis thedecimationrate(Section4.5)andthenumberof levelscreated(in parentheses).

For theintersectiondetectionquery, the0.125hierarchyis anomalousbecauseits coarsestlevel con-sistsof 250triangleswhile theotherhierarchieshave fewer. This resultsin a slower querybecauseforintersectiondetection,mostof thetime is spenttraversingthecoarsestlevel. Thecoarsesthierarchydoesthebeston theintersectiondetectiontestsbecauseof thereasonpreviouslystated.For theexactdistancetests,it seemsthathaving morelevelsis notasgoodasjust having two. Evenhaving threeis noticeablyslower. Also, it still seemslikeacoarserhierarchydoesbetterfor this typeof queryaswell. Wewill usethe“QS Hier 0.03125”performancedatafor theoverall comparison.

12

Page 13: SWIFT : Accelerated Proximity Queries Using Multi-Level Voronoi … · The multi-level-of-detailrepresentation of each object that is constructed in the algorithm’s preprocess-

6.4 Overall PerformanceComparison

Figure11 givestheoverallperformancecomparisonof intersectiondetectionusingthebestresultsfromeachcategory alongwith theperformanceof SWIFT whenthereis no hierarchyor lookuptable(Noth-ing). Similarly, Figure12 givestheoverallperformancecomparisonfor exactdistancecomputation.

For intersectiondetection,thehierarchiesdo well becauseof their simplecoarsestlevelsbut they donot performaswell when it comesto exact distancecomputationbecauseof the overheadassociatedwith marchingon the finest level to the true minimum of the distancefunction. The QSlim hierarchyalwaysoutperformsthe Dobkin-Kirkpatrick hierarchybecausetherearetoo many levels to traverseinthelatter.

6.5 Summary

Thereasonfor thedifferencein theperformanceof the two querytypesis dueto the fact that in exactdistancecomputation,wecannotstoponcethemodelsarefoundto bedisjoint likewecanin intersectiondetection.Approximatedistancecomputationis highly dependentuponthe applicationso we did notevaluateits performancebut expectthemajority of casesin which it is usedto resembletheintersectiondetectionquery. It canbeshown that its costlies in betweenthecostof intersectiondetectionandexactdistancecomputation.

It canbeseenfrom theprofilesof our timing curvesthatour multi-level Voronoimarchingalgorithmis able to keepthe impactof the relative motion of the objectsundercontrol. It is alsoapparentthata simple lookup tableschemelike the onewe have presentedsufficesto performin the samekind ofmanner. It is possiblethat if the objectsarecomposedof more triangles(10,000or 100,000),thenahierarchyof threeor four levelsmaywin outover thesimplelookuptableandthetwo level hierarchies.

7 Conclusion

We have presenteda new algorithmfor acceleratingproximity queriesbetweenconvex polyhedrausinglevel-of-detailrepresentations.Wedescribedtheconstructionof therequiredhierarchicaldatastructuresanddiscussedvariousdesignissuesinvolved.Theruntimealgorithmalongwith its issueswereaddressedandtheperformancepresented.

Our implementationhasbeenshown to have goodperformance.Thesourcecodeis availableto thepublic andprovidesa completeandentireproximity query library, with the two typesof hierarchiespresented.It is availableat

http://www.cs.unc.edu/m geom/SWIFT/

We have shown thata hierarchicalrepresentationintegratedwith Voronoimarchingoffersa progressiverefinementframework for exact andapproximatedistancecomputation,which optimizesperformancewhile meetingtheapplication’s needfor boundederrorcomputation.We have alsoshown thata simpledirectionallookuptablecanbeusedveryeffectively.

This researchis the first steptoward the designof distancequeryalgorithmsusingmultiresolutionrepresentations.Thereare many potentialdirectionsfor future research.Thereis a needto developa suitablemetric for measuringor quantifyingthe optimality of the hierarchies,coherencelevels, andlevel relationships.On the theoreticalside,thereis the interestingproblemof proving a betterboundon thecomputationof thedistancebetweentwo convex polyhedra.Theextensionof this framework tonon-convex objectsanddeformablemodelsremainsa verychallengingproblem.

13

Page 14: SWIFT : Accelerated Proximity Queries Using Multi-Level Voronoi … · The multi-level-of-detailrepresentation of each object that is constructed in the algorithm’s preprocess-

0

0.005

0.01

0.015

0.02

0.025

0.03

0.035

0.04

0.045

0.05

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Fat vs. Fat -- orbit radius small

DK Hier 100 (11) SingleDK Hier 200 (8) SingleDK Hier 100 (11) Single-SingleDK Hier 200 (8) Single-SingleDK Hier 100 (11) Double-DoubleDK Hier 200 (8) Double-Double

0

0.005

0.01

0.015

0.02

0.025

0.03

0.035

0.04

0.045

0.05

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Fat vs. Fat -- orbit radius large

DK Hier 100 (11) SingleDK Hier 200 (8) SingleDK Hier 100 (11) Single-SingleDK Hier 200 (8) Single-SingleDK Hier 100 (11) Double-DoubleDK Hier 200 (8) Double-Double

0

0.005

0.01

0.015

0.02

0.025

0.03

0.035

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Plate vs. Plate -- orbit radius small

DK Hier 100 (11) SingleDK Hier 200 (8) SingleDK Hier 100 (11) Single-SingleDK Hier 200 (8) Single-SingleDK Hier 100 (11) Double-DoubleDK Hier 200 (8) Double-Double

0

0.005

0.01

0.015

0.02

0.025

0.03

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Plate vs. Plate -- orbit radius large

DK Hier 100 (11) SingleDK Hier 200 (8) SingleDK Hier 100 (11) Single-SingleDK Hier 200 (8) Single-SingleDK Hier 100 (11) Double-DoubleDK Hier 200 (8) Double-Double

0

0.005

0.01

0.015

0.02

0.025

0.03

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Long vs. Long -- orbit radius small

DK Hier 100 (11) SingleDK Hier 200 (8) SingleDK Hier 100 (11) Single-SingleDK Hier 200 (8) Single-SingleDK Hier 100 (11) Double-DoubleDK Hier 200 (8) Double-Double

0

0.005

0.01

0.015

0.02

0.025

0.03

0.035

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Long vs. Long -- orbit radius large

DK Hier 100 (11) SingleDK Hier 200 (8) SingleDK Hier 100 (11) Single-SingleDK Hier 200 (8) Single-SingleDK Hier 100 (11) Double-DoubleDK Hier 200 (8) Double-Double

Figure 7. Performance of the Dobkin-Kirpatrick Hierarchy for Intersection Detection withVarious Parameter Settings

14

Page 15: SWIFT : Accelerated Proximity Queries Using Multi-Level Voronoi … · The multi-level-of-detailrepresentation of each object that is constructed in the algorithm’s preprocess-

0.02

0.04

0.06

0.08

0.1

0.12

0.14

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Fat vs. Fat -- orbit radius small

DK Hier 100 (11) SingleDK Hier 200 (8) SingleDK Hier 100 (11) Single-SingleDK Hier 200 (8) Single-SingleDK Hier 100 (11) Double-DoubleDK Hier 200 (8) Double-Double

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

0.1

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Fat vs. Fat -- orbit radius large

DK Hier 100 (11) SingleDK Hier 200 (8) SingleDK Hier 100 (11) Single-SingleDK Hier 200 (8) Single-SingleDK Hier 100 (11) Double-DoubleDK Hier 200 (8) Double-Double

0.02

0.04

0.06

0.08

0.1

0.12

0.14

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Plate vs. Plate -- orbit radius small

DK Hier 100 (11) SingleDK Hier 200 (8) SingleDK Hier 100 (11) Single-SingleDK Hier 200 (8) Single-SingleDK Hier 100 (11) Double-DoubleDK Hier 200 (8) Double-Double

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

0.1

0.11

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Plate vs. Plate -- orbit radius large

DK Hier 100 (11) SingleDK Hier 200 (8) SingleDK Hier 100 (11) Single-SingleDK Hier 200 (8) Single-SingleDK Hier 100 (11) Double-DoubleDK Hier 200 (8) Double-Double

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

0.1

0.11

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Long vs. Long -- orbit radius small

DK Hier 100 (11) SingleDK Hier 200 (8) SingleDK Hier 100 (11) Single-SingleDK Hier 200 (8) Single-SingleDK Hier 100 (11) Double-DoubleDK Hier 200 (8) Double-Double

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

0.1

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Long vs. Long -- orbit radius large

DK Hier 100 (11) SingleDK Hier 200 (8) SingleDK Hier 100 (11) Single-SingleDK Hier 200 (8) Single-SingleDK Hier 100 (11) Double-DoubleDK Hier 200 (8) Double-Double

Figure 8. Performance of the Dobkin-Kirpatrick Hierarchy for Exact Distance Computationwith Various Parameter Settings

15

Page 16: SWIFT : Accelerated Proximity Queries Using Multi-Level Voronoi … · The multi-level-of-detailrepresentation of each object that is constructed in the algorithm’s preprocess-

0

0.005

0.01

0.015

0.02

0.025

0.03

0.035

0.04

0.045

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Fat vs. Fat -- orbit radius small

QS Hier 0.5 (5)QS Hier 0.25 (3)QS Hier 0.125 (2)QS Hier 0.0625 (2)QS Hier 0.03125 (2)

0

0.005

0.01

0.015

0.02

0.025

0.03

0.035

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Fat vs. Fat -- orbit radius large

QS Hier 0.5 (5)QS Hier 0.25 (3)QS Hier 0.125 (2)QS Hier 0.0625 (2)QS Hier 0.03125 (2)

0

0.005

0.01

0.015

0.02

0.025

0.03

0.035

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Plate vs. Plate -- orbit radius small

QS Hier 0.5 (5)QS Hier 0.25 (3)QS Hier 0.125 (2)QS Hier 0.0625 (2)QS Hier 0.03125 (2)

0

0.005

0.01

0.015

0.02

0.025

0.03

0.035

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Plate vs. Plate -- orbit radius large

QS Hier 0.5 (5)QS Hier 0.25 (3)QS Hier 0.125 (2)QS Hier 0.0625 (2)QS Hier 0.03125 (2)

0

0.005

0.01

0.015

0.02

0.025

0.03

0.035

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Long vs. Long -- orbit radius small

QS Hier 0.5 (5)QS Hier 0.25 (3)QS Hier 0.125 (2)QS Hier 0.0625 (2)QS Hier 0.03125 (2)

0

0.005

0.01

0.015

0.02

0.025

0.03

0.035

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Long vs. Long -- orbit radius large

QS Hier 0.5 (5)QS Hier 0.25 (3)QS Hier 0.125 (2)QS Hier 0.0625 (2)QS Hier 0.03125 (2)

Figure 9. Performance of the QSlim Hierarchy for Intersection Detection with Various Pa-rameter Settings

16

Page 17: SWIFT : Accelerated Proximity Queries Using Multi-Level Voronoi … · The multi-level-of-detailrepresentation of each object that is constructed in the algorithm’s preprocess-

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Fat vs. Fat -- orbit radius small

QS Hier 0.5 (5)QS Hier 0.25 (3)QS Hier 0.125 (2)QS Hier 0.0625 (2)QS Hier 0.03125 (2)

0.01

0.015

0.02

0.025

0.03

0.035

0.04

0.045

0.05

0.055

0.06

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Fat vs. Fat -- orbit radius large

QS Hier 0.5 (5)QS Hier 0.25 (3)QS Hier 0.125 (2)QS Hier 0.0625 (2)QS Hier 0.03125 (2)

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Plate vs. Plate -- orbit radius small

QS Hier 0.5 (5)QS Hier 0.25 (3)QS Hier 0.125 (2)QS Hier 0.0625 (2)QS Hier 0.03125 (2)

0.01

0.015

0.02

0.025

0.03

0.035

0.04

0.045

0.05

0.055

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Plate vs. Plate -- orbit radius large

QS Hier 0.5 (5)QS Hier 0.25 (3)QS Hier 0.125 (2)QS Hier 0.0625 (2)QS Hier 0.03125 (2)

0.01

0.015

0.02

0.025

0.03

0.035

0.04

0.045

0.05

0.055

0.06

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Long vs. Long -- orbit radius small

QS Hier 0.5 (5)QS Hier 0.25 (3)QS Hier 0.125 (2)QS Hier 0.0625 (2)QS Hier 0.03125 (2)

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Long vs. Long -- orbit radius large

QS Hier 0.5 (5)QS Hier 0.25 (3)QS Hier 0.125 (2)QS Hier 0.0625 (2)QS Hier 0.03125 (2)

Figure 10. Performance of the QSlim Hierarchy for Exact Distance Computation with VariousParameter Settings

17

Page 18: SWIFT : Accelerated Proximity Queries Using Multi-Level Voronoi … · The multi-level-of-detailrepresentation of each object that is constructed in the algorithm’s preprocess-

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Fat vs. Fat -- orbit radius small

NothingLUT 2 5.625DK Hier 100 (11) Double-DoubleQS Hier 0.03125 (2)

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Fat vs. Fat -- orbit radius large

NothingLUT 2 5.625DK Hier 100 (11) Double-DoubleQS Hier 0.03125 (2)

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Plate vs. Plate -- orbit radius small

NothingLUT 2 5.625DK Hier 100 (11) Double-DoubleQS Hier 0.03125 (2)

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Plate vs. Plate -- orbit radius large

NothingLUT 2 5.625DK Hier 100 (11) Double-DoubleQS Hier 0.03125 (2)

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Long vs. Long -- orbit radius small

NothingLUT 2 5.625DK Hier 100 (11) Double-DoubleQS Hier 0.03125 (2)

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Long vs. Long -- orbit radius large

NothingLUT 2 5.625DK Hier 100 (11) Double-DoubleQS Hier 0.03125 (2)

Figure 11. Performance of Best Methods for Intersection Detection

18

Page 19: SWIFT : Accelerated Proximity Queries Using Multi-Level Voronoi … · The multi-level-of-detailrepresentation of each object that is constructed in the algorithm’s preprocess-

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Fat vs. Fat -- orbit radius small

NothingLUT 2 5.625DK Hier 100 (11) Double-DoubleQS Hier 0.03125 (2)

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Fat vs. Fat -- orbit radius large

NothingLUT 2 5.625DK Hier 100 (11) Double-DoubleQS Hier 0.03125 (2)

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Plate vs. Plate -- orbit radius small

NothingLUT 2 5.625DK Hier 100 (11) Double-DoubleQS Hier 0.03125 (2)

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Plate vs. Plate -- orbit radius large

NothingLUT 2 5.625DK Hier 100 (11) Double-DoubleQS Hier 0.03125 (2)

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Long vs. Long -- orbit radius small

NothingLUT 2 5.625DK Hier 100 (11) Double-DoubleQS Hier 0.03125 (2)

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0 20 40 60 80 100 120 140 160 180

time

(ms)

relative movement (degrees)

Long vs. Long -- orbit radius large

NothingLUT 2 5.625DK Hier 100 (11) Double-DoubleQS Hier 0.03125 (2)

Figure 12. Performance of Best Methods for Exact Distance Computation

19

Page 20: SWIFT : Accelerated Proximity Queries Using Multi-Level Voronoi … · The multi-level-of-detailrepresentation of each object that is constructed in the algorithm’s preprocess-

References

[1] S.Cameron.Approximationhierarchiesands-bounds.In Proceedings.Symposiumon SolidMod-eling FoundationsandCAD/CAMApplications, pages129–137,Austin,TX, 1991.

[2] S.Cameron.Enhancinggjk: Computingminimumandpenetrationdistancebetweenconvex poly-hedra. Proceedingsof InternationalConferenceon Roboticsand Automation, pages3112–3117,1997.

[3] D. P. Dobkin andD. G. Kirkpatrick. Determiningthe separationof preprocessedpolyhedra– aunifiedapproach.In Proc.17thInternat.Colloq.AutomataLang. Program., volume443of LectureNotesComput.Sci., pages400–413.Springer-Verlag,1990.

[4] P. Dworkin andD. Zeltzer. A new model for efficient dynamicssimulation. ProceedingsEuro-graphicsworkshoponanimationandsimulation, pages175–184,1993.

[5] H. Edelsbrunner. Computingtheextremedistancesbetweentwo convex polygons.J. Algorithms,6:213–224,1985.

[6] S. A. EhmannandM. C. Lin. Acceleratedproximity queriesbetweenconvex polyhedraby multi-level voronoi marching. Technicalreport, ComputerScienceDepartment,University of NorthCarolinaat ChapelHill, 2000.

[7] J. Erikson,L. Guibas,J. Stolfi, andL. Zhang. Separation-sensitive collision detectionfor convexobjects.Proc.of SODA, 1999.

[8] R. Maheshwari G. Hirota andM. Lin. Fastvolume-preservingfree-formdeformationusingmulti-level optimization.Proc.Symposiumon SolidModelingandApplications, 1999.

[9] M. GarlandandP. Heckbert. Surfacesimplificationusingquadricerror bounds. Proc. of ACMSIGGRAPH, pages209–216,1997.

[10] E. G. Gilbert, D. W. Johnson,and S. S. Keerthi. A fast procedurefor computingthe distancebetweenobjectsin three-dimensionalspace.IEEEJ. RoboticsandAutomation, vol RA-4:193–203,1988.

[11] S. Gottschalk,M. Lin, andD. Manocha.Obb-tree:A hierarchicalstructurefor rapid interferencedetection.In Proc.of ACM Siggraph’96, pages171–180,1996.

[12] L. Guibas,D. Hsu,andL. Zhang. H-Walk: Hierarchicaldistancecomputationfor moving convexbodies.Proc.of ACM SymposiumonComputationalGeometry, 1999.

[13] P. M. Hubbard. Interactive collision detection. In Proceedingsof IEEE Symposiumon ResearchFrontiers in Virtual Reality, October1993.

[14] J. Klosowski, M. Held, JosephS. B. Mitchell, K. Zikan, andH. Sowizral. Efficient collision de-tectionusingboundingvolumehierarchiesof O -DOPs. IEEE Trans.Visualizat.Comput.Graph.,4(1):21–36,1998.

[15] M.C. Lin. Efficient Collision Detectionfor Animationand Robotics. PhD thesis,DepartmentofElectricalEngineeringandComputerScience,Universityof California,Berkeley, December1993.

20

Page 21: SWIFT : Accelerated Proximity Queries Using Multi-Level Voronoi … · The multi-level-of-detailrepresentation of each object that is constructed in the algorithm’s preprocess-

[16] M.C. Lin andJohnF. Canny. Efficient algorithmsfor incrementaldistancecomputation.In IEEEConferenceonRoboticsandAutomation, pages1008–1014,1991.

[17] D. Luebke andC. Erikson. View-dependentsimplificationof arbitrarypolygonenvironments.InProc.of ACM SIGGRAPH, 1997.

[18] N. Megiddo. Linear-time algorithmsfor linearprogrammingin fin andrelatedproblems.SIAMJ.Computing, 12:pp.759–776,1983.

[19] BrianMirtich. V-Clip: Fastandrobustpolyhedralcollisiondetection.ACM TransactionsonGraph-ics, 17(3):177–208,July1998.

[20] S. Quinlan. Efficient distancecomputationbetweennon-convex objects. In Proceedingsof Inter-nationalConferenceonRoboticsandAutomation, pages3324–3329,1994.

[21] H. Samet.SpatialData Structures: Quadtree, OctreesandOtherHierarchical Methods. AddisonWesley, 1989.

[22] P. Schro� der andD. Zorin. Subdivision for modelingandanimation. ACM SIGGRAPHCourseNotes, 1998.

[23] R. Seidel. Linear programmingandconvex hulls madeeasy. In Proc. 6th Ann. ACM Conf. onComputationalGeometry, pages211–215,Berkeley, California,1990.

[24] E. Stollnitz, T. Derose,and D. Salesin. Waveletsfor ComputerGraphics. Morgan KaufmannPublishers,1996.

[25] Tiow-SengTan, Ket-Fah Chong,and Kok-Lim Low. Computingboundingvolume hierarchiesusingmodelsimplification. In ACM Symposiumon Interactive3D Graphics, pages63–70,1999.

21