Download presentation
Presentation is loading. Please wait.
1
Voronoi Diagrams Part I
Computational Geometry (EECS 396/496) – October 11th, 2017
2
Voronoi Diagrams Given a collection of input points, a Voronoi diagram is a partition of the plane into regions each of which consists of all points closest to a given input point.
3
Voronoi Diagrams – Formalization
Input: Given a collection 𝑃={ 𝑝 1 ,…, 𝑝 𝑛 } of input points (called sites) in the plane. Output: A subdivision of the plane into Voronoi cells 𝑉( 𝑝 𝑖 ) consisting of the points closest to each input site 𝑝 𝑖 in Euclidean distance. Euclidean distance between points 𝑝,𝑞 in the plane: 𝑑 𝑝, 𝑞 ≔ (𝑝 𝑥 − 𝑞 𝑥 ) 2 + (𝑝 𝑦 − 𝑞 𝑦 ) 2 . Observation: A point 𝑞 lies in 𝑉( 𝑝 𝑖 ) if 𝑑(𝑞, 𝑝 𝑖 ) < 𝑑(𝑞, 𝑝 𝑗 ) for all 𝑗≠𝑖.
4
Voronoi Diagrams are Ridiculously Useful
Wikipedia lists over 20 applications to natural sciences, health, engineering, geometry, and informatics. We will later discuss two important applications in computer science: Nearest-neighbor search. Motion planning.
5
Voronoi Diagrams Have Many Generalizations
Different input sites. E.g., line segments, polygons, circles. Different notions of distance. E.g., Manhattan ( 𝑙 1 ) distance. Different ambient spaces. E.g., 3-dimensional space. Different partitioning rules. E.g., partition plane according to the farthest point away rather than the closest. Euclidean distance (left) and Manhattan distance (right) Images from Wikipedia.
6
Today’s Lecture Structural properties of Voronoi diagrams.
Representation. Geometric and combinatorial properties. How to compute Voronoi diagrams. A sketch of Fortune’s algorithm, a plane- sweep algorithm.
7
Representing Voronoi Diagrams
Voronoi diagrams are planar subdivisions. (See Chapter 2.2 for more details.) Voronoi diagrams consist of faces, edges, and vertices: Faces: sets of points with one closest site, i.e. 𝑉( 𝑝 𝑖 ). Edges: sets of points with two closest sites. Vertices: sets of points with three or more closest sites. A Voronoi diagram’s edges and vertices form a plane graph 𝑉𝑜𝑟(𝑃).
8
Representing Voronoi Diagrams
The bisector of sites 𝑝,𝑞 is the line consisting of points equidistant to 𝑝,𝑞. Edges in the Voronoi diagram are parts of bisectors. The bisector of 𝑝,𝑞 splits the plane into open half-planes ℎ(𝑝, 𝑞) and ℎ(𝑞, 𝑝). ℎ(𝑝, 𝑞): points closer to 𝑝 than 𝑞. ℎ(𝑞,𝑝): points closer to 𝑞 than 𝑝. Observation: 𝑉 𝑝 𝑖 = 𝑗≠𝑖 ℎ( 𝑝 𝑖 , 𝑝 𝑗 ) . Implies that Voronoi cells are convex.
9
The Structure of Voronoi Diagrams
Theorem: Let 𝑃 be a set of 𝑛 points in the plane. The edges in the Voronoi diagram of 𝑃 consist of: A set of 𝑛 − 1 parallel lines, if the points in P are all collinear. A connected set of line segments and half- lines, otherwise.
10
Combinatorial Complexity
The combinatorial complexity of a planar subdivision is the total number of vertices, edges, and faces in it. Corresponds to the output-size of an algorithm which computes it. Theorem: For a set 𝑃 of 𝑛≥3 points in the plane, the Voronoi graph 𝑉𝑜𝑟(𝑃) has: 𝑛 𝑣 ≤2𝑛 – 5 vertices, 𝑛 𝑒 ≤3𝑛 – 6 edges. Proof idea: Treat the Voronoi diagram 𝑉𝑜𝑟(𝑃) as a plane graph, and apply Euler’s formula. From the textbook.
11
Combinatorial Complexity
Theorem: For a set 𝑃 of 𝑛≥3 points in the plane, the Voronoi graph 𝑉𝑜𝑟(𝑃) has: 𝑛 𝑣 ≤2𝑛 – 5 vertices, 𝑛 𝑒 ≤3𝑛 – 6 edges. Proof: Attach half-lines to fresh vertex 𝑣 ∞ . Euler’s formula for connected plane graphs: 𝑚 𝑣 − 𝑚 𝑒 + 𝑚 𝑓 =2. Therefore: (𝑛 𝑣 +1)− 𝑛 𝑒 +𝑛=2. Also: 2 𝑛 𝑒 ≥3( 𝑛 𝑣 +1). The sum of the degree of all vertices is 2 𝑛 𝑒 . The degree of each vertex is at least three. From the textbook.
12
Characterizing Voronoi vertices and edges
Theorem: For the Voronoi graph 𝑉𝑜𝑟(𝑃) of a set of points in the plane: A point 𝑞 is a vertex of 𝑉𝑜𝑟(𝑃) if and only if the largest empty circle centered at 𝑞 contains three or more sites. A bisector of sites 𝑝 𝑖 , 𝑝 𝑗 defines an edge of 𝑉𝑜𝑟(𝑃) if and only if it contains a point 𝑞 such that a circle centered at 𝑞 contains 𝑝 𝑖 , 𝑝 𝑗 and no other sites. From the textbook.
13
A Simple Algorithm for Computing the Voronoi Diagram
Idea: Use observation that 𝑉 𝑝 𝑖 = 𝑗≠𝑖 ℎ( 𝑝 𝑖 , 𝑝 𝑗 ) . Can compute each Voronoi cell 𝑉 𝑝 𝑖 as the intersection of 𝑛−1 half-planes. Takes 𝑂(𝑛 log𝑛)-time using a divide-and- conquer approach and a subroutine for computing the intersection of convex polygons in 𝑂 𝑛 -time. There are 𝑛 Voronoi cells, so total runtime is 𝑂( 𝑛 2 log 𝑛) .
14
Computing the Voronoi Diagram Faster: Fortune’s Algorithm
A plane-sweep algorithm. Computes the Voronoi diagram of 𝑛 point sites in 𝑂(𝑛 log𝑛)-time. Problem: Sites below the sweep line 𝑙 can still affect the part of diagram above the sweep line. Solution: Keep track of the beach line – the set of points for which the sweep line and the closest site above the sweep line are equidistant. Beach line is actually piece-wise quadratic. Breakpoints between piece-wise parabolas “trace out” the edges of the diagram. From the textbook.
15
Two Types of Events Site events: A new site is encountered.
A new arc appears on the beach line. Circle events: The sweep line reaches the bottom of a circle which contains three sites with consecutive arcs on the beach line. An arc may disappear from the beach line. Vertices in 𝑉𝑜𝑟(𝑃) are detected through circle events. From the textbook.
16
Demonstration of Fortune’s Algorithm
From Wikipedia.
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.