Convex Hull of a 2D Simple Polyline Presenter: Yung-Hsing Peng Date: 2005.12.1.

Slides:



Advertisements
Similar presentations
Jarvis March Graham Scan Chan’s Algorithm
Advertisements

Chan’s algorithm CS504 Presentation.
Planar Convex Hull 2013 / 5 / 9 Group 4 Sungheon Park Jeongho Son CS504 Presentation [CS504 Presentation]
1/13/15CMPS 3130/6130: Computational Geometry1 CMPS 3130/6130: Computational Geometry Spring 2015 Convex Hulls Carola Wenk.
algorithms and data structures
Brute-Force Triangulation
Convex Hull obstacle start end Convex Hull Convex Hull
C o m p u t i n g C O N V E X H U L L S by Kok Lim Low 10 Nov 1998 COMP Presentation.
UNC Chapel Hill M. C. Lin Polygon Triangulation Chapter 3 of the Textbook Driving Applications –Guarding an Art Gallery –3D Morphing.
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.
The Divide-and-Conquer Strategy
Convex Hulls May Shmuel Wimer Bar Ilan Univ., Eng. Faculty Technion, EE Faculty.
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,
Convex Sets & Concave Sets A planar region R is called convex if and only if for any pair of points p, q in R, the line segment pq lies completely in R.
Andrew's Monotone Chain Convex Hull Algorithm. Andrew's Monotone Chain Scan A left-to-right variant of Graham's scan Discovered by Andrew in 1979 Using.
1 Convex Hull in Two Dimensions Jyun-Ming Chen Refs: deBerg et al. (Chap. 1) O’Rourke (Chap. 3)
Computational Geometry
Convex Hull Problem Presented By Erion Lin. Outline Convex Hull Problem Voronoi Diagram Fermat Point.
Informal Definition : Let S is set of nails sticking out from a board. the convex hull can be visualized as the shape formed by a tight rubber band that.
1 Today’s Material Computational Geometry Problems –Closest Pair Problem –Convex Hull Jarvis’s March, Graham’s scan –Farthest Point Problem.
Algorithms and Data Structures Lecture 13. Agenda: Plane Geometry: algorithms on polygons - Verification if point belongs to a polygon - Convex hull.
5/17/2015 1:32 AMConvex Hull1 obstacle start end.
Computational Geometry Piyush Kumar (Lecture 3: Convexity and Convex hulls) Welcome to CIS5930.
17. Computational Geometry Chapter 7 Voronoi Diagrams.
5 - 1 § 5 The Divide-and-Conquer Strategy e.g. find the maximum of a set S of n numbers.
Convex Hull Computation ● Applications of Convex Hull Computation ● Definitions ● Basic Math Functions ● Algorithms Algorithm Speed Discovered By Brute.
Convex Hull ● Jarvis' March O(hn) – Find lowest point O(n) – Repeatedly Find next least-counterclockwise point O(hn) ● Grahm's Scan O(n log n) – Find lowest.
Bitonic and Merging sorting networks Efficient Parallel Algorithms COMP308.
Brute-Force Triangulation
Computational Geometry
ACM Schedule… 2/23 Geometry problems 3/2 Lab problems (geometry!) 3/30 "Mock" competition and lab session (4:15) 3/9 Final algorithm discussion… 3/16 [Spring.
CSE53111 Computational Geometry TOPICS q Preliminaries q Point in a Polygon q Polygon Construction q Convex Hulls Further Reading.
1 Geometric Intersection Determining if there are intersections between graphical objects Finding all intersecting pairs Brute Force Algorithm Plane Sweep.
Triangulating a monotone polygon
Convex Hull. What is the Convex Hull? Imagine a set of points on a board with a nail hammered into each point. Now stretch a rubber band over all the.
5 -1 Chapter 5 The Divide-and-Conquer Strategy A simple example finding the maximum of a set S of n numbers.
Computational Geometry Course Summary (First Half) Spring 2008 Pay special attention to: algorithm details (able to explain correctness and carry out a.
C o m p u t i n g C O N V E X H U L L S. Presentation Outline 2D Convex Hulls –Definitions and Properties –Approaches: Brute Force Gift Wrapping QuickHull.
Lecture 6 Algorithm Analysis Arne Kutzner Hanyang University / Seoul Korea.
1 Triangulation Supplemental From O’Rourke (Chs. 1&2) Fall 2005.
Bucket Sort and Radix Sort
Convex Hull. University of Manchester biologists used lasers to measure the minimum amount of skin required to wrap around the skeletons of modern-day.
A planar region R is called convex if and only if for any pair of points p, q in R, the line segment pq lies completely in R. Otherwise, it is called concave.
Convex Hull 2012/10/23. Convex vs. Concave A polygon P is convex if for every pair of points x and y in P, the line xy is also in P; otherwise, it is.
Convex Sets & Concave Sets A planar region R is called convex if and only if for any pair of points p, q in R, the line segment pq lies completely in R.
Chapter 9: Sorting1 Sorting & Searching Ch. # 9. Chapter 9: Sorting2 Chapter Outline  What is sorting and complexity of sorting  Different types of.
Convex hulls in 3D Maciej Kot. Finding convex hull Given a set of points, find a convex hull that contains all of them and is minimal.
Convex Hulls Guo Qi, Chen Zhenghai, Wang Guanhua, Shen Shiqi, Himeshi De Silva.
Polygon Triangulation
Introduction to Data Structure and Algorithms
3. Polygon Triangulation
Lecture 3: Parallel Algorithm Design
Introduction to Spatial Computing CSE 555
Andrew's Monotone Chain Convex Hull Algorithm
Convex Hull R.L. Graham’s Algorithm Computer Graphics.
Convex Hull.
Algorithm design techniques Dr. M. Gavrilova
Convex Hull obstacle start end 11/21/2018 4:05 AM Convex Hull
Heap Sort The idea: build a heap containing the elements to be sorted, then remove them in order. Let n be the size of the heap, and m be the number of.
Convex Sets & Concave Sets
Bitonic and Merging sorting networks
CHAPTER 33 Computational Geometry
CMPS 3130/6130: Computational Geometry Spring 2017
Convex Hulls Given a set of points (x1,y1),(x2,y2),…,(xn,yn), the convex hull is the smallest convex polygon containing all the points.
CMPS 3120: Computational Geometry Spring 2013
Convex Hull obstacle start end 4/30/2019 5:21 PM Convex Hull
Algorithms Sorting.
Computational Geometry Algorithms
Computational Geometry
Presentation transcript:

Convex Hull of a 2D Simple Polyline Presenter: Yung-Hsing Peng Date:

Evolution of finding 2D planar convex hull AlgorithmSpeedDiscovered By Brute ForceO(n 4 )[Anon, the dark ages] Gift WrappingO(nh)[Chand & Kapur, 1970] Graham ScanO(n log n)[Graham, 1972] Jarvis MarchO(nh)[Jarvis, 1973] QuickHullO(nh)[Eddy, 1977], [Bykat, 1978] Divide-and-ConquerO(n log n)[Preparata & Hong, 1977] Monotone ChainO(n log n)[Andrew, 1979] IncrementalO(n log n)[Kallay, 1984] Marriage-before-ConquestO(n log h)[Kirkpatrick & Seidel, 1986] n: number of points in the input h: number of points on the output hull

Graham Scan (1/2) Preprocessing: Step 1: Find the lowest point P 0 Step 2: Based on P 0, sort other points according its angle with horizontal line Step 3: Find the first triangle (P 0 P 1 P 2 P 3 for this case)  Time complexity for preprocessing is O(nlogn)

Graham Scan (2/2)  Time complexity for scanning is O(n), because we only push and pop for total n elements

Property of Simple Polyline

Melkman’s Algorithm (1/2) If P k+j is in previous hull, then we can pass it and process next point. If P k+j is on the left side of both d top-1 d top and d bot d bot+1, then it must be included in the previous hull, else it will be a point on new hull.  Since we can test inclusion in constant time (for simple polyline), then we can skip the preprocessing of sorting.

Melkman’s Algorithm (2/2) If P k+j is exterior to previous hull, then it will become the new top and bottom, after removing some points in dequeue. (note that the top and bottom of D k are both P k+j )  Since we are pushing and popping for total n elements, it costs O(n) time.

Summary For simple polyline, Melkman’s algorithm can find the convex hull in O(n) time. We can transform any 2D planar point set in to a set of simple polyline by sorting the points. If the input points can be sorted by radix sort, then we can find the convex hull in O(n). In voronoi diagram, Melkman’s algorithm is easier than Graham scan when constructing the convex hull, since there’s no need to break two hulls into three sequences.

Reference