A Recursive Algorithm for Calculating the Relative Convex Hull Gisela Klette AUT University Computing & Mathematical Sciences Auckland, New Zealand.

Slides:



Advertisements
Similar presentations
1 Motion and Manipulation Configuration Space. Outline Motion Planning Configuration Space and Free Space Free Space Structure and Complexity.
Advertisements

Map-making as Graph Drawing Alan Saalfeld Mathematical Cartographer.
Part 2: Digital convexity and digital segments p q Goddess of fortune smiles again.
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.
電腦視覺 Computer and Robot Vision I
Approximations of points and polygonal chains
Advanced Topics in Algorithms and Data Structures Lecture 7.2, page 1 Merging two upper hulls Suppose, UH ( S 2 ) has s points given in an array according.
 Distance Problems: › Post Office Problem › Nearest Neighbors and Closest Pair › Largest Empty and Smallest Enclosing Circle  Sub graphs of Delaunay.
Course Syllabus 1.Color 2.Camera models, camera calibration 3.Advanced image pre-processing Line detection Corner detection Maximally stable extremal regions.
Motion Planning CS 6160, Spring 2010 By Gene Peterson 5/4/2010.
The Divide-and-Conquer Strategy
Convex Hulls in Two Dimensions Definitions Basic algorithms Gift Wrapping (algorithm of Jarvis ) Graham scan Divide and conquer Convex Hull for line intersections.
Seminar Graph Drawing H : Introduction to Graph Drawing Jesper Nederlof Roeland Luitwieler.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Divide and Conquer.
By Groysman Maxim. Let S be a set of sites in the plane. Each point in the plane is influenced by each point of S. We would like to decompose the plane.
Advanced Topics in Algorithms and Data Structures Lecture 7.1, page 1 An overview of lecture 7 An optimal parallel algorithm for the 2D convex hull problem,
Computational Geometry
8/29/06CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Spring 2006 Convex Hulls Carola Wenk.
Algorithms and Data Structures Lecture 13. Agenda: Plane Geometry: algorithms on polygons - Verification if point belongs to a polygon - Convex hull.
Course Syllabus 1.Color 2.Camera models, camera calibration 3.Advanced image pre-processing Line detection Corner detection Maximally stable extremal regions.
Tutorial 2 – Computational Geometry
Chapter 3 The Greedy Method 3.
Lecture 3: Polygon Triangulation Computational Geometry Prof. Dr. Th. Ottmann 1 l-Monotone Convex polygons are easy to triangulate. Unfortunately the partition.
By Dor Lahav. Overview Straight Skeletons Convex Polygons Constrained Voronoi diagrams and Delauney triangulations.
Center for Graphics and Geometric Computing, Technion 1 Computational Geometry Chapter 9 Delaunay Triangulation.
OBBTree: A Hierarchical Structure for Rapid Interference Detection Gottschalk, M. C. Lin and D. ManochaM. C. LinD. Manocha Department of Computer Science,
Roadmap Methods How do I get there? Visibility Graph Voronoid Diagram.
1 University of Denver Department of Mathematics Department of Computer Science.
Introduction Outline The Problem Domain Network Design Spanning Trees Steiner Trees Triangulation Technique Spanners Spanners Application Simple Greedy.
Roadmap Methods How do I get there? Visibility Graph Voronoid Diagram.
Lection 1: Introduction Computational Geometry Prof.Dr.Th.Ottmann 1 History: Proof-based, algorithmic, axiomatic geometry, computational geometry today.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2007 O’Rourke Chapter 8 Motion Planning.
Geometric Probing with Light Beacons on Multiple Mobile Robots Sarah Bergbreiter CS287 Project Presentation May 1, 2002.
Lecture 6 Jianjun Hu Department of Computer Science and Engineering University of South Carolina CSCE350 Algorithms and Data Structure.
Delaunay Triangulations Presented by Glenn Eguchi Computational Geometry October 11, 2001.
CSE53111 Computational Geometry TOPICS q Preliminaries q Point in a Polygon q Polygon Construction q Convex Hulls Further Reading.
Visibility Graphs and Cell Decomposition By David Johnson.
Visibility Graphs and Motion Planning Kittiphan Techakittiroj for the Degree of Master of Science Department of Computer Science, Ball State University,
October 14, 2014Computer Vision Lecture 11: Image Segmentation I 1Contours How should we represent contours? A good contour representation should meet.
Algorithms for Triangulations of a 3D Point Set Géza Kós Computer and Automation Research Institute Hungarian Academy of Sciences Budapest, Kende u
Part 6: Graphics Output Primitives (4) 1.  Another useful construct,besides points, straight line segments, and curves for describing components of a.
Warm Up Week 1. Section 6.1 Day 1 I will identify, name, and describe polygons. Ex 1 PolygonHas three or more sides that connect at endpoints.
5 -1 Chapter 5 The Divide-and-Conquer Strategy A simple example finding the maximum of a set S of n numbers.
© The McGraw-Hill Companies, Inc., Chapter 6 Prune-and-Search Strategy.
Kansas State University Department of Computing and Information Sciences Friday, July 13, 2001 Mantena V. Raju Department of Computing and Information.
L8 - Delaunay triangulation L8 – Delaunay triangulation NGEN06(TEK230) – Algorithms in Geographical Information Systems.
1 11. Polygons Polygons 2D polygons ( 다각형 ) –Polygon sides are all straight lines lying in the same plane 3D polyhedra ( 다면체 )  chap. 12 –Polyhedra.
Polygon Definition Bounded by a closed circuit of straight-line segment. Term Edge : straight line segment Vertices : points.
CLASSIFYING POLYGONS UNIT 1 LESSON 6. Classifying Polygons In geometry, a figure that lies in a plane is called a plane figure. A polygon is a closed.
1 Overview representing region in 2 ways in terms of its external characteristics (its boundary)  focus on shape characteristics in terms of its internal.
Iterative Improvement for Domain-Specific Problems Lecturer: Jing Liu Homepage:
Computer Graphics Lecture 08 Taqdees A. Siddiqi Computer Graphics Filled Area Primitives I Lecture 08 Taqdees A. Siddiqi
Ch 1.6 CLASSIFY POLYGONS. In this section we will… Look at what makes something a polygon. Identify polygons by their sides and angles Identify polygons.
Materi 09 Analisis Citra dan Visi Komputer Representasi and Deskripsi 1.
Minkowski Sums and Distance Computation Eric Larsen COMP
How do I get there? Roadmap Methods Visibility Graph Voronoid Diagram.
Introduction to Polygons
Decimation Of Triangle Meshes
Computer Graphics Filled Area Primitives II Lecture 09 Taqdees A
Polygonal Curve Simplification
Algorithm design techniques Dr. M. Gavrilova
Grids Geometry Computational Geometry
Point-a location on a plane.
Grids Geometry Computational Geometry
Computing Vertex Normals from Arbitrary Meshes
Locating an Obnoxious Line among Planar Objects
On the Geodesic Centers of Polygonal Domains
Kinetic Collision Detection for Convex Fat Objects
Convex Hull - most ubiquitous structure in computational geometry
Presentation transcript:

A Recursive Algorithm for Calculating the Relative Convex Hull Gisela Klette AUT University Computing & Mathematical Sciences Auckland, New Zealand

Motivation The calculation of relative convex hulls of simple polygons is –a special subject in computational geometry (shortest paths), –in image analysis (MLP: calculation of features), –in robotics (shortest path of a robot in a constrained environment),...

Motivation: Image Analysis MLP is a digital length estimator of the circumference of a digital object that is multigrid convergent MLP is characteristic for the digital convexity of the shape MLP is a tangent estimator

Motivation: Robotics Path Planning Informally: The relative convex hull of A relative to B is the shortest path between A and B. A B

Definition 1 A subset S in R 2 of points is convex iff S is equal to the intersection of all half planes containing S. The convex hull CH(S) of a set of points S is the smallest (by area) convex polygon P that contains S. S CH(S)

A cavity of a polygon A is the topological closure of any connected component of CH(A) \ A. Definition 2 Polygon with 4 cavities CAV 1 CAV 2 CAV 3 CAV 4

Definition 3 A cover is a straight line segment in the frontier of CH(A) that is not part of the frontier of A. cover 4

Definition 4 A polygon A is B-convex iff any straight line segment in B that has both end points in A, is also contained in A. The convex hull of A relatively to B is the intersection of all B-convex polygons containing A.

Definition 5 The minimum length polygon (MLP) of a 2D digital object coincides with the relative convex hull of an inner grid polygon relatively to an outer grid polygon, normally defined in a way like simulating an inner and outer Jordan digitization.

Properties of MLP - The inner and the outer polygon of a Jordan digitization have the constraint that they are at Hausdorff distance 1. -Mappings exist between vertices and between cavities in A and in B. -Convex vertices of the inner polygon and concave vertices of the outer polygon are candidates for the MLP. -MLP is uniquely defined for a given digitized object

p Algorithm, general case [Toussaint, G.T.: An optimal algorithm for computing the relative convex hull of a set of points in a polygon. In: EURASIP, Signal processing lll: Theories and Applications, Part 2, pages 853–856, North-Holland, 1986.] 1.Find an extreme vertex p in A 2.Construct a polygon B\A with one newly created double-oriented edge between A and B 3.Triangulate the new polygon 4.Find the shortest path from p to p Time Complexity: O(n log log n) Computation of the relative convex hull:

Algorithm, MLP [Klette, R., Kovalevsky, V.V., Yip., B.: Length estimation of digital curves. In: Vision Geometry, SPIE 3811, pages 117–129, 1999.] [Klette, R., Rosenfeld, A.: Digital Geometry. Morgan Kaufmann, San Francisco, 2004.] 1.Trace frontier of A and include concave vertices of B 2.Start at extreme vertex 3.Compute positive and negative sides 4.As long as next vertex is between positive and negative sides update the sides 5.Otherwise a new vertex for CH B (A) has been found Time Complexity: O(n) Computation of MLP:

Tangential cover Convex hull of one zone Arithmetic MLP (AMLP) [Provencal, X., Lachaud, J.-O.: Two linear-time algorithms for computing the minimum length polygon of a digital contour. In: DGCI 2009, LNCS 5810, pages 104–117, Springer, Heidelberg, 2009.] 1.Input: contour words (Freeman code) 2.Compute tangential cover 3.Decompose into zones (convex, concave, inflexion) 4.Compute convex hull for each polyline per zone Time Complexity: O(n), only for polyominos Computation of MLP:

[Provencal, X., Lachaud, J.-O.: Two linear-time algorithms for computing the minimum length polygon of a digital contour. In: DGCI 2009, LNCS 5810, pages 104–117, Springer, Heidelberg, 2009.] Combinatorial MLP (CMLP) CMLP Digital contour Time Complexity: O(n), only for polyominos

Result 1 The B-convex hull of a simple polygon A is equal to the convex hull of A iff the convex hull of A is completely contained in B. A B A B B is concave B is convex

Result 2 All vertices of the convex hull of a simple polygon A inside a simple polygon B are vertices of the B-convex hull of A.

Result 3 All the vertices of the convex hull of I new belong to the relative convex hull of A between p s and p e. I new = {p s, q 3, q 4,…q 11, p e }

New algorithm The relative convex hull CHB(A) for simple polygons A and B is only different from CH(A) if there is at least one cavity in A and one in B such that the intersection of those cavities is not empty.

New recursive algorithm 1.Compute the convex hulls for the inner and the outer polygon (Melkman algorithm for example) 2.Copy vertices of the inner polygon one by one to the CH B (A) until it finds a cavity 3.Check the outer polygon for a cavity 4.Construct the new polygons and find the convex hulls 5.Copy all vertices of the inner polygon to the CH B (A) 6.Stop if the base case of the recursion is reached.

New recursive algorithm Relative convex hull Covers First cavity Second cavity

Discussion 1.Recursive algorithm works for arbitrary simple polygons A and B in O(n 2 ), worst case. 2.It is a recursive procedure that is very simple and of low time complexity. 3.The algorithm runs in linear time if the maximum depth of stacked cavities of A is limited by a constant. We continue to study the expected time complexity of the algorithm under some general assumptions of variations (i.e., distribution) for possible input polygons A and B. 4.The depth of stacked cavities could be used as a shape descriptor.