Presentation is loading. Please wait.

Presentation is loading. Please wait.

Efficient Distance Computation between Non-Convex Objects By Sean Quinlan Presented by Sean Augenstein and Nicolas Lee.

Similar presentations


Presentation on theme: "Efficient Distance Computation between Non-Convex Objects By Sean Quinlan Presented by Sean Augenstein and Nicolas Lee."— Presentation transcript:

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

13

14

15

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

21

22

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)


Download ppt "Efficient Distance Computation between Non-Convex Objects By Sean Quinlan Presented by Sean Augenstein and Nicolas Lee."

Similar presentations


Ads by Google