output-sensitive voronoi diagrams and delaunay triangulations
DESCRIPTION
Voronoi diagrams and their duals, Delaunay triangulations, are used in many areas of computing and the sciences. Starting in 3-dimensions, there is a substantial (i.e. polynomial) difference between the best case and the worst case complexity of these objects when starting with n points. This motivates the search for algorithms that are output-senstiive rather than relying only on worst-case guarantees. In this talk, I will describe a simple, new algorithm for computing Voronoi diagrams in d-dimensions that runs in O(f log n log spread) time, where f is the output size and the spread of the input points is the ratio of the diameter to the closest pair distance. For a wide range of inputs, this is the best known algorithm. The algorithm is novel in the that it turns the classic algorithm of Delaunay refinement for mesh generation on its head, working backwards from a quality mesh to the Delaunay triangulation of the input. Along the way, we will see instances of several other classic problems for which no higher-dimensional results are known, including kinetic convex hulls and splitting Delaunay triangulations.TRANSCRIPT
![Page 1: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/1.jpg)
An Output-Sensitive Algorithm for
Voronoi Diagrams and
Delaunay Triangulations
Don SheehyINRIA Saclay, France
Joint work with Gary Miller at CMU
![Page 2: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/2.jpg)
Voronoi Diagrams
![Page 3: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/3.jpg)
Voronoi DiagramsThe Voronoi cell of p is the set of reverse nearest neighbors of p.
![Page 4: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/4.jpg)
Voronoi DiagramsThe Voronoi cell of p is the set of reverse nearest neighbors of p.
![Page 5: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/5.jpg)
Voronoi DiagramsThe Voronoi cell of p is the set of reverse nearest neighbors of p.
The Voronoi diagram is dual to the Delaunay triangulation.
![Page 6: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/6.jpg)
Voronoi DiagramsThe Voronoi cell of p is the set of reverse nearest neighbors of p.
The Voronoi diagram is dual to the Delaunay triangulation.
![Page 7: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/7.jpg)
Voronoi DiagramsThe Voronoi cell of p is the set of reverse nearest neighbors of p.
The Voronoi diagram is dual to the Delaunay triangulation.
![Page 8: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/8.jpg)
Voronoi DiagramsThe Voronoi cell of p is the set of reverse nearest neighbors of p.
The Voronoi diagram is dual to the Delaunay triangulation.
Voronoi k-face Delaunay (d-k)-face
![Page 9: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/9.jpg)
Voronoi Diagrams and Delaunay triangulations are used everywhere.
![Page 10: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/10.jpg)
Voronoi Diagrams and Delaunay triangulations are used everywhere.
Descartes 1644
![Page 11: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/11.jpg)
Voronoi Diagrams and Delaunay triangulations are used everywhere.
Descartes 1644Dirichlet 1850
![Page 12: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/12.jpg)
Voronoi Diagrams and Delaunay triangulations are used everywhere.
Descartes 1644Dirichlet 1850Snow 1854 (probably a myth, but a fun one)
![Page 13: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/13.jpg)
Voronoi Diagrams and Delaunay triangulations are used everywhere.
Descartes 1644Dirichlet 1850Snow 1854 (probably a myth, but a fun one)Voronoi 1908
![Page 14: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/14.jpg)
Voronoi Diagrams and Delaunay triangulations are used everywhere.
Descartes 1644Dirichlet 1850Snow 1854 (probably a myth, but a fun one)Voronoi 1908Thiessen 1911 (meteorology)
![Page 15: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/15.jpg)
Voronoi Diagrams and Delaunay triangulations are used everywhere.
Descartes 1644Dirichlet 1850Snow 1854 (probably a myth, but a fun one)Voronoi 1908Thiessen 1911 (meteorology)
Geographical Information Systems
![Page 16: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/16.jpg)
Voronoi Diagrams and Delaunay triangulations are used everywhere.
Descartes 1644Dirichlet 1850Snow 1854 (probably a myth, but a fun one)Voronoi 1908Thiessen 1911 (meteorology)
Geographical Information SystemsGraphics
![Page 17: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/17.jpg)
Voronoi Diagrams and Delaunay triangulations are used everywhere.
Descartes 1644Dirichlet 1850Snow 1854 (probably a myth, but a fun one)Voronoi 1908Thiessen 1911 (meteorology)
Geographical Information SystemsGraphicsTopological Data Analysis
![Page 18: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/18.jpg)
Voronoi Diagrams and Delaunay triangulations are used everywhere.
Descartes 1644Dirichlet 1850Snow 1854 (probably a myth, but a fun one)Voronoi 1908Thiessen 1911 (meteorology)
Geographical Information SystemsGraphicsTopological Data AnalysisMesh Generation
![Page 19: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/19.jpg)
Delaunay triangulations and Voronoi diagrams are projections of polyhedra.
![Page 20: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/20.jpg)
Delaunay triangulations and Voronoi diagrams are projections of polyhedra.
![Page 21: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/21.jpg)
Delaunay triangulations and Voronoi diagrams are projections of polyhedra.
![Page 22: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/22.jpg)
Delaunay triangulations and Voronoi diagrams are projections of polyhedra.
![Page 23: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/23.jpg)
Delaunay triangulations and Voronoi diagrams are projections of polyhedra.
![Page 24: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/24.jpg)
Delaunay triangulations and Voronoi diagrams are projections of polyhedra.
Parabolic lifting into d+1 dimensions.
The Delaunay triangulation is the projection of lower hull.
Other liftings yield weighted Delaunay triangulations.
![Page 25: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/25.jpg)
Delaunay triangulations and Voronoi diagrams are projections of polyhedra.
Parabolic lifting into d+1 dimensions.
The Delaunay triangulation is the projection of lower hull.
Other liftings yield weighted Delaunay triangulations.
![Page 26: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/26.jpg)
Delaunay triangulations and Voronoi diagrams are projections of polyhedra.
Parabolic lifting into d+1 dimensions.
The Delaunay triangulation is the projection of lower hull.
Other liftings yield weighted Delaunay triangulations.
![Page 27: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/27.jpg)
Delaunay triangulations and Voronoi diagrams are projections of polyhedra.
Parabolic lifting into d+1 dimensions.
The Delaunay triangulation is the projection of lower hull.
Other liftings yield weighted Delaunay triangulations.
![Page 28: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/28.jpg)
Delaunay triangulations and Voronoi diagrams are projections of polyhedra.
Parabolic lifting into d+1 dimensions.
The Delaunay triangulation is the projection of lower hull.
Other liftings yield weighted Delaunay triangulations.
![Page 29: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/29.jpg)
Weighted Voronoi Diagrams
![Page 30: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/30.jpg)
Weighted Voronoi Diagrams
The diagrams remain piecewise linear.
![Page 31: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/31.jpg)
Weighted Voronoi Diagrams
The diagrams remain piecewise linear.Some points disappear.
![Page 32: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/32.jpg)
Weighted Voronoi Diagrams
The diagrams remain piecewise linear.Some points disappear.Circumballs are replaced by orthoballs.
![Page 33: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/33.jpg)
Weighted Voronoi Diagrams
The diagrams remain piecewise linear.Some points disappear.Circumballs are replaced by orthoballs.
![Page 34: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/34.jpg)
A brief history of Voronoi Diagram algorithms.(Convex Hull)
![Page 35: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/35.jpg)
A brief history of Voronoi Diagram algorithms.
O(n log n+ n!d/2")Chazelle
(Convex Hull)
![Page 36: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/36.jpg)
A brief history of Voronoi Diagram algorithms.
O(n log n+ n!d/2")Chazelle
Avis O(nf)
(Convex Hull)
![Page 37: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/37.jpg)
A brief history of Voronoi Diagram algorithms.
O(n log n+ n!d/2")Chazelle
O(n2 + f log n)Seidel
Avis O(nf)
(Convex Hull)
![Page 38: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/38.jpg)
A brief history of Voronoi Diagram algorithms.
O(n log n+ n!d/2")Chazelle
O(n2 + f log n)Seidel
O(n2! 2!d/2"+1 logO(1) n+ f log n)
Matousek and Schwartzkopf
Avis O(nf)
(Convex Hull)
![Page 39: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/39.jpg)
A brief history of Voronoi Diagram algorithms.
O(n log n+ n!d/2")Chazelle
O(n2 + f log n)Seidel
O(n2! 2!d/2"+1 logO(1) n+ f log n)
Matousek and Schwartzkopf
O(n log f + (nf)1!1
!d/2"+1 logO(1) n)Chan
Avis O(nf)
(Convex Hull)
![Page 40: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/40.jpg)
A brief history of Voronoi Diagram algorithms.
O(n log n+ n!d/2")Chazelle
O(n2 + f log n)Seidel
O(n2! 2!d/2"+1 logO(1) n+ f log n)
Matousek and Schwartzkopf
O(n log f + (nf)1!1
!d/2"+1 logO(1) n)Chan
O((n+ (nf)1!1
!d/2" + fn1! 2
!d/2" ) logO(1) n)Chan, Snoeyink, Yap
Avis O(nf)
(Convex Hull)
![Page 41: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/41.jpg)
A brief history of Voronoi Diagram algorithms.
O(n log n+ n!d/2")Chazelle
O(n2 + f log n)Seidel
O(n2! 2!d/2"+1 logO(1) n+ f log n)
Matousek and Schwartzkopf
O(n log f + (nf)1!1
!d/2"+1 logO(1) n)Chan
O((n+ (nf)1!1
!d/2" + fn1! 2
!d/2" ) logO(1) n)Chan, Snoeyink, Yap
O(f log n log!)Miller and Sheehy(today’s talk)
Avis O(nf)
(Convex Hull)
![Page 42: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/42.jpg)
Mesh Generation
![Page 43: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/43.jpg)
Mesh GenerationDecompose a domain into simple elements.
![Page 44: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/44.jpg)
Mesh GenerationDecompose a domain into simple elements.
![Page 45: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/45.jpg)
Mesh Generation
Mesh Quality
Radius/Edge < const
Decompose a domain into simple elements.
![Page 46: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/46.jpg)
Mesh Generation
X X✓
Mesh Quality
Radius/Edge < const
Decompose a domain into simple elements.
![Page 47: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/47.jpg)
Mesh Generation
X X✓
Mesh Quality
Radius/Edge < const
Conforming to InputDecompose a domain into simple elements.
![Page 48: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/48.jpg)
Mesh Generation
X X✓
Mesh Quality
Radius/Edge < const
Conforming to InputDecompose a domain into simple elements.
![Page 49: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/49.jpg)
Mesh Generation
X X✓
Mesh Quality
Radius/Edge < const
Conforming to InputDecompose a domain into simple elements.
![Page 50: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/50.jpg)
Mesh Generation
X X✓
Mesh Quality
Radius/Edge < const
Conforming to InputDecompose a domain into simple elements.
![Page 51: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/51.jpg)
Mesh Generation
X X✓
Mesh Quality
Radius/Edge < const
Conforming to InputDecompose a domain into simple elements.
Voronoi Diagram
![Page 52: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/52.jpg)
Mesh Generation
X X✓
Mesh Quality
Radius/Edge < const
OutRadius/InRadius < const
Conforming to InputDecompose a domain into simple elements.
Voronoi Diagram
![Page 53: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/53.jpg)
Mesh Generation
X X✓
✓X
Mesh Quality
Radius/Edge < const
OutRadius/InRadius < const
Conforming to InputDecompose a domain into simple elements.
Voronoi Diagram
![Page 54: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/54.jpg)
Mesh Generation
X X✓
✓X
Mesh Quality
Radius/Edge < const
OutRadius/InRadius < const
Conforming to InputDecompose a domain into simple elements.
Voronoi Diagram
![Page 55: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/55.jpg)
Meshing PointsInput: P ! Rd
Output: M " P with a “nice” Voronoi diagram
n = |P |,m = |M |
![Page 56: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/56.jpg)
Meshing PointsInput: P ! Rd
Output: M " P with a “nice” Voronoi diagram
n = |P |,m = |M |
![Page 57: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/57.jpg)
Meshing PointsInput: P ! Rd
Output: M " P with a “nice” Voronoi diagram
n = |P |,m = |M |
![Page 58: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/58.jpg)
Meshing PointsInput: P ! Rd
Output: M " P with a “nice” Voronoi diagram
n = |P |,m = |M |
![Page 59: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/59.jpg)
Meshing PointsInput: P ! Rd
Output: M " P with a “nice” Voronoi diagram
n = |P |,m = |M |
Counterintuitive Fact about Meshing:It’s sometimes easier to build the Voronoi/Delaunay of a superset of the input, than of the input alone.
![Page 60: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/60.jpg)
Meshing Guarantees
Aspect Ratio (quality):
Cell Sizing:
Constant Local Complexity:
Optimality and Running time:
vRv
rvRv
rv! !
lfs(x) := d(x, P \ {NN(x)})
|M | = !(|Optimal|)
Running time: O(n log n+ |M |)
Each cell has at most a constant number of faces.
1
Klfs(v) ! Rv ! Klfs(v)
![Page 61: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/61.jpg)
Mesh Generation in reverse?
Build a quality mesh.
Increase the weights of the input points.
Update the structure for each local change.
![Page 62: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/62.jpg)
Mesh Generation in reverse?
Build a quality mesh.
Increase the weights of the input points.
Update the structure for each local change.
![Page 63: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/63.jpg)
Mesh Generation in reverse?
Build a quality mesh.
Increase the weights of the input points.
Update the structure for each local change.
![Page 64: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/64.jpg)
Mesh Generation in reverse?
Build a quality mesh.
Increase the weights of the input points.
Update the structure for each local change.
![Page 65: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/65.jpg)
Mesh Generation in reverse?
Build a quality mesh.
Increase the weights of the input points.
Update the structure for each local change.
![Page 66: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/66.jpg)
Mesh Generation in reverse?
Build a quality mesh.
Increase the weights of the input points.
Update the structure for each local change.
![Page 67: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/67.jpg)
Mesh Generation in reverse?
Build a quality mesh.
Increase the weights of the input points.
Update the structure for each local change.
![Page 68: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/68.jpg)
Mesh Generation in reverse?
Build a quality mesh.
Increase the weights of the input points.
Update the structure for each local change.
![Page 69: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/69.jpg)
Mesh Generation in reverse?
Build a quality mesh.
Increase the weights of the input points.
Update the structure for each local change.
![Page 70: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/70.jpg)
Mesh Generation in reverse?
Build a quality mesh.
Increase the weights of the input points.
Update the structure for each local change.
![Page 71: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/71.jpg)
Mesh Generation in reverse?
Build a quality mesh.
Increase the weights of the input points.
Update the structure for each local change.
![Page 72: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/72.jpg)
Local changes are flips.
![Page 73: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/73.jpg)
Local changes are flips.
![Page 74: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/74.jpg)
Local changes are flips.
![Page 75: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/75.jpg)
Local changes are flips.
![Page 76: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/76.jpg)
Local changes are flips.
![Page 77: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/77.jpg)
Local changes are flips.
![Page 78: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/78.jpg)
Local changes are flips.
![Page 79: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/79.jpg)
Local changes are flips.
Flips correspond to intersections of the Voronoi diagram of the mesh and the Voronoi diagram of the input points.
![Page 80: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/80.jpg)
Computing the flip times only requires a single determinant computation.
![Page 81: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/81.jpg)
Computing the flip times only requires a single determinant computation.
det
!
"
p1 · · · pd+2
1 · · · 1
!p1!2 · · · !pd+2!2
#
$ = 0d+2 points cospherical iff
![Page 82: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/82.jpg)
Computing the flip times only requires a single determinant computation.
det
!
"
p1 · · · pd+2
1 · · · 1
!p1!2 · · · !pd+2!2
#
$ = 0d+2 points cospherical iff
det
!
"
p1 · · · pd+2
1 · · · 1
!p1!2 " w1 · · · !pd+2!2 " wd+2
#
$ = 0
d+2 weighted points on a common orthosphere iff
![Page 83: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/83.jpg)
Computing the flip times only requires a single determinant computation.
wi =
!
t if pi ! P
0 otherwiseDefine
det
!
"
p1 · · · pd+2
1 · · · 1
!p1!2 · · · !pd+2!2
#
$ = 0d+2 points cospherical iff
det
!
"
p1 · · · pd+2
1 · · · 1
!p1!2 " w1 · · · !pd+2!2 " wd+2
#
$ = 0
d+2 weighted points on a common orthosphere iff
![Page 84: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/84.jpg)
Computing the flip times only requires a single determinant computation.
wi =
!
t if pi ! P
0 otherwiseDefine
det
!
"
p1 · · · pd+2
1 · · · 1
!p1!2 " w1 · · · !pd+2!2 " wd+2
#
$So, is linear in t.
det
!
"
p1 · · · pd+2
1 · · · 1
!p1!2 · · · !pd+2!2
#
$ = 0d+2 points cospherical iff
det
!
"
p1 · · · pd+2
1 · · · 1
!p1!2 " w1 · · · !pd+2!2 " wd+2
#
$ = 0
d+2 weighted points on a common orthosphere iff
![Page 85: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/85.jpg)
The Algorithm
![Page 86: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/86.jpg)
The Algorithm
Add a bounding box around the points.
![Page 87: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/87.jpg)
The Algorithm
Add a bounding box around the points.
Build a quality mesh of the points.
![Page 88: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/88.jpg)
The Algorithm
Add a bounding box around the points.
Build a quality mesh of the points.
Keep potential flips on a heap ordered by flip time.
![Page 89: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/89.jpg)
The Algorithm
Add a bounding box around the points.
Build a quality mesh of the points.
Keep potential flips on a heap ordered by flip time. (flip time is the weight of the input points when the flip happens)
![Page 90: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/90.jpg)
The Algorithm
Add a bounding box around the points.
Build a quality mesh of the points.
Keep potential flips on a heap ordered by flip time. (flip time is the weight of the input points when the flip happens)
Repeatedly pop a flip, attempt to do it, and update.
![Page 91: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/91.jpg)
The Algorithm
Add a bounding box around the points.
Build a quality mesh of the points.
Keep potential flips on a heap ordered by flip time. (flip time is the weight of the input points when the flip happens)
Repeatedly pop a flip, attempt to do it, and update.(at most O(1) new potential flips are added to the heap)
![Page 92: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/92.jpg)
The Algorithm
Add a bounding box around the points.
Build a quality mesh of the points.
Keep potential flips on a heap ordered by flip time. (flip time is the weight of the input points when the flip happens)
Repeatedly pop a flip, attempt to do it, and update.(at most O(1) new potential flips are added to the heap)
When the heap is empty, remove the bounding box and all incident Delaunay faces.
![Page 93: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/93.jpg)
Flips happen at the intersections of Voronoi diagrams.
![Page 94: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/94.jpg)
There are only log(spread) flips per face.
![Page 95: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/95.jpg)
There are only log(spread) flips per face.
![Page 96: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/96.jpg)
There are only log(spread) flips per face.
![Page 97: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/97.jpg)
A summary of the analysis.
![Page 98: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/98.jpg)
A summary of the analysis.
Full dimensional mesh cells intersect output faces at most log(spread) times.
![Page 99: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/99.jpg)
A summary of the analysis.
Full dimensional mesh cells intersect output faces at most log(spread) times.
Since each mesh cell has only a constant number of faces, we only get O(f log(spread)) total flips.
![Page 100: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/100.jpg)
A summary of the analysis.
Full dimensional mesh cells intersect output faces at most log(spread) times.
Since each mesh cell has only a constant number of faces, we only get O(f log(spread)) total flips.
Each flip generates at most O(1) new flips on the heap.
![Page 101: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/101.jpg)
A summary of the analysis.
Full dimensional mesh cells intersect output faces at most log(spread) times.
Since each mesh cell has only a constant number of faces, we only get O(f log(spread)) total flips.
Each flip generates at most O(1) new flips on the heap.
The heap operations require O(log n) time each.
![Page 102: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/102.jpg)
A summary of the analysis.
Full dimensional mesh cells intersect output faces at most log(spread) times.
Since each mesh cell has only a constant number of faces, we only get O(f log(spread)) total flips.
Each flip generates at most O(1) new flips on the heap.
The heap operations require O(log n) time each.
Total running time is O(f log n log (spread)).
![Page 103: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/103.jpg)
Summary
![Page 104: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/104.jpg)
Summary
A new output-sensitive algorithm for Voronoi diagrams and Delaunay triangulations in d-dimensions.
![Page 105: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/105.jpg)
Summary
A new output-sensitive algorithm for Voronoi diagrams and Delaunay triangulations in d-dimensions.
Start with a quality mesh and then remove the Steiner points.
![Page 106: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/106.jpg)
Summary
A new output-sensitive algorithm for Voronoi diagrams and Delaunay triangulations in d-dimensions.
Start with a quality mesh and then remove the Steiner points.
Use geometry to bound the combinatorial changes.
![Page 107: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/107.jpg)
Summary
A new output-sensitive algorithm for Voronoi diagrams and Delaunay triangulations in d-dimensions.
Start with a quality mesh and then remove the Steiner points.
Use geometry to bound the combinatorial changes.
O(f log n log!)Running time:
![Page 108: Output-Sensitive Voronoi Diagrams and Delaunay Triangulations](https://reader035.vdocuments.site/reader035/viewer/2022062418/555097f4b4c9058b208b4741/html5/thumbnails/108.jpg)
Summary
A new output-sensitive algorithm for Voronoi diagrams and Delaunay triangulations in d-dimensions.
Start with a quality mesh and then remove the Steiner points.
Use geometry to bound the combinatorial changes.
O(f log n log!)Running time:
Thank you.