A Fast Algorithm for Incremental Distance Calculation Ming C. Lin and John F. Canny University of California, Berkeley 1991 Original slides by Adit Koolwal.

Slides:



Advertisements
Similar presentations
CS 450: COMPUTER GRAPHICS FILLING POLYGONS SPRING 2015 DR. MICHAEL J. REALE.
Advertisements

Map Overlay Algorithm. Birch forest Wolves Map 1: Vegetation Map 2: Animals.
Intersection Testing Chapter 13 Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology.
Geometry Primer Lines and rays Planes Spheres Frustums Triangles Polygon Polyhedron.
Brute-Force Triangulation
Extended Gaussian Images
One of the most important problems is Computational Geometry is to find an efficient way to decide, given a subdivision of E n and a point P, in which.
I. The Problem of Molding Does a given object have a mold from which it can be removed? object not removable mold 1 object removable Assumptions The object.
The Divide-and-Conquer Strategy
Overlay of Two Subdivisions
Introduction to Collision Detection & Fundamental Geometric Concepts Ming C. Lin Department of Computer Science University of North Carolina at Chapel.
Advanced Computer Graphics Spring 2014
Computational Geometry & Collision detection
Mesh Representation, part II based on: Data Structures for Graphics, chapter 12 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.
A Fast Algorithm for Incremental Distance Calculation Paper by Ming C. Ling and John F. Canny Presented by Denise Jones.
CSE 872 Dr. Charles B. Owen Advanced Computer Graphics1 Basic 3D collision detection We want to know if objects have touched Objects are considered to.
Localization of Piled Boxes by Means of the Hough Transform Dimitrios Katsoulas Institute for Pattern Recognition and Image Processing University of Freiburg.
High-Quality Simplification with Generalized Pair Contractions Pavel Borodin,* Stefan Gumhold, # Michael Guthe,* Reinhard Klein* *University of Bonn, Germany.
Collision Detection CSE 191A: Seminar on Video Game Programming Lecture 3: Collision Detection UCSD, Spring, 2003 Instructor: Steve Rotenberg.
CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2003/index.htm Collision Detection and Distance Computation: Feature Tracking Methods.
Bounding Volume Hierarchy “Efficient Distance Computation Between Non-Convex Objects” Sean Quinlan Stanford, 1994 Presented by Mathieu Brédif.
UNC Chapel Hill M. C. Lin References Collision Detection between Geometric Models: A Survey, by M. Lin and S. Gottschalk, Proc. of IMA Conference on Mathematics.
CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Collision Detection and Distance Computation: Feature Tracking Methods.
CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Collision Detection and Distance Computation.
OBBTree: A Hierarchical Structure for Rapid Interference Detection Gottschalk, M. C. Lin and D. ManochaM. C. LinD. Manocha Department of Computer Science,
Chapter 5: Path Planning Hadi Moradi. Motivation Need to choose a path for the end effector that avoids collisions and singularities Collisions are easy.
Complex Model Construction Mortenson Chapter 11 Geometric Modeling
CS 326 A: Motion Planning Collision Detection and Distance Computation.
Providing Haptic ‘Hints’ to Automatic Motion Planners Providing Haptic ‘Hints’ to Automatic Motion Planners by Burchan Bayazit Department of Computer Science.
CS 326A: Motion Planning ai.stanford.edu/~latombe/cs326/2007/index.htm Collision Detection and Distance Computation.
Brute-Force Triangulation
Computer graphics & visualization Collision Detection – Narrow Phase.
9-4 Geometry in Three Dimensions  Simple Closed Surfaces  Regular Polyhedra  Cylinders and Cones.
Week 13 - Wednesday CS361.
Splines III – Bézier Curves
UNC Chapel Hill M. C. Lin Point Location Chapter 6 of the Textbook –Review –Algorithm Analysis –Dealing with Degeneracies.
INTERACTION TECHNIQUES Collision Detection and Other Interactions Collision Detection and Other Interactions.
CS-321 Dr. Mark L. Hornick 1 3-D Object Modeling.
CS 450: Computer Graphics REVIEW: OVERVIEW OF POLYGONS
Introduction Tracking the corners Camera model and collision detection Keyframes Path Correction Controlling the entire path of a virtual camera In computer.
Haptic rendering Part 1 4/CY/B3 Part 1. Collision detection and response Nic Melder Part 2. Manipulation and polygon transitions (T.B.A.)
4/15/04© University of Wisconsin, CS559 Spring 2004 Last Time More modeling: –Hierarchical modeling –Instancing and Parametric Instancing –Constructive.
Computer-Aided Design and Manufacturing Laboratory: 3D Minkowski sum computation Sara McMains UC Berkeley.
CS 325 Introduction to Computer Graphics 03 / 08 / 2010 Instructor: Michael Eckmann.
Vertex – A point at which two or more edges meet Edge – A line segment at which two faces intersect Face – A flat surface Vertices, Edges, Faces.
Collision handling: detection and response
Progressive Meshes with Controlled Topology Modification University of Bonn Institute II. for Computer Science Computer Graphics Group Pavcl Borodin Rchinhard.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Collisions & Contact.
Section 8.4.  The definition of a hyperbola is similar to that of an ellipse. However, this time it is the difference in the distances to the two foci,
3.4. C ONTACT G ENERATION Generating contacts between rigid bodies.
Subdivision Schemes Basic idea: Start with something coarse, and refine it into smaller pieces for rendering –We have seen how subdivision may be used.
Haptic Rendering Part 2 4/CY/B3 Part 1. Collision detection and response Nic Melder Part 2. Manipulation and polygon transitions Nic Melder.
1 KIPA Game Engine Seminars Jonathan Blow Ajou University December 6, 2002 Day 10.
Computer Graphics Basic 3D Geometry CO2409 Computer Graphics Week 5-1.
Chapter Area, Pythagorean Theorem, and Volume 14 Copyright © 2013, 2010, and 2007, Pearson Education, Inc.
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
A Fast Algorithm for Incremental Distance Calculation Ming C. Lin & John Canny University of California, Berkeley 1991 Presentation by Adit Koolwal.
Computational Geometry
Minkowski Sums and Distance Computation Eric Larsen COMP
Distance Computation “Efficient Distance Computation Between Non-Convex Objects” Sean Quinlan Stanford, 1994 Presentation by Julie Letchner.
Efficient Distance Computation between Non-Convex Objects
3D Rendering Pipeline Hidden Surface Removal 3D Primitives
I. The Problem of Molding
Vertical Angles Vertical angles are across from each other and are created by intersecting lines.
Computer Animation Algorithms and Techniques
14 Chapter Area, Pythagorean Theorem, and Volume
Overlay of Two Subdivisions
Algorithms and Data Structures Lecture XIV
3.3: Rectangle Collisions
Presentation transcript:

A Fast Algorithm for Incremental Distance Calculation Ming C. Lin and John F. Canny University of California, Berkeley 1991 Original slides by Adit Koolwal Modifications and presentation by benson limketkai

why distance calculation? Robotics and related fields Path planning Distance calculation is useful! In addition to collision detection: Haptics Force feedback proportional to distance

an overview of the lin-canny algorithm After some preprocessing (discussed later), finds an initial pair of closest features between two polyhedra using an O(n 2 ) search. The Lin-Canny algorithm: At each timestep, checks if the current closest feature pair is still the closest. If not, it finds the new closest pair. t1t1 t2t2 t3t3 t4t4 t5t5 The Lin-Canny algorithm takes advantage of incremental motion because closest features change infrequently.

implementating lin-canny in 4 easy steps…

1.We first represent each object as a convex polyhedron, or a union of convex polyhedra. We can improve the accuracy of the approximation by increasing the resolution of our representation. For non-convex objects we rely on subdivision into convex pieces, which can take up to quadratic time.

1.We first represent each object as a convex polyhedron, or a union of convex polyhedra. 2.For each object we calculate the fields for each of its faces, edges, vertices, positions, and orientations. A FACE contains a list of VERTICES v i which lie on its boundaries, and a list of EDGES e i which bound the face. v1v1 v2v2 v3v3 v4v4 A FACE f i is parameterized by its outward normal and distance from the origin. f1f1 n1n1 e1e1 e2e2 e3e3 e4e4

1.We first represent each object as a convex polyhedron, or a union of convex polyhedra. 2.For each object we calculate the fields for each of its faces, edges, vertices, positions, and orientations. A FACE f i is parameterized by its outward normal and distance from the origin. A FACE contains a list of VERTICES v i which lie on its boundaries, and a list of EDGES e i which bound the face. f2f2 f1f1 Each EDGE e i is described by its head, tail, left face, and right face. e2e2

1.We first represent each object as a convex polyhedron, or a union of convex polyhedra. 2.For each object we calculate the fields for each of its faces, edges, vertices, positions, and orientations. A FACE f i is parameterized by its outward normal and distance from the origin. A FACE contains a list of VERTICES v i which lie on its boundaries, and a list of EDGES e i which bound the face. Each EDGE e i is described by its head, tail, left face, and right face. v2v2 Each VERTEX v i is described by its x,y,z coordinates and its CO- BOUNDARY, the set of edges that intersect it. e5e5 e1e1 e2e2 x y z

1.We first represent each object as a convex polyhedron, or a union of convex polyhedra. 2.For each object we calculate the fields for each of its faces, edges, vertices, positions, and orientations. 3.For each pair of features between the two objects of interest, calculate the closest pair of points between those two features. Find the overall closest pair. There are six different possible feature pairs that we will need to analyze… PAPA Define P A to be the closest point of feature A to feature B PBPB Define P B to be the closest point of feature B to feature A d AB The distance d AB is the Euclidean distance between P A and P B

case one: a pair of vertices PAPA PBPB d AB

case two: a vertex and an edge PAPA PBPB d AB

case three: a vertex and a face PAPA PBPB d AB

case four: a pair of edges PAPA PBPB d AB

case five: an edge and a face PAPA PBPB d AB

case six: a pair of faces (rare!) PAPA PBPB d AB

1.We first represent each object as a convex polyhedron, or a union of convex polyhedra. 2.For each object we calculate the fields for each of its faces, edges, vertices, positions, and orientations. 3.For each pair of features between the two objects of interest, calculate the closest pair of points between those two features. Find the overall closest pair. 4.Incrementally update the closest feature pair. 1.Verify that P A is the closest point of A to feature B, and that P B is the closest point of B to feature A 2.If verification fails, choose a new feature pair and repeat step one 3.Eventually we will terminate on the closest feature pair We utilize the following algorithm for updating:

question: how can we tell if we’ve found a closest feature pair, or if we need to try a new pair? answer: we have “applicability criteria” that each feature pair must satisfy in order to be the closest feature pair. There are applicability criteria for the three of the feature pair combinations: 1. Point-Vertex (Vertex-Vertex) 2. Point-Edge (Vertex-Edge) 3. Point-Face (Vertex-Face) These criteria can be used in dealing with Edge-Edge, Edge-Face, and Face-Face feature pairs as well (see paper).

PAPA VBVB point-vertex applicability criteria Point P A and vertex V B are the closest feature pair if P A lies within the region bounded by the planes perpendicular to the edges touching V B.

PAPA VBVB point-vertex applicability criteria When P A lies outside the planar boundaries of V B (described previously), then some edge E B is closer to P A than V B. EBEB

point-edge applicability criteria 1.The two planes perpendicular to E B, passing through its head and tail, and 2.The two planes perpendicular to the right and left faces of E B. PAPA EBEB Point P A and edge E B are the closest feature pair if P A lies within the region bounded by: FBFB

When P A lies outside one of the two planes perpendicular to the right and left faces of E B, then some face F B is closer to P A than E B. PAPA EBEB FBFB point-edge applicability criteria

When P A lies outside one of the two planes perpendicular to E B and passing through either its head or its tail, then some vertex V B is closer to P A than E B. PAPA EBEB VBVB

point-face applicability criteria Point P A and face F B are the closes feature pair if P A lies within the region bounded by the planes that are both perpendicular to F B and contain the boundaries of F B. PAPA FBFB

point-face applicability criteria PAPA FBFB EBEB If P A lies outside the planar boundaries of F B (described previously) then some edge E B is closer to P A than F B.

point-face applicability criteria PAPA FBFB If P A lies “below” F B then some feature of B is closer to P A than F B (otherwise A would have collided into B). In this case, we must check every face of object B. This is NOT constant time. Note however that this can only happen during initialization; otherwise, the collision would have been detected. d

preprocessing Preprocessing steps ensure that objects have boundaries and co-boundaries of constant size (eg. limiting the number of edges going through each vertex and bounding each face to 4 or 5). Constant sized boundaries allows constant time verification of a closest feature pair. FAFA FAFA

results and conclusions…

lin-canny runs in constant time in an “incremental movement” framework lin-canny runs in quadratic time when intially finding a closest pair Once an initial closest feature pair is found, it takes on average constant time to keep track of that closest pair. Finding the initial closest feature pair is in the worst case O(n 2 ) in number of features per object.

conclusions Lin-Canny is a simple and efficient algorithm that is guaranteed to find the closest feature and point pair. Results have applications in collision detection and motion planning. Lin-Canny can be extended to handle non-convex objects without any significant increase in running time.