Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.

Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.

Like this presentation? Why not share!

679 views

Published on

No Downloads

Total views

679

On SlideShare

0

From Embeds

0

Number of Embeds

71

Shares

0

Downloads

0

Comments

0

Likes

1

No embeds

No notes for slide

- 1. A New Approach to Output-SensitiveVoronoi DiagramsandDelaunay TriangulationsDon SheehyINRIA Saclay, Francesoon: UConnJoint work with Gary Miller at CMU
- 2. Voronoi Diagrams
- 3. Voronoi DiagramsThe Voronoi cell of p is the set of reverse nearest neighbors of p.
- 4. Voronoi DiagramsThe Voronoi cell of p is the set of reverse nearest neighbors of p.
- 5. Voronoi DiagramsThe Voronoi cell of p is the set of reverse nearest neighbors of p.The Voronoi diagram is dual to the Delaunay triangulation.
- 6. Voronoi DiagramsThe Voronoi cell of p is the set of reverse nearest neighbors of p.The Voronoi diagram is dual to the Delaunay triangulation.
- 7. Voronoi DiagramsThe Voronoi cell of p is the set of reverse nearest neighbors of p.The Voronoi diagram is dual to the Delaunay triangulation.
- 8. 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
- 9. Voronoi Diagrams and Delaunaytriangulations are used everywhere.
- 10. Voronoi Diagrams and Delaunaytriangulations are used everywhere.Geographical Information Systems
- 11. Voronoi Diagrams and Delaunaytriangulations are used everywhere.Geographical Information SystemsGraphics
- 12. Voronoi Diagrams and Delaunaytriangulations are used everywhere.Geographical Information SystemsGraphicsTopological Data Analysis
- 13. Voronoi Diagrams and Delaunaytriangulations are used everywhere.Geographical Information SystemsGraphicsTopological Data AnalysisMesh Generation
- 14. Delaunay triangulations and Voronoidiagrams are projections of polyhedra.
- 15. Delaunay triangulations and Voronoidiagrams 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.(dual to Power diagrams)
- 16. Delaunay triangulations and Voronoidiagrams 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.(dual to Power diagrams)
- 17. Weighted Voronoi Diagrams (aka Power Diagrams)
- 18. Weighted Voronoi Diagrams (aka Power Diagrams)The diagrams remain piecewise linear.
- 19. Weighted Voronoi Diagrams (aka Power Diagrams)The diagrams remain piecewise linear.Some points disappear.
- 20. Weighted Voronoi Diagrams (aka Power Diagrams)The diagrams remain piecewise linear.Some points disappear.Circumballs are replaced by orthoballs.
- 21. Weighted Voronoi Diagrams (aka Power Diagrams)The diagrams remain piecewise linear.Some points disappear.Circumballs are replaced by orthoballs.
- 22. A brief history of Voronoi Diagram algorithms.(Convex Hull)
- 23. A brief history of Voronoi Diagram algorithms.O(n log n + n d/2)Chazelle ’93(Convex Hull)
- 24. A brief history of Voronoi Diagram algorithms.O(n log n + n d/2)Chazelle ’93(Convex Hull)Swart ’85Avis & Fukuda ’92O(nf)
- 25. A brief history of Voronoi Diagram algorithms.O(n log n + n d/2)Chazelle ’93(Convex Hull)Swart ’85Avis & Fukuda ’92O(nf)O(n2+ f log n)Seidel ’86
- 26. A brief history of Voronoi Diagram algorithms.O(n log n + n d/2)Chazelle ’93(Convex Hull)Swart ’85Avis & Fukuda ’92O(nf)O(n2+ f log n)Seidel ’86O(n2− 2d/2 +1 logO(1)n + f log n)Matousek andSchwartzkopf ’92
- 27. A brief history of Voronoi Diagram algorithms.O(n log n + n d/2)Chazelle ’93(Convex Hull)Swart ’85Avis & Fukuda ’92O(nf)O(n2+ f log n)Seidel ’86O(n2− 2d/2 +1 logO(1)n + f log n)Matousek andSchwartzkopf ’92O(n log f + (nf)1− 1d/2 +1 logO(1)n)Chan’96
- 28. A brief history of Voronoi Diagram algorithms.O(n log n + n d/2)Chazelle ’93(Convex Hull)Swart ’85Avis & Fukuda ’92O(nf)O(n2+ f log n)Seidel ’86O(n2− 2d/2 +1 logO(1)n + f log n)Matousek andSchwartzkopf ’92O(n log f + (nf)1− 1d/2 +1 logO(1)n)Chan’96O((n + (nf)1− 1d/2 + fn1− 2d/2 ) logO(1)n)Chan,Snoeyink,Yap ’97
- 29. A brief history of Voronoi Diagram algorithms.O(n log n + n d/2)Chazelle ’93O(f log n log ∆)Miller and Sheehy(today’s talk)(Convex Hull)Swart ’85Avis & Fukuda ’92O(nf)O(n2+ f log n)Seidel ’86O(n2− 2d/2 +1 logO(1)n + f log n)Matousek andSchwartzkopf ’92O(n log f + (nf)1− 1d/2 +1 logO(1)n)Chan’96O((n + (nf)1− 1d/2 + fn1− 2d/2 ) logO(1)n)Chan,Snoeyink,Yap ’97
- 30. Meshing PointsInput: P ⊂ RdOutput: M ⊃ P with a “nice” Voronoi diagramn = |P|, m = |M|
- 31. Meshing PointsInput: P ⊂ RdOutput: M ⊃ P with a “nice” Voronoi diagramn = |P|, m = |M|
- 32. Meshing PointsInput: P ⊂ RdOutput: M ⊃ P with a “nice” Voronoi diagramn = |P|, m = |M|
- 33. Meshing PointsInput: P ⊂ RdOutput: M ⊃ P with a “nice” Voronoi diagramn = |P|, m = |M|
- 34. Meshing PointsInput: P ⊂ RdOutput: M ⊃ P with a “nice” Voronoi diagramn = |P|, m = |M|Counterintuitive Fact about Meshing:It’s sometimes easier to build the Voronoi/Delaunayof a superset of the input, than of the input alone.
- 35. Meshing Guarantees
- 36. Meshing GuaranteesAspect Ratio (quality): vRvrvRvrv≤ τ
- 37. Meshing GuaranteesAspect Ratio (quality):Cell Sizing:vRvrvRvrv≤ τlfs(x) := d(x, P {NN(x)})1Klfs(v) ≤ Rv ≤ Klfs(v)
- 38. Meshing GuaranteesAspect Ratio (quality):Cell Sizing:Constant Local Complexity:vRvrvRvrv≤ τlfs(x) := d(x, P {NN(x)})Each cell has at most a constant number of faces.1Klfs(v) ≤ Rv ≤ Klfs(v)
- 39. Meshing GuaranteesAspect Ratio (quality):Cell Sizing:Constant Local Complexity:Optimal Size:vRvrvRvrv≤ τlfs(x) := d(x, P {NN(x)})|M| = Θ(|Optimal|)Each cell has at most a constant number of faces.1Klfs(v) ≤ Rv ≤ Klfs(v)
- 40. Meshing GuaranteesAspect Ratio (quality):Cell Sizing:Constant Local Complexity:Optimal Size:vRvrvRvrv≤ τ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.1Klfs(v) ≤ Rv ≤ Klfs(v)
- 41. Mesh Generation in reverse?
- 42. Mesh Generation in reverse?Build a quality mesh.
- 43. Mesh Generation in reverse?Build a quality mesh.Increase the weightsof the input points.
- 44. Mesh Generation in reverse?Build a quality mesh.Increase the weightsof the input points.Update the structurefor each local change.
- 45. Mesh Generation in reverse?Build a quality mesh.Increase the weightsof the input points.Update the structurefor each local change.Local changes areflips.
- 46. Mesh Generation in reverse?Build a quality mesh.Increase the weightsof the input points.Update the structurefor each local change.Local changes areflips.
- 47. Mesh Generation in reverse?Build a quality mesh.Increase the weightsof the input points.Update the structurefor each local change.Local changes areflips.
- 48. Mesh Generation in reverse?Build a quality mesh.Increase the weightsof the input points.Update the structurefor each local change.Local changes areflips.
- 49. Mesh Generation in reverse?Build a quality mesh.Increase the weightsof the input points.Update the structurefor each local change.Local changes areflips.
- 50. Mesh Generation in reverse?Build a quality mesh.Increase the weightsof the input points.Update the structurefor each local change.Local changes areflips.
- 51. Mesh Generation in reverse?Build a quality mesh.Increase the weightsof the input points.Update the structurefor each local change.Local changes areflips.
- 52. Mesh Generation in reverse?Build a quality mesh.Increase the weightsof the input points.Update the structurefor each local change.Local changes areflips.
- 53. Mesh Generation in reverse?Build a quality mesh.Increase the weightsof the input points.Update the structurefor each local change.Local changes areflips.
- 54. Mesh Generation in reverse?Build a quality mesh.Increase the weightsof the input points.Update the structurefor each local change.Local changes areflips.
- 55. Mesh Generation in reverse?Build a quality mesh.Increase the weightsof the input points.Update the structurefor each local change.Local changes areflips.
- 56. The Algorithm
- 57. The AlgorithmAdd a bounding box around the points.
- 58. The AlgorithmAdd a bounding box around the points.Build a quality mesh of the points.
- 59. The AlgorithmAdd a bounding box around the points.Build a quality mesh of the points.Keep potential flips on a heap ordered by flip time.
- 60. The AlgorithmAdd 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)
- 61. The AlgorithmAdd 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.
- 62. The AlgorithmAdd 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)
- 63. The AlgorithmAdd 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 andall incident Delaunay faces.
- 64. Local changes are flips.
- 65. Local changes are flips.
- 66. Local changes are flips.
- 67. Local changes are flips.
- 68. Local changes are flips.
- 69. Local changes are flips.
- 70. Local changes are flips.
- 71. Local changes are flips.Flips correspond to intersections of the Voronoi diagram of themesh and the Voronoi diagram of the input points.
- 72. There are only log(spread) flips per face.
- 73. There are only log(spread) flips per face.
- 74. There are only log(spread) flips per face.
- 75. A summary of the analysis.
- 76. A summary of the analysis.Full dimensional mesh cells intersect output faces atmost log(spread) times.
- 77. A summary of the analysis.Full dimensional mesh cells intersect output faces atmost log(spread) times.Since each mesh cell has only a constant number offaces, we only get O(f log(spread)) total flips.
- 78. A summary of the analysis.Full dimensional mesh cells intersect output faces atmost log(spread) times.Since each mesh cell has only a constant number offaces, we only get O(f log(spread)) total flips.Each flip generates at most O(1) new flips on the heap.
- 79. A summary of the analysis.Full dimensional mesh cells intersect output faces atmost log(spread) times.Since each mesh cell has only a constant number offaces, 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.
- 80. A summary of the analysis.Full dimensional mesh cells intersect output faces atmost log(spread) times.Since each mesh cell has only a constant number offaces, 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)).
- 81. Summary
- 82. SummaryA new output-sensitive algorithm for Voronoi diagrams andDelaunay triangulations in d-dimensions.
- 83. SummaryA new output-sensitive algorithm for Voronoi diagrams andDelaunay triangulations in d-dimensions.Start with a quality mesh and then remove the Steiner points.
- 84. SummaryA new output-sensitive algorithm for Voronoi diagrams andDelaunay triangulations in d-dimensions.Start with a quality mesh and then remove the Steiner points.Use geometry to bound the combinatorial changes.
- 85. SummaryA new output-sensitive algorithm for Voronoi diagrams andDelaunay 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:
- 86. SummaryA new output-sensitive algorithm for Voronoi diagrams andDelaunay 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.

No public clipboards found for this slide

×
### Save the most important slides with Clipping

Clipping is a handy way to collect and organize the most important slides from a presentation. You can keep your great finds in clipboards organized around topics.

Be the first to comment