Collision Detection That Collision Detection That Collision - - PowerPoint PPT Presentation

collision detection that collision detection that
SMART_READER_LITE
LIVE PREVIEW

Collision Detection That Collision Detection That Collision - - PowerPoint PPT Presentation

Collision Detection That Collision Detection That Collision Detection That Really Works Really Works Really Works David Baraff David Baraff David Baraff Robotics Institute Robotics Institute Robotics Institute Carnegie Mellon University


slide-1
SLIDE 1

SIGGRAPH ’98 COURSE NOTES PHYSICALLY BASED MODELING

Collision Detection That Really Works

David Baraff

Robotics Institute Carnegie Mellon University

Collision Detection That Collision Detection That Really Works Really Works

David Baraff David Baraff

Robotics Institute Robotics Institute Carnegie Mellon University Carnegie Mellon University

slide-2
SLIDE 2

SIGGRAPH ’98 COURSE NOTES PHYSICALLY BASED MODELING

Philosophy/Overview Philosophy/Overview Philosophy/Overview

  • This is a highly-biased talk

This is a highly-biased talk

  • Theory is a good thing to understand

Theory is a good thing to understand

  • Most implementations don’t work all that well

Most implementations don’t work all that well

  • Many codes don’t solve

Many codes don’t solve your your problem problem

slide-3
SLIDE 3

SIGGRAPH ’98 COURSE NOTES PHYSICALLY BASED MODELING

Philosophy/Overview Philosophy/Overview Philosophy/Overview

  • This is a highly-biased talk

This is a highly-biased talk

  • Theory is a good thing to understand

Theory is a good thing to understand

  • Most implementations don’t work all that well

Most implementations don’t work all that well

  • Many codes don’t solve

Many codes don’t solve your your problem problem

  • Code needs to be as simple as possible—know

Code needs to be as simple as possible—know what is important and what isn’t what is important and what isn’t

  • This talk: two real-life (commercial) solutions

This talk: two real-life (commercial) solutions

slide-4
SLIDE 4

SIGGRAPH ’98 COURSE NOTES PHYSICALLY BASED MODELING

What My Rigid Body Simulator Needs What My Rigid Body Simulator Needs What My Rigid Body Simulator Needs

  • Does polyhedron

Does polyhedron A A overlap polyhedron

  • verlap polyhedron B

B? ?

  • If so, by how much?

If so, by how much?

  • If not, then where are the contacts?

If not, then where are the contacts?

slide-5
SLIDE 5

SIGGRAPH ’98 COURSE NOTES PHYSICALLY BASED MODELING

What My Rigid Body Simulator Needs What My Rigid Body Simulator Needs What My Rigid Body Simulator Needs

  • Does polyhedron

Does polyhedron A A overlap polyhedron

  • verlap polyhedron B

B? ?

  • If so, by how much?

If so, by how much?

  • If not, then where are the contacts?

If not, then where are the contacts?

  • What are the contact

What are the contact normals normals? ?

slide-6
SLIDE 6

SIGGRAPH ’98 COURSE NOTES PHYSICALLY BASED MODELING

Some Available Codes Some Available Codes Some Available Codes

  • http://www.cs.unc.edu/~geom/collide.html

http://www.cs.unc.edu/~geom/collide.html

– – RAPID RAPID – – V-COLLIDE V-COLLIDE – – I-COLLIDE I-COLLIDE

  • http://www.merl.com/people/mirtich/vclip.html

http://www.merl.com/people/mirtich/vclip.html

  • http://www.comlab.ox.ac.uk/oucl/users/

http://www.comlab.ox.ac.uk/oucl/users/ stephen.cameron/distances.html stephen.cameron/distances.html

slide-7
SLIDE 7

SIGGRAPH ’98 COURSE NOTES PHYSICALLY BASED MODELING

Separating Planes Separating Planes Separating Planes

slide-8
SLIDE 8

SIGGRAPH ’98 COURSE NOTES PHYSICALLY BASED MODELING

Separating Planes Separating Planes Separating Planes

slide-9
SLIDE 9

SIGGRAPH ’98 COURSE NOTES PHYSICALLY BASED MODELING

Separating Planes Separating Planes Separating Planes

slide-10
SLIDE 10

SIGGRAPH ’98 COURSE NOTES PHYSICALLY BASED MODELING

Coherence Coherence Coherence

slide-11
SLIDE 11

SIGGRAPH ’98 COURSE NOTES PHYSICALLY BASED MODELING

Coherence Coherence Coherence

slide-12
SLIDE 12

SIGGRAPH ’98 COURSE NOTES PHYSICALLY BASED MODELING

Contact Contact Contact

slide-13
SLIDE 13

SIGGRAPH ’98 COURSE NOTES PHYSICALLY BASED MODELING

Interpenetration Interpenetration Interpenetration

slide-14
SLIDE 14

SIGGRAPH ’98 COURSE NOTES PHYSICALLY BASED MODELING

Separating Planes (in 3D) Separating Planes (in 3D) Separating Planes (in 3D)

slide-15
SLIDE 15

SIGGRAPH ’98 COURSE NOTES PHYSICALLY BASED MODELING

Separating Planes (in 3D) Separating Planes (in 3D) Separating Planes (in 3D)

contact contact plane plane

slide-16
SLIDE 16

SIGGRAPH ’98 COURSE NOTES PHYSICALLY BASED MODELING

Does It Really Work? Does It Really Work? Does It Really Work? Yes, but... Yes, but...

  • Requires convex decomposition

Requires convex decomposition

  • Needs a

Needs a good good decomposition: decomposition: ? ?

slide-17
SLIDE 17

SIGGRAPH ’98 COURSE NOTES PHYSICALLY BASED MODELING

An Actual Implementation An Actual Implementation An Actual Implementation

  • Coriolis

CoriolisTM

TM—rigid body dynamics engine in

—rigid body dynamics engine in Alias|Wavefront’s Alias|Wavefront’s Maya MayaTM

TM

  • Fast and reliable

Fast and reliable

  • Compares pairs of polygons from non-convex,

Compares pairs of polygons from non-convex, topologically specified polyhedra (using a topologically specified polyhedra (using a coherence-based separating plane approach) coherence-based separating plane approach)

slide-18
SLIDE 18

SIGGRAPH ’98 COURSE NOTES PHYSICALLY BASED MODELING

An Actual Implementation An Actual Implementation An Actual Implementation

  • Coriolis

CoriolisTM

TM—rigid body dynamics engine in

—rigid body dynamics engine in Alias|Wavefront’s Alias|Wavefront’s Maya MayaTM

TM

  • Fast and reliable

Fast and reliable

  • Compares pairs of polygons from non-convex,

Compares pairs of polygons from non-convex, topologically specified polyhedra (using a topologically specified polyhedra (using a coherence-based separating plane approach) coherence-based separating plane approach)

  • Hierarchical bounding-box tree to eliminate

Hierarchical bounding-box tree to eliminate most false hits most false hits

slide-19
SLIDE 19

SIGGRAPH ’98 COURSE NOTES PHYSICALLY BASED MODELING

Culling—First (and Foremost!) Culling—First (and Foremost!) Culling—First (and Foremost!)

slide-20
SLIDE 20

SIGGRAPH ’98 COURSE NOTES PHYSICALLY BASED MODELING

Culling—First (and Foremost!) Culling—First (and Foremost!) Culling—First (and Foremost!)

slide-21
SLIDE 21

SIGGRAPH ’98 COURSE NOTES PHYSICALLY BASED MODELING

Sweep Sort Sweep Sort Sweep Sort

A A B B

slide-22
SLIDE 22

SIGGRAPH ’98 COURSE NOTES PHYSICALLY BASED MODELING

Sweep Sort Sweep Sort Sweep Sort

A A B B

slide-23
SLIDE 23

SIGGRAPH ’98 COURSE NOTES PHYSICALLY BASED MODELING

Collision Detection in Cloth Simulation Collision Detection in Cloth Simulation Collision Detection in Cloth Simulation

  • Cloth/solid

Cloth/solid detection is fast—test individual detection is fast—test individual cloth particles against solid-object hiearchical cloth particles against solid-object hiearchical bounding-box tree bounding-box tree

slide-24
SLIDE 24

SIGGRAPH ’98 COURSE NOTES PHYSICALLY BASED MODELING

cloth cloth vertex vertex solid solid skin skin (outside)

slide-25
SLIDE 25

SIGGRAPH ’98 COURSE NOTES PHYSICALLY BASED MODELING

cloth cloth vertex vertex solid solid skin skin

slide-26
SLIDE 26

SIGGRAPH ’98 COURSE NOTES PHYSICALLY BASED MODELING

cloth cloth vertex vertex solid solid skin skin

Leaf-level Bounding Boxes Leaf-level Bounding Boxes Leaf-level Bounding Boxes

slide-27
SLIDE 27

SIGGRAPH ’98 COURSE NOTES PHYSICALLY BASED MODELING

cloth cloth vertex vertex solid solid skin skin

Mid-level Bounding Boxes Mid-level Bounding Boxes Mid-level Bounding Boxes

slide-28
SLIDE 28

SIGGRAPH ’98 COURSE NOTES PHYSICALLY BASED MODELING

cloth cloth vertex vertex

Root-level Bounding Box Root-level Bounding Box Root-level Bounding Box

slide-29
SLIDE 29

SIGGRAPH ’98 COURSE NOTES PHYSICALLY BASED MODELING

Collision Detection in Cloth Simulation Collision Detection in Cloth Simulation Collision Detection in Cloth Simulation

  • Cloth/solid

Cloth/solid detection is fast—test individual detection is fast—test individual cloth particles against solid-object hiearchical cloth particles against solid-object hiearchical bounding-box tree bounding-box tree

slide-30
SLIDE 30

SIGGRAPH ’98 COURSE NOTES PHYSICALLY BASED MODELING

Collision Detection in Cloth Simulation Collision Detection in Cloth Simulation Collision Detection in Cloth Simulation

  • Cloth/solid

Cloth/solid detection is fast—test individual detection is fast—test individual cloth particles against solid-object hiearchical cloth particles against solid-object hiearchical bounding-box tree bounding-box tree

  • Cloth/cloth

Cloth/cloth detection requires complicated detection requires complicated triangle/triangle test (vertex/face, edge/edge) triangle/triangle test (vertex/face, edge/edge)

slide-31
SLIDE 31

SIGGRAPH ’98 COURSE NOTES PHYSICALLY BASED MODELING

Collision Detection in Cloth Simulation Collision Detection in Cloth Simulation Collision Detection in Cloth Simulation

  • Cloth/solid

Cloth/solid detection is fast—test individual detection is fast—test individual cloth particles against solid-object hiearchical cloth particles against solid-object hiearchical bounding-box tree bounding-box tree

  • Cloth/cloth

Cloth/cloth detection requires complicated detection requires complicated triangle/triangle test (vertex/face, edge/edge) triangle/triangle test (vertex/face, edge/edge)

  • Vast majority of time spent culling out the

Vast majority of time spent culling out the triangle/triangle intersections, using coherence triangle/triangle intersections, using coherence based sweep-sort routine based sweep-sort routine