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

Slides:



Advertisements
Similar presentations
Christian Lauterbach COMP 770, 2/16/2009. Overview  Acceleration structures  Spatial hierarchies  Object hierarchies  Interactive Ray Tracing techniques.
Advertisements

Nearest Neighbor Search
Traveling Salesperson Problem
Efficient access to TIN Regular square grid TIN Efficient access to TIN Let q := (x, y) be a point. We want to estimate an elevation at a point q: 1. should.
Restart Trail for Stackless BVH Traversal Samuli Laine NVIDIA Research.
Nearest Neighbor Queries using R-trees
Computer graphics & visualization Collisions. computer graphics & visualization Simulation and Animation – SS07 Jens Krüger – Computer Graphics and Visualization.
Searching on Multi-Dimensional Data
B+-Trees (PART 1) What is a B+ tree? Why B+ trees? Searching a B+ tree
Geometric Representations & Collision Detection Kris Hauser I400/B659: Intelligent Robotics Spring 2014.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Divide and Conquer.
Week 14 - Monday.  What did we talk about last time?  Bounding volume/bounding volume intersections.
Sorting Chapter Sorting Consider list x 1, x 2, x 3, … x n We seek to arrange the elements of the list in order –Ascending or descending Some O(n.
CS 206 Introduction to Computer Science II 04 / 27 / 2009 Instructor: Michael Eckmann.
CSE332: Data Abstractions Lecture 9: B Trees Dan Grossman Spring 2010.
Bounding Volume Hierarchy “Efficient Distance Computation Between Non-Convex Objects” Sean Quinlan Stanford, 1994 Presented by Mathieu Brédif.
Accessing Spatial Data
Course Review COMP171 Spring Hashing / Slide 2 Elementary Data Structures * Linked lists n Types: singular, doubly, circular n Operations: insert,
Spatial Queries Nearest Neighbor Queries.
OBBTree: A Hierarchical Structure for Rapid Interference Detection Gottschalk, M. C. Lin and D. ManochaM. C. LinD. Manocha Department of Computer Science,
Efficient Distance Computation between Non-Convex Objects by Sean Quinlan presented by Teresa Miller CS 326 – Motion Planning Class.
The Complexity of Algorithms and the Lower Bounds of Problems
P2P Course, Structured systems 1 Introduction (26/10/05)
Hybrid Bounding Volumes for Distance Queries Distance Query returns the minimum distance between two geometric models Major application is path planning.
Collision Detection David Johnson Cs6360 – Virtual Reality.
Binary Trees Chapter 6.
INTERACTION TECHNIQUES Collision Detection and Other Interactions Collision Detection and Other Interactions.
Spatial Data Structures Jason Goffeney, 4/26/2006 from Real Time Rendering.
UNC Chapel Hill M. C. Lin Point Location Reading: Chapter 6 of the Textbook Driving Applications –Knowing Where You Are in GIS Related Applications –Triangulation.
Lecture 10 Trees –Definiton of trees –Uses of trees –Operations on a tree.
Computer Algorithms Submitted by: Rishi Jethwa Suvarna Angal.
© 2006 Pearson Addison-Wesley. All rights reserved13 B-1 Chapter 13 (continued) Advanced Implementation of Tables.
PRESENTED BY – GAURANGI TILAK SHASHANK AGARWAL Collision Detection.
CSED101 INTRODUCTION TO COMPUTING TREE 2 Hwanjo Yu.
CIS 350 – I Game Programming Instructor: Rolf Lakaemper.
Nearest Neighbor Queries Chris Buzzerd, Dave Boerner, and Kevin Stewart.
Computational Geometry Piyush Kumar (Lecture 5: Range Searching) Welcome to CIS5930.
CS 206 Introduction to Computer Science II 04 / 22 / 2009 Instructor: Michael Eckmann.
Lecture 11COMPSCI.220.FS.T Balancing an AVLTree Two mirror-symmetric pairs of cases to rebalance the tree if after the insertion of a new key to.
Priority Queues and Heaps. October 2004John Edgar2  A queue should implement at least the first two of these operations:  insert – insert item at the.
Multi-dimensional Search Trees CS302 Data Structures Modified from Dr George Bebis.
Spatial Indexing Techniques Introduction to Spatial Computing CSE 5ISC Some slides adapted from Spatial Databases: A Tour by Shashi Shekhar Prentice Hall.
Presented by Paul Phipps
Lecture 10COMPSCI.220.FS.T Binary Search Tree BST converts a static binary search into a dynamic binary search allowing to efficiently insert and.
CSE554Contouring IISlide 1 CSE 554 Lecture 5: Contouring (faster) Fall 2015.
CSE554Contouring IISlide 1 CSE 554 Lecture 3: Contouring II Fall 2011.
CSE554Contouring IISlide 1 CSE 554 Lecture 5: Contouring (faster) Fall 2013.
New Algorithms for Efficient High-Dimensional Nonparametric Classification Ting Liu, Andrew W. Moore, and Alexander Gray.
Interactive Continuous Collision Detection for Polygon Soups Xin Huang 11/20/2007.
Minkowski Sums and Distance Computation Eric Larsen COMP
Hierarchical Data Structure in Game Programming Yanci Zhang Game Programming Practice.
Priority Queues and Heaps. John Edgar  Define the ADT priority queue  Define the partially ordered property  Define a heap  Implement a heap using.
School of Computing Clemson University Fall, 2012
Computer Graphics Implementation II
Bounding Volume Hierarchies and Spatial Partitioning
Distance Computation “Efficient Distance Computation Between Non-Convex Objects” Sean Quinlan Stanford, 1994 Presentation by Julie Letchner.
Collision Detection Spring 2004.
Bounding Volume Hierarchies and Spatial Partitioning
Real-Time Ray Tracing Stefan Popov.
KD Tree A binary search tree where every node is a
Efficient Distance Computation between Non-Convex Objects
Quadtrees 1.
Exact Nearest Neighbor Algorithms
Collision Detection.
Text Categorization Berlin Chen 2003 Reference:
Shape-based Registration
David Johnson Cs6360 – Virtual Reality
1 Lecture 13 CS2013.
Data Mining CSCI 307, Spring 2019 Lecture 23
Presentation transcript:

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

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

Algorithm Precomputation: –Build hierarchical bounding tree Query step: –Traverse tree to find closest surfaces between two objects

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

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

Tree building

Cover surface

Find bounding box

Partition box

Find new bounding box

Recurse until finished

Generate node spheres

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

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

Distance cartoon

Initialize d

Depth-first traversal

Check polygon

Update d

Continue traversal

Can ignore many children

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

Collision Detection Collision detection is fast when objects overlap or are far apart:

Collision detection Performance degrades when two objects are close together:

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)