Convex Hull Problem Presented By Erion Lin. Outline Convex Hull Problem Voronoi Diagram Fermat Point.

Slides:



Advertisements
Similar presentations
Order-k Voronoi Diagram in the Plane
Advertisements

Comments We consider in this topic a large class of related problems that deal with proximity of points in the plane. We will: 1.Define some proximity.
 Distance Problems: › Post Office Problem › Nearest Neighbors and Closest Pair › Largest Empty and Smallest Enclosing Circle  Sub graphs of Delaunay.
Brute-Force Triangulation
The Divide-and-Conquer Strategy
Convex Hull obstacle start end Convex Hull Convex Hull
CS16: Introduction to Data Structures & Algorithms
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.
4 -1 Chapter 4 The Divide-and-Conquer Strategy Outlines 4-1 The 2-Dimensional Maxima Finding Problem 4-2 The Closest Pair Problem 4-3 The Convex.
1 Voronoi Diagrams. 2 Voronoi Diagram Input: A set of points locations (sites) in the plane.Input: A set of points locations (sites) in the plane. Output:
4 -1 Chapter 4 The Divide-and-Conquer Strategy A simple example finding the maximum of a set S of n numbers.
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
5 -1 Chapter 5 The Divide-and-Conquer Strategy A simple example finding the maximum of a set S of n numbers.
Ruslana Mys Delaunay Triangulation Delaunay Triangulation (DT)  Introduction  Delaunay-Voronoi based method  Algorithms to compute the convex hull 
Convex Hulls May Shmuel Wimer Bar Ilan Univ., Eng. Faculty Technion, EE Faculty.
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,
Convex Hulls in 3-space Jason C. Yang.
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.
Computational Geometry
8/29/06CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Spring 2006 Convex Hulls Carola Wenk.
1 Today’s Material Computational Geometry Problems –Closest Pair Problem –Convex Hull Jarvis’s March, Graham’s scan –Farthest Point Problem.
What does that mean? To get the taste we will just look only at some sample problems... [Adapted from S.Suri]
Convexity of Point Set Sandip Das Indian Statistical Institute.
Computational Geometry -- Voronoi Diagram
17. Computational Geometry Chapter 7 Voronoi Diagrams.
2. Voronoi Diagram 2.1 Definiton Given a finite set S of points in the plane , each point X of  defines a subset S X of S consisting of the points of.
1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.
By Dor Lahav. Overview Straight Skeletons Convex Polygons Constrained Voronoi diagrams and Delauney triangulations.
Voronoi Diagrams Computational Geometry, WS 2006/07 Lecture 10 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Prune-and-search Strategy
5 - 1 § 5 The Divide-and-Conquer Strategy e.g. find the maximum of a set S of n numbers.
Closest Pair of Points Computational Geometry, WS 2006/07 Lecture 9, Part II Prof. Dr. Thomas Ottmann Khaireel A. Mohamed Algorithmen & Datenstrukturen,
9-1 Chapter 9 Approximation Algorithms. 9-2 Approximation algorithm Up to now, the best algorithm for solving an NP-complete problem requires exponential.
Basic Definitions in Geometry
Brute-Force Triangulation
UNC Chapel Hill M. C. Lin Point Location Chapter 6 of the Textbook –Review –Algorithm Analysis –Dealing with Degeneracies.
CSE53111 Computational Geometry TOPICS q Preliminaries q Point in a Polygon q Polygon Construction q Convex Hulls Further Reading.
Voronoi Diagram and Delaunay Triangulation
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.
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.
On Graphs Supporting Greedy Forwarding for Directional Wireless Networks W. Si, B. Scholz, G. Mao, R. Boreli, et al. University of Western Sydney National.
Convex Hull. University of Manchester biologists used lasers to measure the minimum amount of skin required to wrap around the skeletons of modern-day.
Kansas State University Department of Computing and Information Sciences Friday, July 13, 2001 Mantena V. Raju Department of Computing and Information.
UNC Chapel Hill M. C. Lin Delaunay Triangulations Reading: Chapter 9 of the Textbook Driving Applications –Height Interpolation –Constrained Triangulation.
4-3~ 鄭力瑋. concave polygon:convex polygon: Convex polygons 「凸」的定義是:圖形內任意兩點的連線不會經過圖形外部。
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.
COMPUTATIONAL GEOMETRY AND MATRIX MULTIPLICATION Mohammed Zeeshan Farooqui Minhaj Uddin.
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.
CS6234 Advanced Algorithms - Convex hull. Terminologies – ◦ Convex hull of a set Q of points is the smallest convex polygon P for which each point in.
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.
Zero Skew Clock Routing ECE 556 Project Proposal John Thompson Kurt Ting Simon Wong.
CENG 789 – Digital Geometry Processing 03- Point Sets Asst. Prof. Yusuf Sahillioğlu Computer Eng. Dept,, Turkey.
Convex Hulls Guo Qi, Chen Zhenghai, Wang Guanhua, Shen Shiqi, Himeshi De Silva.
Polygon Triangulation
CMPS 3130/6130 Computational Geometry Spring 2017
3. Polygon Triangulation
Convex Hull R.L. Graham’s Algorithm Computer Graphics.
Computational Geometry (35/33)
Convex Sets & Concave Sets
The Divide-and-Conquer Strategy
Locating an Obnoxious Line among Planar Objects
The Divide-and-Conquer Strategy
CHAPTER 33 Computational Geometry
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.
Computational Geometry
Presentation transcript:

Convex Hull Problem Presented By Erion Lin

Outline Convex Hull Problem Voronoi Diagram Fermat Point

Outline

Convex Hull Problem Definitions Algorithm

Definitions

Concave Polygon

Convex Polygon

A Convex Hull The convex hull of a set of planar points is defined as the smallest convex polygon containing all of the points.

Algorithm

An algorithm to Construct a Convex Hull Input : A set S of planar points Output : A Convex hull of S

Initial Points

An algorithm to Construct a Convex Hull(Cont’d) Step 1. If S contains no more than five points, use exhaustive searching to find the convex hull and return. Step 2. Find a median line perpendicular to the x-axis which divides S into S L and S R.

An algorithm to Construct a Convex Hull(Cont’d) Step 3. Recursively construct convex hulls for S L and S R. Denote these convex hulls by Hull by Hull(S L ) and Hull(S R ) respectively.

Convex Hulls after Step 3

An algorithm to Construct a Convex Hull(Cont’d) Step 4. Find an interior point P of S L. Find the vertices v1 and v2 of Hull(S R ) which divide the vertices of Hull(S R ) into two sequences of vertices which have increasing polar angles with respect to P. Without loss of generality, let us assume that v1 has y-value greater than v2. Then form three sequences as follows :

An algorithm to Construct a Convex Hull(Cont’d) (a) Sequence 1 : all of the convex hull vertices of Hull(S L ) in counterclockwise direction. (b) Sequence 2 : the convex hull vertices of Hull(S R ) from v2 to v1 in counterclockwise direction. (c) Sequence 3 : the convex hull vertices of Hull (S R ) from v2 to v1 in clockwise direction

Graham Scan

An algorithm to Construct a Convex Hull(Cont’d) Merge these three sequences and conduct the Graham scan. Eliminate the points which are reflexive and the remaining points from the convex hull.

Graham Scan(Cont’d)

Convex Hull

Algorithm Analysis T(n)=2T(n/2) + O(n) = O(nlogn)

Outline

Voronoi Diagram Definitions Algorithms Applications

Definitions

The Voronoi diagram is, as the minimal spanning tree, a very interesting data structure, and it can be used to store important information about nearest neighbor of points on a plane.

A Voronoi Diagram for Two Points

A Voronoi Diagram for Three Points

A Voronoi Diagram for Sex Points

Definitions(Cont’d) The Voronoi polygon associated with P i is a convex polygon region having no more than n-1 sides, defined by V(i)=H(P i, P j )

A Voronoi Polygon

Definitions(Cont’d) The Delaunay triangulation is a line segment connecting P i and P j if and only if the Voronoi polygons of Pi and Pj share the same edge.

A Delaunay Triangulation for Six Points

Algorithms

An algorithm to Construct Voronoi Diagrams Input: A Set S on n planar points. Output: The Voronoi Diagram of S

Initial Points

An algorithm to Construct Voronoi Diagrams(Cont’d) Step 1. If S contains only one point, return. Step 2. Find a median line L perpendicular to the x-axis which divides S into S L and S R such that S L (S R ) lies to the left(right) of L and the sizes of S L and S R are equal.

An algorithm to Construct Voronoi Diagrams(Cont’d) Step 3. Construct Voronoi diagrams of S L and S R recursively. Denote these Voronoi diagrams by VD(S L ) and VD(S R ).

An algorithm to Construct Voronoi Diagrams(Cont’d) Step 4. Construct a dividing piece-wise linear hyperplane HP which is the locus of points simultaneously closest to a point in S L and a point S R. Discard all segments of VD(S L ) which lie to the right of HP and all segments of VD(S R ) that lie to the left of HP. The resulting graph is the Voronoi diagram of S.

Voronoi Diagrams Step 4-1

Voronoi Diagrams Step 4-2

Voronoi Diagrams

Algorithm Analysis T(n)=2T(n/2) + O(n) = O(nlogn)

An algorithm to Merge Two Voronoi Diagrams Input: (a)S L and S R where S L and S R are divided by a perpendicular line L. (b)VD(S L ) and VD(S R ). Output: VD(S) where

Initial Voronoi Diagrams

An algorithm to Merge Two Voronoi Diagrams(Cont’d) Step 1. Find the convex hulls of S L and S R. Let them be denoted as Hull(S L ) and Hull(S R ) respectively. Step 2. Find segments and which join Hull(S L ) and Hull (S R ) into a convex hull (P a and P c belong to S L and P b and P d belong to S R.) Assume that lies above.Let x=a, y=b,

An algorithm to Merge Two Voronoi Diagrams(Cont’d) Step 3. Find the perpendicular bisector of SG. Denote it by BS. Let. If, Go to Step5; otherwise, Go to Step4. Step 4. Let BS first intersect with a ray from VD(S L ) or VD(S R ). This ray must be a perpendicular bisector of either or for some z. If this ray is the perpendicular bisector of, then let ; otherwise, let. Go to Step 3.

Voronoi Diagram after Step 3 、 4

An algorithm to Merge Two Voronoi Diagrams(Cont’d) Step 5. Discard the edges of VD(S L ) which extend to the right of HP and discard the edges of VD(S R ) which extend to the left of HP. The resulting graph is the Voronoi diagram of

The Resulting Voronoi Diagram

Applications

Constructing a Convex Hull from a Voronoi Diagram

Time Complexity Analysis Preprocessing Time : O(nlogn) Constructing Time : O(n)

Euclidean Nearest Neighbor Searching Problem Definition : We are given a set of n planar points: P 1, P 2, …P n and a testing point P. Our problem is to find a nearest neighbor of P among Pi.

Euclidean Nearest Neighbor Searching Problem(Cont’d)

Time Complexity Analysis Preprocessing Time : O(nlogn) Searching Time : O(logn)

Euclidean All Nearest Neighbor Problem Definition : The Euclidean all nearest neighbor problem is to find a nearest neighbor of every P i.

Euclidean All Nearest Neighbor Problem (Cont’d)

Time Complexity Analysis O(nlogn)

Outline

Fermat Point To find the shortest distance between A 、 B 、 C

Fermat Point (Cont’d) Prove :

Fermat Point (Cont’d)

Thanks for Your Listening