Efficient collision detection using bounding volume hierarchies of k-DOPs by James T. Klosowski,...

Preview:

Citation preview

Efficient collision detection using bounding volume hierarchies of k-DOPs

byJames T. Klosowski,

Martin Held, Joseph S.B. Mitchell,Henry Sowizral, and Karel Zikan

Presented by Paul Phipps

Overview

• Background• Collision Detection Perspective• k-DOP• Cost Function• Design Choices for BV Tree• Tumbling the k-DOPs• Experimental Results• Future Work

Background• Collision Detection

– Pure detection– Detect and report

• Do fewer comparisons– Between pairs of objects– Between pairs of primitives

• Approaches– Spatial Decomposition

• Octrees, k-d trees, BSP-trees, brep-indices, tetrahedral meshes, and (regular) grids

– Bounding Volumes Hierarchy• Spheres, axis-aligned bounding boxes (AABBs), oriented

bounding box (OBB) (“RAPID” uses OBBTrees)– Miscellaneous

Collision Detection Perspective• Assumptions

– Rigid bodies– Discrete points in time

• Typical input:– Static object (the environment)– Moving object (the flying hierarchy)

• Goals:– Accuracy– Real-time rates

• Haptics can require over 1000 collision queries per second

Contributions…

• “k-DOP” (Discrete Orientation Polytope)– convex polytope whose facets are determined

by halfspaces whose outward normals come from a small fixed set of k orientations

– Axis Aligned Bounding Box == 6-DOP– ((using axes +x, -x, +y, -y, +z, and -z)

• k-DOPs used in experiments:– 6-DOP, 14-DOP, 18-DOP, 26-DOP

…Contributions• Compare ways to construct a Bounding

Volume Hierarchy (“BV-tree”) of k-DOPs

• Algorithms– Maintain k-DOP BV-tree for moving objects

• Translation• Rotation

– Fast collision detection• Using BV-trees of moving object and of

environment

• Results with real and simulated data

Cost Function

• N = number of occurrences• C = cost per occurrence

uuppvv CNCNCNT

Bounding Volume Overlap Tests

Primitive Overlap Tests

Updates of Hierarchy nodes

k-DOP Advantages over other BV

• Tighter fit than AABB or Sphere– The higher the k the lower Nv, Np, and Nu

• Only k values to remember for a BV (using opposite-pointing orientations)

• Simpler overlap tests than OBB– Just do (k / 2) interval overlap tests

• The parameter k can be chosen to get a good balance between tight fit and quick overlap test

Design Choices for BV Tree

• Branching degree 2 (binary tree) is good– Simple to implement– Simple to traverse tree

• Splitting rule for pre-computing the tree structure– Pick either x, y, or z axis (using various tests)– Sort along that axis, then use

• Median• Mean

– Recur

Tumbling the k-DOPs

• “hill climbing” method– Use pre-computed convex hulls– Are extreme vertices still extreme?

• If not, “climb” to more extreme neighbors

– Advantage: tight

• “approximation method”– Rotate vertices of k-DOP

• Get new k-DOP• Don’t accumulate error: Rotate from pre-computed vertices in

Model-Space

– Advantage: fast

For Root Node

For non-Root Nodes

Algorithm 1

Future Work

• Use of temporal coherence

• Multiple flying objects

• Dynamic environments

• Deformable objects

• Numerically Controlled Verification

Overview

• Background• Collision Detection Perspective• k-DOP• Cost Function• Design Choices for BV Tree• Tumbling the k-DOPs• Experimental Results• Future Work

Questions?

Continuous Collision Detectionof Deformable Objects using k-DOPs