D A Survey

P Jimenez F Thomas and C Torras

Institut de Robotica i Informatica Industrial CSICUPCGran Capita Ed

1

Nexus Barcelona SPAIN

Abstract

Many applications in require fast and robust D collision detec

tion These algorithms can b e group ed into four approaches spacetime

volume intersection swept volume interference multiple interference detection and

tra jectory parameterization While some approaches are linked to a particular ob ject

representation scheme eg spacetime volume intersection is particularly suited to

a CSG representation others do not

The multiple interference detection approach has b een the most widely used under

a variety of sampling strategies reducing the collision detection problem to multiple

calls to static interference tests In most cases these tests b oil down to detecting

intersections b etween simple geometric entities such as spheres b oxes aligned with

the co ordinate axes or p olygons and segments

The computational cost of a collision detection dep ends not only on

the complexity of the basic interference test used but also on the numb er of times

this test is applied Therefore it is crucial to apply this test only at those instants

and places where a collision can truly o ccur Several strategies have b een develop ed

to this end to nd a lower time b ound for the rst collision to reduce the

pairs of primitives within ob jects susceptible of interfering and to cut down the

numb er of ob ject pairs to b e considered for interference These strategies rely on

distance computation algorithms hierarchical ob ject representations orientation

based pruning criteria and space partitioning schemes

This pap er tries to provide a comprehensive survey of all these techniques from

a unied viewp oint so that wellknown algorithms are presented as particular in

stances of general approaches

Key words Geometric algorithms languages and systems Collision Detection

Interference Tests

1

Email fjimenezthomastorrasgiriup ces

Preprint submitted to Elsevier Preprint April

Intro duction

Many collision detection algorithms have b een prop osed in recent years within the elds

of Rob otics and esp ecially Computer Graphics Some app ear

tailored to particular applications others stem from theoretical concerns and their diverse

origins and aims often hide the common ground on which they lie This article tries to

unravel this common ground

A recent survey on the sub ject classies collision detection algorithms according to the

geometric ob ject mo del used The present pap er is rather oriented towards a systematic

characterization of the solving strategies as explained b elow The reader interested in

a quick comparison of the most wellknown algorithms can have a lo ok at the table in

httpbrleewashingtoneduBRLshccollidehtm

Computer Graphics encompasses a broad set of applications related to ComputerAided

Design Virtual Reality and Physical Simulation that require fast collision detection The

algorithms develop ed in this context are ab ove all intended to b e of practical use Con

trarily the eld of Computational Geometry seeks to synthesize algorithms with the b est

p ossible worstcase complexity which in many cases entails the design of intrincate data

structures Thus while computational geometers and graphicists have a substantial over

lap of interest in geometry their algorithms ob ey markedly dierent purp oses

Computational geometry algorithms often assume general p osition but realworld mo d

els tend to have a lot of degeneracies such as coplanar or parallel faces Thus any assump

tion of general p osition is inappropriate in practical settings Not only degeneracies but

also bad data lead to challenging problems For example as noted in p olyhedral

mo dels generated by some widely used CAD systems tend to have various degrees of

nearly coplanar vertices ie p olygonal faces b ounded by four or more vertices where the

vertices only approximately lie on the same plane And even worse many mo dels tend to

have selfintersections ie they contain faces which intersect at places other than their

b oundaries As a consequence practical collision detection algorithms are shap ed not only

by the application itself but also by the challenging inputs arising in practice

The application largely delimits the kind of algorithms to b e applied For example while

the path taken by the moving ob ject in Virtual Reality applications is not known a pri

ori precisely sp ecied tra jectories have to b e checked for collision in rigid b o dy physical

simulation systems that involve the exact repro duction of mechanical pro cesses Thus

a tra jectorybased approach suitable in the latter case would b e useless in the former

one Moreover when the application allows it and for eciencys sake a collision detec

tion algorithm might delib erately intro duce error For example ob jects might b e crudely

approximated by cub es spheres p olyspheres etc and complex tra jectories decomp osed

into simpler ones or simply discretized Practical collision detection algorithms have long

sought to exploit this tradeo b etween solution quality and computational time We de

vote an imp ortant part of this survey to these approximations

The pap er is structured as follows Section II shows that the available collision detection

approaches lie within two main categories geometric and algebraic and explains how

those based on the former category apply two techniques pro jection and sampling or

combinations of them This overview makes clear that tests for static interference b etween

simple geometric entities lie at the base of most detection approaches Section III presents

these tests The eciency of a basic interference test do es not guarantee that a collision

detection algorithm based on it is in turn ecient b ecause the numb er of times the test is

applied is another key factor Thus Section IV reviews the dierent strategies to restrict

the application of the interference test to those instants time b ounds and ob ject parts

space b ounds at which a collision can truly o ccur Finally conclusions are sketched in

Section V

Approaches to collision detection

Collision detection admits several problem formulations dep ending on the typ e of output

sought and on the constraints imp osed on the inputs The simplest decisional problem

that lo oking for a yesno answer is usually stated as follows Given a set of ob jects and

a description of their motions over a certain time span determine whether any pair will

come into contact More intricate versions require nding the time and features involved

in the collision Placing constraints on the inputs is a usual way of simplifying problems

Thus often ob jects are assumed to b e p olyhedra usually convex ones and motions are

constrained to b e translational or linear in a given parameter space

In the following subsections the four main approaches that have b een prop osed to deal

with the dierent instances of the collision detection problem are describ ed

Spatiotemporal intersection

The most general representation of the collision detection problem is based on the extru

sion op eration The extruded volume of an ob ject is the spatiotemp oral set of p oints

representing the spatial o ccupancy of the ob ject along its tra jectory A collision b etween

2

two ob jects o ccurs if and only if their extruded volumes intersect see Figs and

The extrusion op eration is distributive with resp ect to the union intersection and set dif

ference op erations This motivated the development of the extrusion approach in the con

text of Constructive Solid Geometry CSG representations The mentioned distributive

prop erty guarantees that an ob ject and its extruded volume can b e represented through

the same b o olean combination of volumetric primitives and extrusions of these primitives

resp ectively

The formal b eauty of this approach is partially o ccluded by the high cost of its practical

implementation whose b ottleneck is the generation of the D extruded volumes them

selves Thus for example the extrusion of a linear subspace sub ject to a constant angular

velo city is b ounded by a helicoidal hyp ersurface For this reason the implementation deals

only with linear subspaces sub ject to piecewise translational motions

2

Almost all gures that illustrate the dierent issues in the text represent the corresp onding

D situation for clarity t

y

x

y

x

Fig Extruded and Swept Volumes Time is explicitly taken into account Since the extruded

volumes interfere a col lision is detected Below the corresponding swept volumes in D are shown

t

y

x

y

x

Fig Extruded and Swept Volumes cont Here no col lision takes place and therefore the

extruded volumes do not interfere Note that the corresponding swept volumes in D are the

same as those in the previous gure

If the computation of the extruded volumes in D were simple no other approaches would

have b een intro duced since they are all aimed at avoiding this explicit computation

These approaches are either geometric or algebraic Among the geometric ones two main

alternatives have b een prop osed namely pro jecting the extruded volume onto a lower

dimensional subspace which leads to the swept volume approach and sampling along

the tra jectory which b oils down to the rep eated application of an intersection detection

algorithm The algebraic approach consists of parameterizing the tra jectory Next we

describ e these approaches

Swept volume interference

The volume containing all the p oints o ccupied by a moving ob ject during a time p erio d

is called the swept volume If the swept volumes for all the ob jects in a scene do not

intersect then no collision b etween them will o ccur during the sp ecied time p erio d

However this is a sucient but not a necessary condition It may happ en that the swept

volumes intersect but no collision takes place This fact is shown in Figs and In b oth

situations the same swept volumes are generated but only in the rst situation collision

actually o ccurs

In order for the condition to b e also necessary the sweep has to b e p erformed according

to the relative motion of one ob ject with resp ect to another one for each pair of ob jects

In this case while one of the ob jects is considered xed the volume swept out by the

other one during its relative motion is computed This can b e computationally very costly

although now it can b e ensured that if the swept volume intersects with the xed one

collision actually happ ens

The generation of the swept volume is also computationally exp ensive This is the reason

why many works adhering to this approach deal with convex approximations of the swept

volume and only when the global swept volumes intersect they pro ceed to split the

tra jectory into pieces and to compute a convex approximation of the swept volume for each

piece For convex ob jects Foisy and Hayward have proved that the approximations

obtained in the successive splittings of the tra jectory converge to the real swept volume

Simplifying alternatives are restricting the shap es and tra jectories to very simple ones

and creating implicitly the swept volume from the volumes swept out by the primitives

of the b oundary representation Brep Recall that an ob ject can b e describ ed by the

surface b ounding it so that the Brep description of a p olyhedra for example consists of

a list of its b oundary primitives vertices edges and faces together with their top ological

adjacencies

Multiple interference detection

The simplest way to tackle collision detection is to sample ob ject tra jectories and rep eat

edly apply a static interference test The way sampling is p erformed is crucial for the

success of the approach A to o coarse sampling may miss a collision while a to o ne one

may b e computationally exp ensive The reasonable way out is to apply adaptive sampling

Ideally the next time sample should b e the earliest time at which a collision can really

o ccur The dierent sampling strategies dier in the way this earliest time is estimated

The most crude estimation is the one relating a lower b ound on the distance b etween

ob jects to an upp er b ound on their relative velo cities

More sophisticated strategies take not only distance into account but also directional

information One such strategy requires computing the closest p oints from two convex

p olytop es extended to general convex ob jects in at the current time sample as well

as the line joining them The rst future instant at which the pro jections of the ob jects on

the line meet is taken as the next time sample see Fig Therefore this technique can

b e viewed as a hybrid of sampling and pro jecting onto lowerdimensional subspaces a D

subspace in this case according to the terminology intro duced at the end of Section

(a) (b)

(c) (d)

Fig Adaptive time sampling The starting position is depicted in a where the closest points

and the line joining them are computed The projections of the objects on this line meet at

instant b which is taken to be the next time sample At this instant the new closest points are

computed c and the next time sample where the polygons do actual ly col lide is determined

in the same way d

Since the closest p oints b etween two ob jects lie always in their b oundaries it is usual

practice to resort to Breps when following a multiple interference detection approach

However as we shall see in Section to conne the application of the interference test

to those ob ject parts susceptible of colliding rst spatial partitioning techniques such as

o ctrees and voxels have also b een used in conjunction with this approach

Trajectory parameterization

The collision instant can b e analytically determined if the ob ject tra jectories are expressed

as functions of a parameter time For example consider the simple case in which a p oint

undergo es a linear motion and we want to detect if it intersects a xed triangle in space

Then the parametric vector equation

0

p p pt p p p u p p v

0 1 0 2 0

0

where p and p are the initial and nal p ositions of the p oint and the p s dene the

i

triangle is set up and solved for the variables u v and t u and v are parametric variables

for the plane dened by the triangle whereas t is a time variable which is at the b eginning

of the simulation step and at the end If t and u and v and u v

then the p oint intersects the triangle during the time step This vector equation

represents three scalar equations in three unknowns which can b e reduced to a single

p olynomial in t

Conditions of intersection for general p olyhedra following complex tra jectories can b e set

up in the same way the only dierence b eing the degree of the p olynomials in the variable

t to b e solved When rotations are present the resulting expressions contain trigonometric

functions but they can also b e reduced to p olynomials in a single variable by means of a

prop er change of variables

Dep ending on the tra jectories the degrees of the resulting p olynomials may b e arbitrar

ily high Then as p olynomials of order and ab ove cannot b e solved analytically the

determination of the collision instant can b e computationaly very exp ensive for arbitrary

tra jectories

In the problem is tackled in a radically dierent way a tra jectory connecting two

arbitrary congurations for a moving p olyhedron in a p olyhedral environment is designed

so that the obtained p olynomials are of degree ie the lowest p ossible degree when the

moving p olyhedron translates and rotates simultaneously A p olyhedra interference test

is expressed as a combination of parameterized basic contact functions these functions

reecting the spatial relationships b etween the primitives of the Brep of the p olyhedra

The zeros of these functions delimit several time intervals whose combination according

to the interference test provides the desired set of intervals over which ob jects would b e

intersecting if they were adhering to the predened tra jectories While uses a param

eterization based on quaternions follow the same approach using homogeneous

co ordinates

In the problem of detecting collisions b etween deformable mo dels is regarded as a

constrained minimization problem which is solved using interval Newton metho ds

In the context of Computer Graphics a parameterized collision condition can b e easily

derived for triangulated surface representations which can b e extended to nonrigid

timedep endent parametric surfaces

Static interference detection

All but the last approach describ ed in the preceding section eventually require to apply a

static interference test b etween either D volumes or D ones Here ecient interference

detection strategies are describ ed where the considered ob jects are convex or nonconvex

p olyhedra Convexity plays a very imp ortant role in the p erformance of interference de

tection algorithms and it is therefore used as criterion for classifying these strategies

Convex polyhedra

As p ointed out in intersection detection for two convex p olyhedra can b e done in

linear time in the worst case The pro of is by reduction to linear programming which is

solvable in linear time for any xed numb er of variables If two p oint sets have disjoint

convex hulls then there is a plane which separates the two sets The three parameters

that dene the plane are considered as variables Then a linear inequality is attached to

each vertex of one p olyhedron which sp ecies that the p oint is on one side of the plane

and the same is done for the other p olyhedron sp ecifying now the lo cation on the other

side of the plane

Moreover convex p olyhedra can b e prop erly prepro cessed to make the complexity of

intersection detection drop to O log n log m Prepro cessing takes O n m time to build

a hierarchical representation of two p olyhedra with n and m vertices The lowest level P

1

in the hierarchical representation is the original p olyhedron the highest one say P is a

r

tetrahedron where r O log n At each level of the hierarchy vertices of the original

p olyhedron are removed such that they form an indep endent set ie are not adjacent

in the p olyhedron corresp onding to the previous hierarchical level and the corresp onding

edge and face adjacency relationships are up dated These hierarchical representations need

to b e computed only once and they can b e used for any interference query involving the

same p olyhedra The algorithm describ ed in actually computes the separation ie

the minimum distance b etween the p olyhedra interference is detected implicitly when

this separation turns out to b e null

Actually most algorithms used to detect interferences b etween convex p olyhedra rely on

the computation of the minimum distance and will b e describ ed in Section

Polyhedra with convex faces

3

Disregarding the case in which one p olyhedron is fully inside another one they intersect

if their b oundaries do The detection of intersections b etween p olyhedral surfaces reduces

to detecting that an edge of one surface is piercing a face of the other surface Since all

edges are to b e tested against all faces the complexity of pro cedures following this scheme

is necessarily O nm However when faces are convex p olygons interference detection

b ecomes quite simple and easy to implement as explained b elow

This reduction of the interference problem to detecting edges piercing convex faces for

mulated using the idea of predicates asso ciated with basic contacts was intro duced in

There are two basic contacts b etween two p olyhedra One takes place when a face of one

p olyhedron is in contact with a vertex of the other p olyhedron Typ eA contact and the

other when an edge of one p olyhedron is in contact with an edge of the other p olyhedron

Typ eB contact

3

Later it is shown that this case is no exception since it can b e dealt with using the same

pro cedures

It is p ossible to asso ciate a predicate with each basic contact which will b e true or false

dep ending on the relative lo cation b etween the geometric elements involved Let us assume

that face F is represented by its normal vector f edge E by a vector e along it and

i i j j

vertex V by its p osition vector v Although this representation is ambiguous any choice

k k

of vector orientation leads to the same results in what follows

According to Fig a predicate A asso ciated with a basic contact of Typ eA is

V F

i j

dened as true when

hf v v i

j i k

for any vertex V in face F and false otherwise

k j

According to Fig b predicate B asso ciated with a basic contact of Typ eB is

E E

i j

dened as true when

he e v v i

i j m k

V and V b eing one of the two endp oints of E and E resp ectively and false otherwise

m k i j

v i fj vl e i vk v k v e j m vn

(a) (b)

Fig Geometric elements involved in the denition of the predicates associated with TypeA

a and TypeB b basic contacts

It can b e checked that if one of the following b o olean expressions

^

out

A A O B

V F V F E E

x y

E F

j j i

k

i j

E 2edg es(F )

j

k

^

in

O A A B

V F V F E E

x y

E F

j j i

k

i j

E 2edg es(F )

j

k

is true then edge E intersects convex face F provided that its edges E are traversed

i j k

counterclo ckwise refer to Fig vy

fj

e i e k

vx

Fig Basic edgeface intersection test convex faces

The case where one of the p olyhedra is completely contained inside the other one can

b e handled with the same to ols by drawing an arbitrary ray from any p oint on the rst

p olyhedron if this ray intersects an o dd numb er of faces of the second p olyhedron which

can b e checked with equation then inclusion exists

General polyhedra

General nonconvex p olyhedra are qualitatively more dicult to handle Therefore most

authors resort to decomp osing them or their b oundaries into convex parts convex p oly

hedra or p olygons resp ectively and to apply interference detection algorithms to those

parts Few works try to cop e directly with nonconvex p olyhedra without decomp osing

them Moreover note that in general it is not p ossible to express a nonconvex curved

ob ject as the union of convex ob jects for example consider a blo ck with a cylindrical hole

drilled into it This is the reason why the more accurate is the p olyhedral aproximation

of a curved ob ject the more complex is in general its decomp osition into convex parts

Decomposition into convex parts

It is p ossible to apply the ab ove algorithms to nonconvex p olyhedra just by decomp osing

them into convex entities Typically decomp osition is p erformed in a prepro cessing step

and therefore has to b e computed only once The p erformance of this step is a tradeo

b etween the complexity of its execution and the complexity of the resulting decomp osition

For example the extreme case of solving the minimum decomposition problem is known to

b e NPhard in general On the other hand algorithms such as that in can always

2

partition a p olytop e of n vertices into at most O n convex entities

Some interference detection algorithms work exclusively with convex p olyhedra others

need only the faces of the p olyhedron to b e convex In the rst case prepro cessing will

consist in a solid decomp osition of the nonconvex p olyhedra the output consisting of

a set of smaller convex p olyhedra see whereas in the second case only a sur

face decomp osition algorithm will b e needed In any case a numb er of additional

ctitious entities are created that have to b e considered in the intersection tests

Direct approach

It has long b een known that even for nonconvex faces a simple twostep test suces

to detect whether an edge intersects a face First check if the edge endp oints are on

opp osite sides of the face plane If so check whether the p oint of intersection b etween the

edge and the face plane is lo cated inside the face by simply casting a ray from this p oint

and determining how many times the ray intersects the p olygon Then if this numb er

is o dd intersection do es exist o ddparity rule Note that the latter check corresp onds

directly to solving a pointinpolygon problem for which several alternatives dierent

from that of sho oting a ray have b een prop osed p

As mentioned in the preceding section the application of this test to all edgeface pairs

leads to an O nm complexity Thus a quadratic numb er of intersection p oints may need

to b e computed to ascertain that there is no intersection b etween two p olyhedra A way

to avoid these intersection computations is to reduce the test to computing the signs of

some determinants as in many other problems arising in Computational Geometry

p i t

v p i+1

h

Fig Basic edgeface intersection test general faces

Consider a face from one p olyhedron dened by the ordered sequence of vertices around

it represented by their p osition vectors p p expressed in homogeneous co ordinates

1 l

that is p p p p and an edge from the other dened by its endp oints h and

i x y z

i i i

t Then consider a plane containing the edge and any other vertex say v of the same

p olyhedron so that all edges in the face whose endp oints are not on opp osite sides of this

plane are discarded In other words we dene according to Fig s sign jh t v p j

i

Then if p and p are on opp osite sides s should have a dierent sign from that of

i i+1

jh t v p j

i+1

It can b e checked that if the numb er of edges straddling the plane and satisfying

s sig n jh t p p j is o dd then the face is intersected by the edge Actually this

i i+1

is a reformulation of the o dd parity rule that avoids the computation of any additional

geometric entities such as those resulting from planeedge or lineedge intersections

The two sp ecial cases in which the arbitrary plane intersects at one vertex of the face or it

is coplanar with one of the edges lead to determinants that are null Actually equivalent

situations also arise when the ray sho oting strategy is used In order to take them into

account a simple mo dication of the o dd parity rule has to b e intro duced as in

It is also worth mentioning that if the arbitrary p oint v is a vertex of one of the two faces

in which the edge lies dierent from its endp oints the ab ove approach is a generalization

of Cannys predicates since these predicates can also b e expressed in terms of signs of

determinants involving vertex lo cations

Thus in order to decide whether two nonconvex p olyhedra intersect only the signs of

some determinants involving the vertex lo cation co ordinates are required Since the signs

of all the involved determinants are not indep endent it is reasonable to lo ok for a set

of signs from which all other signs can b e obtained This is discussed in through a

formulation of the problem in terms of oriented matroids

Strategies for time and space b ounding

Even if a basic interference test is made very ecient as describ ed in the preceding section

the collision detection algorithm can still b e computationally exp ensive if the basic test

has to b e applied many times Thus the key asp ect of any collision detection scheme is to

restrict as much as p ossible when and where this test is applied by taking advantage of

the ob jects geometry and the ob jects dynamics if this information is available Knowing

how the ob jects are moving and how far away they are from one another it is p ossible to

b ound the time interval where the collision is likely to o ccur Therefore it is imp ortant to

determine quickly the distance b etween ob jects On the other hand if the complexity of

the ob jects is high it is desirable to restrict the search for collisions to those ob ject parts

that may actually collide Finally if there are many moving ob jects in the scene means

to avoid having to check every pair of ob jects for collision need to b e provided These are

the issues of the next subsections

Distance computation for col lision time bounding

Spherical representations are app ealing b ecause the elementary distance calculation b e

tween two spheres is trivial The problem rather consists in determining which spheres of

the representation have to b e tested In ob jects are describ ed in terms of spherical

cones generated by translating a sphere along a line and changing its radius and spher

ical planes which are obtained by translating a sphere in two dimensions and eventually

changing also its radius These primitives can also b e viewed as a collection of spheres

Any distance can b e expressed as a combination of the distances b etween two spherical

cones and b etween a sphere and a spherical plane

In ellipsoids are used to approximate convex p olyhedra A free margin function of one

ellipsoid with resp ect to the other is then computed This function b ehaves in a manner

similar to the euclidean distance except in that it is negative instead of zero as the

ellipsoids interfere and it is not symmetric in the general case

Computing the distance b etween implicit and parametric surfaces is a very involved prob

lem in general Basic approaches to compute the closest p oints of two freeform ob jects

neglect the fact that these p oints satisfy the necessary condition that their normals are

aligned and opp osite in direction In this constraint is used to obtain a measure of

p enetration distance in the case that b oth ob jects intersect

Most distance computation algorithms have b een develop ed for convex p olyhedra Some

exploit sp ecic features of p olyhedra and therefore cannot b e used with other typ es of

geometric mo dels Others like the metho d explained in can b e used with spherical

or other nonp olytopal surface descriptions These algorithms follow two main

streams namely the geometric and the optimization ones which are the ob jects of the

next subsections

The geometric stream

The idea is to determine the closest p oints of two p olyhedra and then compute the

euclidean distance b etween them Three metho ds for determining the closest p oints have

b een prop osed two of them pro ceed by expanding an incremental representation in the

direction of the minimum distance while the third navigates along the b oundaries of

the p olyhedra to nd the closest p oints These metho ds are describ ed in the following

paragraphs

Using Dobkin and Kirkpatricks hierarchical p olyhedral representation describ ed in Sec

tion distance computation can b e p erformed in optimal O log n log m time

Every step in the closest p oints search pro cedure corresp onds to a level in the hierarchical

representation In the rst step the closest p oints of two tetrahedra the lowest level in

the hierarchy are trivially determined Now consider the direction of the segment that

joins the closest p oints found at a given step The two planes p erp endicular to this direc

tion that touch each p olyhedron at the level expanded so far b ound the zone where the

next closest pair has to b e searched for The intersection of this zone with the p olyhedra

expanded at the next level may consist of either two simplices one simplex or the empty

set If the closest p oints are not the same as in the previous step then at least one of

them b elongs to one of these simplices Therefore every search step is restricted to at

most two simplices The numb er of steps is b ounded by log n log m Figure may help

understand this pro cedure

The Minkowski dierence M fp q jp P q Qg of two p olytop es P and Q has

P Q

b een used in distance computation algorithms exploiting the fact that the distance

b etween P and Q is equal to that from M to the origin Fig Since the complexity

PQ

of computing the entire M is quadratic a directional construction of this set similar to

P Q

that used by Dobkin and Kirkpatrick has b een prop osed Starting from an arbitrary

Fig The hierarchical representation al lows to build up and search only those parts of the

polygons where the closest points can be found

tetrahedron contained in M vertices closest to the origin in the direction of minimum

P Q

distance are added one at a time while nonrelevant vertices are deleted so that the

search for the p oint closest to the origin is always p erformed on a simplex as shown in

Fig The vertexselection part of the algorithm can b e done in linear time a single

direction is tested over the set of vertices of one of the original p olyhedra and the opp osite

direction over the vertices of the other one

MPQ P

Q (a)

P Q

MPQ

(b)

Fig The Minkowski dierence M dashed line can be constructed by taking the convex

P Q

hul l of the points resulting from subtracting the vertices of Q from the vertices of P thin lines

a The distance between P and Q dotted line is the same as that from the origin to M b

PQ

If P and Q are interfering the origin wil l be within M

PQ

An alternative to the incremental construction of data structures for sp eeding up distance

computation is to navigate along the b oundaries of the involved p olyhedra in the direc

tion of decreasing distance The key notion here is that of Voronoi region refer to Fig 2 (a) (b) 1 1 3 9 9 4 4 8 7 5 0 6 0

(c) (d)

9 9 4

7 0 0

6 6

Fig a The closest point from the Minkowski polygon to the origin has to be determined

b The rst simplex is chosen arbitrarily and the segment realizing the minimum distance is

computed c The vertex whose projection on this segment is closest to the origin is selected

vertex is deleted and the new direction realizing the minimum distance is computed d The

next vertex selected turns out to be the closest point from the Minkowski polygon to the origin

Every feature vertex edge or face of a p olyhedron has asso ciated one such region con

sisting of all the p oints that are closer to it than to any other feature The Voronoi regions

for rectangular b oxes were intro duced in and extended to convex p olyhedra in

where an incremental algorithm for distance computation was prop osed The algorithm

works as follows First two arbitrary features are selected and the closest p oints b etween

them are obtained If each of the two p oints b elongs to the Voronoi region of the other

feature then they are actually the sought closest p oints b etween the p olyhedra and the

pro cedure stops If not each p oint has to b e closer to another neighb oring feature which

is selected and these steps are rep eated until the condition of inclusion in the resp ective

Voronoi regions is met This algorithm is linear in the total numb er of features Note that

if the p olyhedra are intersecting the algorithm would go into a cyclic lo op To overcome

this diculty some authors have extended the space partition to the interior of the p oly

hedron by dening pseudoVoronoi regions whose b oundaries are faces determined by the

centroid of the p olyhedron and its edges These pseudoVoronoi regions are

used only to determine if the p olyhedra interp enetrate or not VClip do es also handle

the case where the p olyhedra interp enetrate and is very robust in b oth cases It avoids

the explicit computation of the closest p oints b etween features by using simple clipping

op erations together with scalar derivative tests The co de is simple and its implementation

do es not require to sp ecify any numerical tolerance

In another imp ortant p oint is addressed consider that the distance b etween two

p olyhedra has to b e computed as they move along a nely discretized path The closest

features do not change often and a change almost always involves neighb oring features V (a)

E (b)

F (c)

Fig Voronoi regions of a vertex a an edge b and a face c

due to the convexity of the p olyhedra and the small discretization step Therefore not

an arbitrary pair of features but the closest features at the previous step are taken as

initial features for the next step Simple prepro cessing of the p olyhedra so that every

feature has a constant numb er of neighb oring features allows the distance computation

algorithm once initialized to run in exp ected constant time

In this ability to track the distance b etween two convex p olyhedra was also

analyzed for the algorithm describ ed in showing that a minor mo dication also gives

it a exp ected constant execution time

The optimization stream

Distance is viewed here as a quadratic function to b e minimized under linear constraints

2

due to the convexity of the p olyhedra Formally in the function f p q kp q k

Q

P P P

is minimized sub ject to the linear constraints hp n i d i k and hq n i

j

i i

Q

Q

j k where these constraints mean that p P and q Q with the p olyhedra d

j

P and Q b eing describ ed as intersections of halfspaces Rosens gradient pro jection algo

rithm is used At each step the active constraints are determined those where equality

holds with a certain tolerance and KuhnTucker conditions are used to test whether the

global minimum has b een attained If this is not the case the co ecients of the Kuhn

Tucker conditions are used to nd the new search direction There are two alternatives

for obtaining the starting p oints to apply a simplex minimization subalgorithm along

the direction dened by the centroids of the p olyhedra or to obtain the p oints where the

segment joining the centroids intersects the b oundaries of the p olyhedra

In applying Rosens gradient pro jection metho d as Bobrow did a convergence problem

may o ccur as stated in This problem is called the zigzag phenomenon and it app ears

when the KuhnTucker conditions are satised alternatively at each p olyhedron This

happ ens b ecause a zero vector is given as search direction on the p olyhedron where the

KuhnTucker conditions are satised The solution prop osed by these authors is to consider

as search direction for this p olyhedron the pro jection of the search direction for the other

p olyhedron on the active constraints of the rst one instead of the zero vector as shown

in Fig

P P Q Q

Sp1 Sq2 Sp1 S S q1 p3 S S q4 p5 S ... q6 ...

(a) (b)

Fig The zigzag phenomenon a is avoided if the projection of S on the active constraint

p1

of Q is taken as the search direction S b

q 1

Certain quadratic optimization problems can b e solved in linear time as shown in

In particular as already mentioned in Section Lin and Canny proved that the

computation of distances b etween convex p olyhedra is one such problem In the

complexity of computing other measures of proximity b etween p olyhedra are discussed

The describ ed algorithms based on optimization techniques have not b een proved to b e

sup erior to those based on geometric considerations which in practice have b ecome the

prevalent ones in most implementations mainly the one describ ed in b ecause of its

conceptual simplicity

No work has b een devoted sp ecically to distance computation b etween nonconvex p oly

hedra In the context of collision detection nonconvex ob jects are usually approximated

by simpler convex shap es and a conservative lower b ound on the distance is thus obtained

Some authors that deal with convex p olyhedra mention the p ossibility of extending their

algorithms to nonconvex ones by decomp osing them into convex entities as explained

in Section Unfortunately if the numb er of generated convex entities is imp ortant a

large numb er of pairwise distances have to b e computed and although the individual

ob jects are simpler the net result is an imp ortant increment in the global complexity As

a consequence it is imp ortant to restrict the pairwise distances to b e computed to those

entities included in regions most likely to collide The way these regions can b e eciently

computed is describ ed in the next section

Bounding col lision areas in objects

Three strategies can b e followed to fo cus the search for collisions on relevant p ortions of

the ob jects One is to exploit a hierarchy of b ounding volumes another is to determine

forefront features in the direction of motion and the third is to exploit temp oral coherence

to keep track of closest p oints Hierarchical b ounding can b e applied to b oth volume and

b oundary representations while the the latter two strategies are sp ecically suited to

b oundary representations

Hierarchical volume bounding

The idea b ehind the approaches using a hierarchy of b ounding volumes is to approxi

mate the ob jects with b ounding volumes or to decomp ose the space they o ccupy using

decomp ositions to reduce the numb er of pairs of ob jects or primitives that need to b e

checked for contact Two main advantages of these approaches must b e highlighted a

in many cases an interference or a noninterference situation can b e easily detected at the

rst levels in the hierarchy and b the renement of the representation is only necessary

in the parts where collision may o ccur Space and ob ject partitioning representations for

collision detection are surveyed next

Octrees or o ctreelike structures BSPtrees brepindices tetrahedral

meshes and regular grids are all examples of spatial partitioning represen

tations By dividing the space o ccupied by the ob jects one needs to check for contact

b etween only those pairs of ob jects or parts of ob jects that are in the same or nearby

cells of the decomp osition Using such decomp ositions in a hierarchical manner can fur

ther sp eed up the collision detection pro cess Octrees and BSPtrees have b een the most

widely used As their names indicate o ctrees recursively partition cub es into o ctants and

BSPtrees recursively cut the space by hyp erplanes The o ctree representation allows to

avoid checking for collision in those parts of space where o ctants are lab eled empty

that is those entirely free of ob jects If a full totally o ccupied by an ob ject or mixed

partially o ccupied o ctant is inside a full one of another ob ject interference o ccurs b e

tween them Only if a full or mixed o ctant is inside a mixed one the representation

has to b e further rened The natural o ctree primitive is a cub e but there exist

also mo dels based on the same idea where spheres are used as o ctantincluding volumes

or within a dierent space sub division technique where the sub division branching

is instead of BSP trees can b e considered a crossing b etween o ctrees and

b oundary representations In them partitioning is not restricted to b e axisaligned as

in o ctrees and therefore transformations orientation changes for example can b e sim

ply computed by applying the transformation to each hyp erplane without rebuilding the

whole representation

Ob ject partitioning representations are used in the collision detection context to

simultaneously attain the following three goals a approximate tightly the input primi

tives b admit a rapid intersection test to determine if two b ounding volumes overlap

and c b e up dated quickly when the primitives and consequently the b ounding vol

umes are rotated and translated in the scene Unfortunately as recognized in these

ob jectives are usually in conict so a balance among them must b e reached

Commonly used ob ject partitioning representations use hierarchies of spheres

or spherical shells for b ounding at dierent resolution levels Inner and outer b ounds

are often used

Volume b ounding strategies can b e used in conjunction with b oundary representations

Hierarchies of volumes enclosing b oundary features p ermit fo cussing on those susceptible

of interfering Thus o ctrees have b een used to build b ounding b ox hierarchies around

features of the p olyhedron b elonging to its convex hull and around concavities of non

convex p olyhedra Once intersection has b een detected b etween the convex hulls of

two p olyhedra a sweep and prune algorithm is applied to traverse the hierarchies up

to the leaf level where overlapping b oxes indicate which faces may intersect and exact

contact p oints can b e quickly determined

In cluttered environments oriented bounding boxes OBB p erform b etter than axis

aligned b oxes or spheres as they t the ob jects tighter and therefore less intersections

b etween b ounding volumes are rep orted An OBB tree is used in to represent p oly

hedra with triangulated b oundaries Overlaps b etween OBBs are rapidly determined by

p erforming simple axis pro jection tests ab out arithmetic op erations as proved

by the authors through their separating axis theorem Routines for building OBB trees

as well as for p erforming fast overlap tests b etween them can b e found in the RAPID in

terference detection package OBBs have also b een used in where if interference

b etween b oxes is not discarded OBBs are further sub divided into voxels and if needed

the interference test is nally applied to b oundary features of ob jects

On the other hand a hierarchy based on axisaligned bounding boxes AABB has the

advantage that the intersection test b etween each pair of AABB trees is not orientation

dep endent as is the case of OBB trees In other words the b oxes in AABB trees need to

b e pro jected on the co ordinate axes only once whereas for each pair of b oxes of OBB trees

undergoing an intersection test one b ox has to b e pro jected onto the axes of the other

one Furthermore AABB trees need less memory and are faster to build and are even

faster to up date which makes them sp ecially suitable for deformable mo dels SOLID

is a collision detection library that uses AABB trees for determining p ossible collisions in

a scene comp osed of p olygonal ob jects that may include complex deformable mo dels

Hierarchies of AABBs are also used in the context collision detection b etween deformable

mo dels in where the problem of selfintersections is also considered Selfintersections

may b e frequent in highly deformable mo dels due to b ending and wrinkling This problem

is treated in where a surface hierarchy that captures the adjacency relationships is

prop osed In this hierarchical representation combined with a simple hierarchy of

b ounding b oxes is used for handling b oth selfintersections and collisions b etween dierent

ob jects

The choice of discrete orientation p olytop es k dops as b ounding volumes was made

in to attain a compromise b etween the relatively p o or tighness of b ounding spheres

and AABBs and the relatively high cost of overlap tests and up dates asso ciated with

OBBs and convex hulls k dops are b ounding volumes that are convex p olytop es whose

facets are determined by halfspaces with outward normals coming from a small xed set

of k orientations In the implementation rep orted in their use compares favorably

with RAPID whose hierarchy is based on oriented volume b oxes

Though not hierarchical the most common ob ject partitioning representation is the Con

structive Solid Geometry CSG tree and in a b ounding technique tailored to this

representation was prop osed The idea is to represent all ob jects to b e checked for interfer

ence in one such tree and then iteratively compute simple enclosing volumes the so called

Sbounds for each no de in the tree The resulting b ound at the ro ot no de delimits the

part of the ob jects susceptible of interfering The technique starts by placing Sb ounds of

the primitives at the leaves of the CSG tree Then Sb ounds are alternatively propagated

upwards and downwards according to the set op erations attached to every no de in the

tree Two examples of Sb ounds namely spheres and rectangular parallelepip eds aligned

with the co ordinate axes are used and discussed in This technique has the advan

tages of hierarchical representations as discussed at the b eginning of this section ie

the cuto of subtrees included in empty b ounds leading to p ossibly imp ortant computa

tional savings and the fo cussing of intersection searching on zones where intersection can

actually o ccur Although originally develop ed for D interference detection the technique

has b een extended to extrusions

Bounding dependent on the direction of motion

If any kind of relative motion b etween two solids is allowed every part of their b oundaries

may intersect But if a p olyhedron can only move in a sp ecic way with resp ect to the

other one only certain parts of them can actually collide

Backface cul ling techniques which have b een widely used in Computer Graphics to sp eed

up the rendering of p olyhedra can also b e used in the collision detection context to avoid

unnecessary checking of b oundary elements for collision as shown in The basic idea

consists of comparing the normal vectors of the faces of the p olyhedra with the relative

velo city vectors A face is culled if its normal has a negative pro jection on the motion

vector as can b e seen in Fig On the average half of the faces of the two p olyhedra

are eliminated in this way

v 1 (-v2 ) (-v 1 ) v 2 v

2,1 v 1,2

Fig Only the faces shown as heavy lines whose normals have positive projections on the

relative motion vectors v and v need to be considered

21 12

Another p ossibility for feature b ounding arises in the context of convex p olyhedra sub ject

to translational motions Applicability constraints p ermit detecting those vertexface

and edgeedge pairs that can actually come into contact Fig The vertexface appli

cability condition expresses the fact that a vertex can touch a face only if every adjacent

edge pro jects p ositively on the faces normal taking the vertex as origin of every edge in

terpreted as a vector Analogously the edgeedge applicability condition states that two

edges can touch only if there exists a separating plane b etween their resp ective wedges

The applicability constraints may b e used as a prepro cessing step in a collision detection

scheme based on edgeface intersection tests For each applicable vertexface pair only b m

v j ej e i f i n a

(a) (b)

Fig a An applicable vertex V face F pairing b Edges E and E are also applicable

j i i j

one of the edges adjacent to the vertex has to b e tested for interference with the face Any

other edgeface test with this face can b e cut o In a similar way edgeedge applicable

pairs b ound the numb er of edgeface tests to b e p erformed In an ecient algorithm

for b ounding edgeface tests using applicability constraints is describ ed Exp erimental

results show that the numb er of tests required is linear in the total numb er of edges

the constant of linearity b eing close to The algorithm is based on a face orientation

graph representation where face adjacency relations are explicitly depicted Both this

representation and the b ounding algorithm based on it have recently b een extended to

deal with nonconvex p olyhedra

Exploiting temporal coherence to track closest points

The incremental minimum distance realization technique has already b een mentioned

in Subsection At a given instant the b oundary elements that realize the minimum

distance must b e close to those realizing it at the previous instant this is known as

geometric and temp oral coherence which are therefore taken as initial p oints for the

search In this case it is not a sp ecic orientation but a neighb orho o d criterion which

is used for saving computational eort Based on this technique the collision detection

library I COLLIDE has b een develop ed and is publicly available on the web A

library that unies I COLLIDE and RAPID in the framework of the VRML sp ecication

is describ ed in

The fact that the computation of the distance is not actually needed for rep orting collision

and that it is not necessary to keep track of the pair of closest p oints unless a collision

actually o ccurs is used in to develop Q COLLIDE a collision detection library also

available on the web The separating vector algorithm eciently determines whether there

exists a separating plane b etween two convex p olyhedra see Fig If so they do not

collide Otherwise the situation at the previous instant is examined an improved version

of the algorithm of Gilb ert et al is applied in order to determine the pair of closest

p oints where the pair of supp orting vertices given by the separating plane is a go o d initial

COLLIDE temp oral coherence is exploited so that guess for the closest p oints As in I

the separating plane can b e determined in exp ected constant time

The interference test b etween two hierarchical volume representations having dierent

dening reference frames can b e very costly as to defeat the purp ose of having a hierarchy p 0

S0

S1

p1

q1

q0

Fig A separating vector S is a vector that satises the condition S q p for p and q

i i i i i i

the supporting vertices of two convex polytopes P and Q in the directions S and S respectively

i i

This is a sucient condition for noninterference between P and Q The separating vector may

be regarded as the normal to the separating plane between P and Q The next such vector to

consider can be obtained by applying S S r S r where r q p kq p k In

i+1 i i i i i i i i i

the case depicted in the gure the separating plane shown in bold dashed line is obtained after

one iteration It has normal S and contains point q p

1 1 1

Thus it is imp ortant to eciently up date the mo del as the ob jects rotate and translate

To this end temp oral coherence has also b een exploited for up dating hierachical volume

representations based on k dops

Priorizing col lision pairs

We have seen how to fo cus the search for collisions on relevant p ortions of the ob jects

For highly cluttered workspaces however collision checking has to b e p erformed for a

p otentially high numb er of pairs of ob jects Thus for the sake of eciency several criteria

to priorize candidates for collision cheking have also b een prop osed

The rst criterion one may consider is distance but it is not enough if relative velo cities

are not taken into account as p ointed out in These authors intro duce the concept

of awareness which approximates the earliest time at which two ob jects may collide by

considering the distance b etween them their instantaneous relative velo city together with

velo city and acceleration b ounds Ordered according to increasing values of awareness the

pairs are partitioned into buckets whose cardinalities are increasing p owers of Initially

an awareness value is computed for every pair to establish the buckets but only one pair

p er bucket is up dated at each subsequent time instant Thus pairs with lower awareness

values get up dated more frequently Moreover as their awareness values change pairs

may p ercolate from bucket to bucket

In a heap is used to store ob ject pairs and earliest collision times so that the pair

on the top is the nearest to collide This earliest collision time is computed from the dis

tance b etween the ob jects current velo cities and accelerations and acceleration b ounds

assuming ballistic tra jectories for the ob jects At each instant integration of the dynamic

state up to the time of collision is carried out for the pair on the top Collision detection

is p erformed for this pair and if no collision actually o ccurs the time of impact is re

computed and the heap up dated Only the ob jects whose b ounding b oxes for their swept

volumes during the time step intersect with other b oxes are selected and included in the

heap The intersections b etween these n b oxes can b e done in O n log R R b eing

the ratio of largest to smallest b ox size as shown in

A similar idea is followed in where temporal coherence is exploited not only

to sp eed up pairwise intersection detection as mentioned in Section but also to

p erform less of these pairwise tests If time steps are small enough there will b e little

change in the p ositions of the b ounding b oxes and consequently in the sequence of

intervals that these b ounding b oxes pro ject onto the co ordinate axes Since b ounding b ox

interference is here determined by the simultaneous overlap of their pro jected intervals

on the three axes interval sorting techniques play here a crucial role One such technique

exploiting temp oral coherence p ermits assessing interval overlap in exp ected linear time

Sweep techniques have b een extensively used to prune the numb er of ob ject pairs to b e

checked for interference The idea is to sweep a plane through the scene and test

for interference only those pairs of ob jects simultaneously intersecting the plane A new

usage of this technique is to use a D sweep to b ound collision pairs in D In

D hyp ertrap ezoids are used to b ound the ob ject along its motion If one intersection

b etween two hyp ertrap ezoids o ccurs the corresp onding ob jects are tested for collision

These intersections are computed from intersections b etween their faces The problem is

reduced by successive pro jections to a D segment intersection detection problem The

D sweep algorithm is describ ed in and runs in O m k log m time for m segments

2

that intersect k times Although for n ob jects the worst case value of k is O n empirical

evidence shows that the average value of k is much lower

Conclusions

Collision detection algorithms are of interest esp ecially in the domains of Computer

Graphics and Rob otics As describ ed in Section these algorithms usually rely on static

interference tests most of which have b een develop ed in the domain of Computational

Geometry In this pap er we have summarized the basic ideas originated in the three

domains mentioned in relation to the topic of static and dynamic interference detection

The dominating trend in Computational Geometry is that of obtaining algorithms with the

b est p ossible worstcase complexity In the case of convex p olyhedra optimal algorithms

have b een develop ed for intersection and distance computation which are linear in the

total numb er of vertices However most algorithms develop ed within this domain have

not b een implemented and therefore their eciency in a practical setting is hard to

assess The detailed complexity of the only known sub quadratic algorithm for interference

detection b etween nonconvex p olyhedra has very large constant factors which makes

it unfeasible for practical purp oses

The situation in Rob otics is in some sense opp osite to the one just describ ed The key

asp ects in this domain are implementation and eciency in practical settings In many

cases the worstcase complexity of the develop ed algorithms either remains unknown or

is far from optimal Comparing algorithms in terms of CPU time is b ecoming a general

practice Several algorithms for interference detection b etween convex p olyhedra have

b een shown to have a computational cost approximately linear in the total numb er of

vertices Usually nonconvex p olyhedra are dealt with by decomp osing them into convex

pieces

In Computer Graphics the emphasis is placed on the p ossibility of detecting collisions in

realtime esp ecially in computer animation applications even if sp eed is gained at the

cost of losing precision This is the reason why hierarchical representations are often used

in this domain since they provide higher precision as one moves down the hierarchy thus

allowing to adapt output precision to the computing time available

As for eciency a far more challenging application eld has app eared recently haptic

interfaces require up date rates of ab out one kHz as compared with the up dates

p er second needed in realtime graphical applications Algorithms develop ed so far

solve the problem of a prob e p oint colliding with virtual ob jects but this is clearly not

sucient as the feeling of one D ob ject moving in contact with another ob ject is to b e

displayed in a realistic manner

As we have seen most collision detection schemes only deal with p olyhedral approxima

tions Nevertheless there are some applications where this kind of approximation is not

p ossible The task of verifying whether a given to ol in numerically controlled machin

ing p enetrates b eyond a sp ecied threshold the surface of a part to b e machined is a

go o d example This is a challenging problem for collision detection not only due to the

nature of the to ol motion but also b ecause in this case a p olyhedral approximation is

inadequate When manufacturing plastic parts using moulds the dierent elements of the

mould have to separated to free the manufactured part This motion has to b e planned

and co ordinated to avoid collisions b etween the mould elements and the part itself This is

another application where collision detection b etween smo oth surfaces would b e of inter

est Although some research has b een p erformed on robust and interactive computation of

closest features much remains to b e done in the direction of determining contact p oints

and p enetration distances b etween mo dels with smo oth surfaces see for some re

sults As a further step accurate and ecient detection of contacts b etween deformable

mo dels is also a research area that will certainly deserve attention in the near future

Acknowledgments

This research has b een partially supp orted by Comissionat p er a Universitats i Recerca

grant SGR and by the Spanish Science and Technology Commission CI

CYT under contract TAPC Constraintbased computation in rob otics

and resource allo cation

References

Ahuja N Chien R T Yen R and Bridwell N Interference detection and

collision avoidance among three dimensional ob jects In I Annual National Conference on

AI Aug Stanford University pp

Avnaim F Evaluating signs of determinants using singleprecision arithmetic Tech Rep

INRIA

Bajaj C and Dey T Convex decomp osition of p olyhedra and robustness Siam J

Comput Apr

Bandi S and Thalmann D An adaptive spatial sub division of the ob ject space for fast

collision detection of animating rigid b o dies In Eurographics Aug Maastricht

pp

Bentley J L and Ottmann T A Algorithms for rep orting and counting geometric

intersections IEEE Trans Comput Sept

Bern M Triangulations In Handbook of discrete and computational geometry J E

Go o dman and J ORourke Eds CRCPress pp

Bobrow J E A direct optimization approach for obtaining the distance b etween convex

p olyhedra Internat J Robotics Res June

Bonner S and Kelley R B A representation scheme for rapid d collision detection

In Proc IEEE International Symposium on Intel ligent Control Arlington VA Aug

pp

Bouma W and Vanecek G Collision detection and analysis in a physical based

simulation In Eurographics Workshop on Animation and Simulation Vienna Sept

pp

Boyse J W Interference detection among solids and surfaces Comm ACM Jan

Cameron S A A study of the clash detection problem in rob otics In Proc IEEE Int

Conf on Robotics and Automation Saint Louis MO Mar vol pp

Cameron S A Ecient intersection tests for ob jects dened constructively Internat J

Robotics Res Feb

Cameron S A Collision detection by fourdimensional intersection testing IEEE Trans

Robotics Automat June

Cameron S A A comparison of two fast algorithms for computing the distance b etween

convex p olyhedra IEEE Trans Robotics Automat Dec

Cameron S A Enhancing g jk Computing minimum and p enetration distances b etween

convex p olyhedra In Proc IEEE Int Conf on Robotics and Automation Albuquerque

NM Apr pp

Cameron S A and Culley R K Determining the minimum translational distance

b etween two convex p olyhedra In Proc IEEE Int Conf on Robotics and Automation San

Francisco CA Apr no pp

Canny J The Complexity of Robot Motion Planning MIT Press Cambridge MA

Canny J F Collision detection for moving p olyhedra IEEE Trans Patt Anal Mach

Intel l Mar

Chazelle B Convex partitions of p olyhedra A lower b ound and a worstcase optimal

algorithm SIAM J Comput

Chazelle B Dobkin D Shouraboura N and Tal A Strategies for p olyhedral

surface decomp osition an exp erimental study Computational Geometry Theory and

Applications

Chazelle B and Palios L Decomp osing the b oundary of a nonconvex p olytop e In

Proc rd Scandinvian Workshop on Algorithm Theory pp

Chazelle B and Palios L Decomp osition algorithms in geometry In Algebraic

Geometry and its Applications C Ba ja j Ed vol SpringerVerlag pp

Chung K An ecient collision detection algorithm for p olytop es in virtual environments

Masters thesis The University of Hong Kong httpwwwcshkuhk tlchung

collision libraryhtml

Cohen J D Lin M C Manocha D and Ponamgi M K Icollide An interactive

and exact collision detection system for largescale environments In Proceedings of ACM

Int D Graphics Conference vol pp httpwwwcsuncedu geom

I COLLIDEhtml

Culley R K and Kempf K G A collision detection algorithm based on velo city

and distance b ounds In Proc IEEE Int Conf on Robotics and Automation San Francisco

CA Apr vol pp

del Pobil A P Serna M A and Llovet J A new representation for collision

avoidance and detection In Proc IEEE Int Conf on Robotics and Automation Nice

France May vol pp

Dobkin D and Kirkpatrick D Determining the separation of prepro cessed p olyhedra

a unied approach In Lect Notes in Comp Sci vol ICALP pp

Donald B R A search algorithm for motion planning with six degrees of freedom

Articial Intel ligence

Foisy A and Hayward V A safe swept volume metho d for collision detection In

The Sixth International Symposium of Robotics Research Pittsburgh PE Oct

pp

Foisy A Hayward V and Aubry S The use of awareness in collision prediction

In Proc IEEE Int Conf on Robotics and Automation Cincinnati OH vol

pp

GarcaAlonso A Serrano N and Flaquer J Solving the collision detection

problem IEEE Computer Graphics and Applications May

Gilbert E G and Foo CP Computing the distance b etween general convex ob jects

in threedimensional space IEEE Trans Robotics Automat

Gilbert E G and Hong S M A new algorithm for detecting the collision of moving

ob jects In Proc IEEE Int Conf on Robotics and Automation Scottsdale AR May

vol pp

Gilbert E G Johnson D W and Keerthi S A fast pro cedure for computing the

distance b etween complex ob jects in three dimensional space IEEE J Robotics Automat

Apr

Gottschalk S Lin M C and Manocha D Obbtree A hierarchical structure for

rapid interference detection In Proc of ACM Siggraph httpwwwcsuncedu

geomOBB OBBThtml

Gregory A Lin M C Gottschalk S and Taylor R Fast and accurate collision

detection for haptic interaction using a three degreeoffreedom forcefeedback device To

app ear in Computational Geometry Theory and Applications

Hamada K and Hori Y Octreebased approach to realtime collisionfree path planning

for rob ot manipulator In ACMMIE pp

Hamlin G J Kelley R B and Tornero J Ecient distance calculation using

the sphericallyextended p olytop e stop e mo del In Proc IEEE Int Conf on Robotics

and Automation Nice France May vol pp

Hayward V Fast collision detection scheme by recursive decomp osition of a manipulator

workspace In Proc IEEE Int Conf on Robotics and Automation San Francisco CA

vol pp

Held M Klosowski J T and Mitchell J Evaluation of collision detection

metho ds for virtual reality ythroughs In Proc Seventh Canadian Conf Computer

Geometry vol pp

Herman M Fast threedimensional collisionfree motion planning In Proc IEEE Int

Conf on Robotics and Automation Apr vol pp

Hubbard P M Interactive collision detection In Proc IEEE Symp on Research Frontiers

in Virtual Reality Oct vol pp

Hubbard P M Realtime collision detection and timecritical computing In Proc First

ACM Workshop on Simulation and Interaction in Virtual Environments vol

pp

Hudson T C Lin M C Cohen J D Gottschalk S and Manocha D

Vcollide Accelerated collision detection for vrml In Proceedings of VRML

COLLIDE html httpwwwcsuncedugeomV

Hughes M DiMattia C Lin M C and Manocha D Ecient and accurate

interference detection for p olinomial deformation In Proceedings of Computer Animation

Conference

Jimenez P and Torras C Collision detection a geometric approach In Model ling

and Planning for Sensor Based Intel ligent Robot Systems Nov World Scientic Pub

Co pp

Jimenez P and Torras C Sp eeding up interference detection b etween p olyhedra In

Proc IEEE Int Conf on Robotics and Automation Minneap olis MN Apr vol

pp

Jimenez P and Torras C Benets of applicability constraints in decomp ositionfree

interference detection b etween nonconvex p olyhedral mo dels In Proc IEEE Int Conf on

Robotics and Automation Detroit MI May

Klosowski J Held M Mitchell J Sowizral H and Zikan K Ecient

collision detection using b ounding volume hierarchies of kdops IEEE Transactions on

Visualization and Computer Graphics

Krishnan S Gopi M Lin M Manocha D and Pattekar A Rapid and

accurate contact determination b etween spline mo dels using shelltrees In Eurographics

Leeds UK Mar

Lin M C Ecient Col lision Detection for Animation and Robotics PhD thesis University

of California Berkeley

Lin M C and Canny J F A fast algorithm for incremental distance calculation

In Proc IEEE Int Conf on Robotics and Automation Sacramento CA vol

pp

Lin M C and Gottschalk S Collision detection b etween geometric mo dels a survey

In IMA Conference on Mathematics of Surfaces San Diego CA May vol pp

Lin M C Manocha D and Canny J F Fast contact determination in dynamic

environments In Proc IEEE Int Conf on Robotics and Automation San Diego CA

May vol pp

Liu YH Arimoto S and Noborio H A new solid mo del hsm and its application

to interference detection b etween moving ob jects J Robotic Sys

Martnez B del Pobil A P and Perez M Very fast collision detection for

practical motion planning part i The spatial representation In Proc IEEE Int Conf on

Robotics and Automation Leuven Belgium May vol pp

Megiddo N and Tamir A Linear time algorithms for some separable quadratic

programming problems Operations Research Letters

Meyer W Distance b etween b oxes applications to collision detection and clipping In

Proc IEEE Int Conf on Robotics and Automation San Francisco CA Apr vol

pp

Mirtich B Vclip Fast and robust p olyhedral collision detection ACM Transactions on

Graphics httpwwwmerlcompro jectsvclip

Mirtich B and Canny J Impulsebased dynamic simulation In Proc Workshop on

Algorithmic Foundations of Robotics

Moore M and Wilhelms J Collision detection and resp onse for computer animation

ACM Computer Graphics

Naylor B F Amatodes J A and Thibault W C Merging bsp trees yields

p olyhedral set op erations In Computer Graphics SIGGRAPH Proc Dallas TX

May vol pp

ORourke J Ed Computational Geometry in C Second edition Cambridge University

Press Cambridge

Overmars M Point lo cation in fat sub divisions Information Processing letters

Palmer I J and Grimsdale R L Collision detection for animation using spheretrees

Computer Graphics Forum

Pellegrini M Stabbing and ray sho oting in space In Proceedings of the thACM

Symposium on Computational Geometry pp

Ponamgi M K Manocha D and Lin M C Incremental algorithms for collision

detection b etween solid mo dels In Proceedings of ACMSiggraph Symposium on Solid

Model ling vol pp

Ponamgi M K Manocha D and Lin M C Incremental algorithms for collision

detection b etween p olygonal mo dels IEEE Trans on Visualization and Comp Graphics

Quinlan S Ecient distance computation b etween nonconvex ob jects In Proc IEEE

Int Conf on Robotics and Automation San Diego CA vol pp

Rimon E and Boyd S P Obstacle collision detection using b est ellipsoid t Journal

of Intel ligent and Robotic Systems

Sancheti N K and Keerthi S S Computation of certain measures of proximity

b etween convex p olytop es a complexity viewp oint In Proc IEEE Int Conf on Robotics

and Automation Nice France May vol pp

Schomer E and Thiel C Ecient collision detection for moving p olyhedra In Proc

of the Eleventh Annual Symp on Computational Geometry pp

Snyder J M Woodbury A R Fleischer K Currin B and Barr A H

Interval metho ds for multip oint collisions b etween timedep endent curved surfaces In

Proc of ACM Siggraph pp

Thibault W C and Naylor B F Set op erations on p olyhedra using binary space

partitioning trees ACM Computer Graphics

Thomas F An approach to the movers problem that combines oriented matroid theory

and algebraic geometry In Proc IEEE Int Conf on Robotics and Automation Nagoya

J May vol pp

Thomas F and Torras C Interference detection b etween nonconvex p olyhedra

revisited with a practical aim In Proc IEEE Int Conf on Robotics and Automation

San Diego CA May vol pp

Thomas F Turnbull C Ros L and Cameron S Computing signed distances

b etween freeform ob jects In Proc IEEE Int Conf on Robotics and Automation San

Francisco CA Apr

Tornero J Hamlin J and Kelley R B Sphericalob ject representation and fast

distance computation for rob otic applications In Proc IEEE Int Conf on Robotics and

Automation Sacramento CA Apr vol pp

Turk G Interactive collision detection for molecular graphics Masters thesis University

of North Carolina

Turnbull C and Cameron S Computing distances b etween nurbsdened convex

ob jects In Proc IEEE Int Conf on Robotics and Automation Leuven Belgium May

pp

van der Bergen G Ecient collision detection of complex deformable mo dels using

aabb trees Journal of Graphic Tools

van der Bergen G A fast and robust g jk implementation for collision detection of convex

ob jects submitted available at httpwwwwintuenlcsttginoso lid

van der Bergen G SOLID Software Library for Interference Detection Available

at httpwwwwintuenlcsttginosolid

Vanecek G Backface culling applied to collision detection of p olyhedra Journal of

Visualization and Computer Animation JanuaryMarch

Volino P and Thalmann N M Ecient selfcollision detection on smo othly

discretized surface animations using geometrical shap e regularity In Eurographics

Computer Graphics Forum Oslo Norway vol pp

Volino P and Thalmann N M Collision and selfcollision detection ecient and

robust solutions for highly deformable surfaces In Eurographics Workshop on Computer

Animation ans Simulation Maastricht The Netherlands

Von Herzen B Barr A H and Zatz H R Geometric collisions for timedep endent

parametric surfaces ACM Computer Graphics Aug

Zeghloul S Rambeaud P and Lallemand J P A fast distance calculation

b etween convex ob jects by optimization approach In Proc IEEE Int Conf on Robotics

and Automation Nice France May vol pp