Download presentation
Presentation is loading. Please wait.
1
Efficient Distance Computation between Non-Convex Objects By Sean Quinlan Presented by Sean Augenstein and Nicolas Lee
2
Goal For two non-convex objects composed of m and n convex polygons: –Reduce order of distance computation from the worst case of O(mn) –Avoid computing exact distances when bounded estimates are adequate
3
Algorithm Precomputation: –Build hierarchical bounding tree Query step: –Traverse tree to find closest surfaces between two objects
4
Hierarchical Bounding Use spheres for efficient distance computation Completely cover the object’s surface with small spheres Build an approximately-balanced binary tree where each small sphere is a leaf Nodes are larger spheres fully enclosing children spheres
5
Tree Building To maintain balanced tree, partition leaf spheres based on rectanguloid bounding box –Given known locations of leaf spheres, we know the bounding box size and partition it at the “center of mass” along the longest axis Recursively develop tree structure from top down Determine node sphere size from bottom up
6
Tree building
7
Cover surface
8
Find bounding box
9
Partition box
10
Find new bounding box
11
Recurse until finished
12
Generate node spheres
16
Complexity For n leaf nodes: –Worst case: O(n 2 ) –Expected: O(nlogn) To improve worst case to O(n log n), partition using median instead of average Tree building can usually be precomputed
17
Distance Computation Pick random pair of polygons and compute initial value of distance d Traverse two trees in depth-first manner to find minimum value of d –If the pair’s distance is greater than d, ignore children –If they are closer than d, split larger node and check each child –If two leaves are closer than d, check corresponding polygons using any convex distance algorithm (such as used by Lin and Canny), and update d if necessary
18
Distance cartoon
19
Initialize d
20
Depth-first traversal
23
Check polygon
24
Update d
25
Continue traversal
26
Can ignore many children
27
Relative errors Every time a new d is found, multiply it by a constant factor α ( less than one) to more quickly prune the tree With α = 1, exact distances are computed With α → 0, only collisions are detected Can achieve balance between these two extremes for specific applications
28
Collision Detection Collision detection is fast when objects overlap or are far apart:
29
Collision detection Performance degrades when two objects are close together:
30
Comments Unclear about how to select size of leaf spheres –For high enough relative error, model resolution can be increased without too great a computational cost –Empirically, search complexity shown to be O(log n) with number of leaves (for α = 0.8) Algorithm has greater benefits if higher relative error is acceptable (more conservative distance estimate)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.