Voronoi Diagrams and Problem Transformations
description
Transcript of Voronoi Diagrams and Problem Transformations
![Page 1: Voronoi Diagrams and Problem Transformations](https://reader035.fdocuments.us/reader035/viewer/2022062410/568164d9550346895dd72054/html5/thumbnails/1.jpg)
Voronoi Diagrams andProblem Transformations
Steven Love, supervised by: Jack Snoeyink and Dave Millman
![Page 2: Voronoi Diagrams and Problem Transformations](https://reader035.fdocuments.us/reader035/viewer/2022062410/568164d9550346895dd72054/html5/thumbnails/2.jpg)
What is a Voronoi Diagram? A spatial decomposition
A set of polygons A set of polyhedra
Vanhoutte 2009
![Page 3: Voronoi Diagrams and Problem Transformations](https://reader035.fdocuments.us/reader035/viewer/2022062410/568164d9550346895dd72054/html5/thumbnails/3.jpg)
What is a Voronoi Diagram?
Given n Sites Special points in the space
Create n Cells Regions of points that are
closest to each site
![Page 4: Voronoi Diagrams and Problem Transformations](https://reader035.fdocuments.us/reader035/viewer/2022062410/568164d9550346895dd72054/html5/thumbnails/4.jpg)
What is a Voronoi Diagram?
Given n Sites Special points in the space
Create n Cells Regions of points that are
closest to each site
![Page 5: Voronoi Diagrams and Problem Transformations](https://reader035.fdocuments.us/reader035/viewer/2022062410/568164d9550346895dd72054/html5/thumbnails/5.jpg)
Why do we care?
Name FieldDateDiscoveryDescartes Astronomy1644 “Heavens”Dirichlet Math 1850 Dirichlet tesselationVoronoiMath 1908 Voronoi diagramBoldyrev Geology 1909 area of influence polygonsThiessen Meteorology 1911 Thiessen polygonsNiggli Crystallography 1927 domains of actionWigner & Seitz Physics 1933 Wigner-Seitz regionsFrank & Casper Physics 1958 atom domainsBrown Ecology 1965 areas potentially availableMead Ecology 1966 plant polygonsHoofd et al. Anatomy 1985 capillary domainsIcke Astronomy1987 Voronoi diagram
Okabe et al. Spatial Tessellations
![Page 6: Voronoi Diagrams and Problem Transformations](https://reader035.fdocuments.us/reader035/viewer/2022062410/568164d9550346895dd72054/html5/thumbnails/6.jpg)
Why do we care? Examples
Post Office Problem
Toxic Waste Dump
Max-clearance path planning
Delaunay Triangulation
![Page 7: Voronoi Diagrams and Problem Transformations](https://reader035.fdocuments.us/reader035/viewer/2022062410/568164d9550346895dd72054/html5/thumbnails/7.jpg)
Why do we care? Examples
Post Office Problem
![Page 8: Voronoi Diagrams and Problem Transformations](https://reader035.fdocuments.us/reader035/viewer/2022062410/568164d9550346895dd72054/html5/thumbnails/8.jpg)
Why do we care? Examples
Trash Cans in Sitterson
![Page 9: Voronoi Diagrams and Problem Transformations](https://reader035.fdocuments.us/reader035/viewer/2022062410/568164d9550346895dd72054/html5/thumbnails/9.jpg)
Discretized Voronoi Diagram n Sites
n Cells
U x U Grid
U^2 Pixels
![Page 10: Voronoi Diagrams and Problem Transformations](https://reader035.fdocuments.us/reader035/viewer/2022062410/568164d9550346895dd72054/html5/thumbnails/10.jpg)
s
Discretized Voronoi Diagram n Sites
n Cells
U x U Grid
U^2 Pixels
![Page 11: Voronoi Diagrams and Problem Transformations](https://reader035.fdocuments.us/reader035/viewer/2022062410/568164d9550346895dd72054/html5/thumbnails/11.jpg)
s
Discretized Voronoi Diagram n Sites
n Cells
U x U Grid
U^2 Pixels
![Page 12: Voronoi Diagrams and Problem Transformations](https://reader035.fdocuments.us/reader035/viewer/2022062410/568164d9550346895dd72054/html5/thumbnails/12.jpg)
Discretized Voronoi Diagram 2 sites
2 cells
5x5 grid
25 pixels
MathWorks MATLAB R2012a Documentation for bwdist
D is ‘distance’ transform, IDX is discrete Voronoi
![Page 13: Voronoi Diagrams and Problem Transformations](https://reader035.fdocuments.us/reader035/viewer/2022062410/568164d9550346895dd72054/html5/thumbnails/13.jpg)
Background (Precision of Algorithms) Idea: minimize arithmetic precision requirements
Liotta, Preparata, and Tamassia “degree-driven analysis of algorithms”
Example: Testing pixel ‘q’ to see which site (‘i’ or ‘j’) is closer,
given their coordinates
intermediate calculations use twice as many bits as input
![Page 14: Voronoi Diagrams and Problem Transformations](https://reader035.fdocuments.us/reader035/viewer/2022062410/568164d9550346895dd72054/html5/thumbnails/14.jpg)
Background (Precision of Algorithms)Name Name Time Degree Time DegreeFortune Fortune O(n lg n) 5 O(lg n) 6Breu et al. Breu et al. O(U^2) 4 O(1) 0Hoff et al. Hoff et al. O(n*U^2) Z-buffer O(1) 0Maurer, Chan
Maurer, Chan
O(U^2) 3 O(1) 0
Us 1 Our UsqLgU
O(U^2 lg U)
2 O(1) 0
Us 2 Our Usq O(U^2) 2 O(1) 0
Name Time Degree Time DegreeFortune O(n lg n) 5 O(lg n) 6Breu et al.Hoff et al.Maurer, ChanOur UsqLgUOur Usq
![Page 15: Voronoi Diagrams and Problem Transformations](https://reader035.fdocuments.us/reader035/viewer/2022062410/568164d9550346895dd72054/html5/thumbnails/15.jpg)
Background (Precision of Algorithms)
McNeill, 2008
Name Time Degree Time DegreeFortune O(n lg n) 5 O(lg n) 6Breu et al. O(U^2) 4 O(1) 0Hoff et al.Maurer, ChanOur UsqLgUOur Usq
![Page 16: Voronoi Diagrams and Problem Transformations](https://reader035.fdocuments.us/reader035/viewer/2022062410/568164d9550346895dd72054/html5/thumbnails/16.jpg)
Background (Precision of Algorithms)Name Time Degree Time DegreeFortune O(n lg n) 5 O(lg n) 6Breu et al. O(U^2) 4 O(1) 0Hoff et al. O(n*U^2) Z-buffer O(1) 0Maurer, ChanOur UsqLgUOur Usq
![Page 17: Voronoi Diagrams and Problem Transformations](https://reader035.fdocuments.us/reader035/viewer/2022062410/568164d9550346895dd72054/html5/thumbnails/17.jpg)
Background (Precision of Algorithms)Name Time Degree Time DegreeFortune O(n lg n) 5 O(lg n) 6Breu et al. O(U^2) 4 O(1) 0Hoff et al. O(n*U^2) Z-buffer O(1) 0Maurer, Chan
O(U^2) 3 O(1) 0
Our UsqLgUOur Usq
![Page 18: Voronoi Diagrams and Problem Transformations](https://reader035.fdocuments.us/reader035/viewer/2022062410/568164d9550346895dd72054/html5/thumbnails/18.jpg)
Background (Precision of Algorithms)Name Time Degree Time DegreeFortune O(n lg n) 5 O(lg n) 6Breu et al. O(U^2) 4 O(1) 0Hoff et al. O(n*U^2) Z-buffer O(1) 0Maurer, Chan O(U^2) 3 O(1) 0Our UsqLgU O(U^2 lg U) 2 O(1) 0Our Usq
![Page 19: Voronoi Diagrams and Problem Transformations](https://reader035.fdocuments.us/reader035/viewer/2022062410/568164d9550346895dd72054/html5/thumbnails/19.jpg)
Background (Precision of Algorithms)asdfasdfasdName Time Degree Time Degree
Fortune O(n lg n) 5 O(lg n) 6Breu et al. O(U^2) 4 O(1) 0Hoff et al. O(n*U^2) Z-buffer O(1) 0Maurer, Chan O(U^2) 3 O(1) 0Our UsqLgU O(U^2 lg U) 2 O(1) 0Our Usq O(U^2) 2 O(1) 0
![Page 20: Voronoi Diagrams and Problem Transformations](https://reader035.fdocuments.us/reader035/viewer/2022062410/568164d9550346895dd72054/html5/thumbnails/20.jpg)
Experimental Data Precision
Speed
Chan
![Page 21: Voronoi Diagrams and Problem Transformations](https://reader035.fdocuments.us/reader035/viewer/2022062410/568164d9550346895dd72054/html5/thumbnails/21.jpg)
Problem Transformation Problem: compute discrete Voronoi on a U x U
grid
Split into U different sub-problems
Each sub-problem computes one row
![Page 22: Voronoi Diagrams and Problem Transformations](https://reader035.fdocuments.us/reader035/viewer/2022062410/568164d9550346895dd72054/html5/thumbnails/22.jpg)
Problem Transformation Find the site s that minimizes distance to pixel
p
Minimize
Minimize
Maximize
Maximize
![Page 23: Voronoi Diagrams and Problem Transformations](https://reader035.fdocuments.us/reader035/viewer/2022062410/568164d9550346895dd72054/html5/thumbnails/23.jpg)
Problem TransformationMaximize
Maximize
![Page 24: Voronoi Diagrams and Problem Transformations](https://reader035.fdocuments.us/reader035/viewer/2022062410/568164d9550346895dd72054/html5/thumbnails/24.jpg)
Upper Envelope Set of line segments that are higher than all
other lines
Include segments with Greatest y for a chosen x
![Page 25: Voronoi Diagrams and Problem Transformations](https://reader035.fdocuments.us/reader035/viewer/2022062410/568164d9550346895dd72054/html5/thumbnails/25.jpg)
Discrete Upper Envelope For each x in [1,U] we assign the index of the
highest line
A naïve algorithm is O(n*U) for n lines
![Page 26: Voronoi Diagrams and Problem Transformations](https://reader035.fdocuments.us/reader035/viewer/2022062410/568164d9550346895dd72054/html5/thumbnails/26.jpg)
Discrete Upper Envelope We calculate U DUEs, one for each row
DUEs consist of subsets of lines of the form y = a*x + b
a is degree 1, b is degree 2
Goal: compute the DUE in O(U) and degree 2
![Page 27: Voronoi Diagrams and Problem Transformations](https://reader035.fdocuments.us/reader035/viewer/2022062410/568164d9550346895dd72054/html5/thumbnails/27.jpg)
Discrete Upper Envelope Lower Convex Hull: O(U) time, degree 3
Binary Search
Randomization
![Page 28: Voronoi Diagrams and Problem Transformations](https://reader035.fdocuments.us/reader035/viewer/2022062410/568164d9550346895dd72054/html5/thumbnails/28.jpg)
Discrete Upper Envelope Lower Convex Hull: O(U) time, degree 3
Binary Search: O(U lg U) time, degree 2
Randomization
![Page 29: Voronoi Diagrams and Problem Transformations](https://reader035.fdocuments.us/reader035/viewer/2022062410/568164d9550346895dd72054/html5/thumbnails/29.jpg)
Discrete Upper Envelope Lower Convex Hull: O(U) time, degree 3
Binary Search: O(U lg U) time, degree 2
Randomization: O(U) expected time, degree 2
![Page 30: Voronoi Diagrams and Problem Transformations](https://reader035.fdocuments.us/reader035/viewer/2022062410/568164d9550346895dd72054/html5/thumbnails/30.jpg)
Timings for computing Discrete Voronoi Lower Convex Hull
Chan Binary Search
UsqLgU Randomization
Usq Chan
![Page 31: Voronoi Diagrams and Problem Transformations](https://reader035.fdocuments.us/reader035/viewer/2022062410/568164d9550346895dd72054/html5/thumbnails/31.jpg)
Future Work
Minimizing degrees of other geometric algorithms
Visualizations for these complex algorithms