SlideShare ist ein Scribd-Unternehmen logo
1 von 108
Downloaden Sie, um offline zu lesen
An Output-Sensitive Algorithm for
     Voronoi Diagrams
               and
Delaunay Triangulations


           Don Sheehy
       INRIA Saclay, France


 Joint work with Gary Miller at CMU
Voronoi Diagrams
Voronoi Diagrams
The Voronoi cell of p is the set of reverse nearest neighbors of p.
Voronoi Diagrams
The Voronoi cell of p is the set of reverse nearest neighbors of p.
Voronoi Diagrams
The Voronoi cell of p is the set of reverse nearest neighbors of p.




    The Voronoi diagram is dual to the Delaunay triangulation.
Voronoi Diagrams
The Voronoi cell of p is the set of reverse nearest neighbors of p.




    The Voronoi diagram is dual to the Delaunay triangulation.
Voronoi Diagrams
The Voronoi cell of p is the set of reverse nearest neighbors of p.




    The Voronoi diagram is dual to the Delaunay triangulation.
Voronoi Diagrams
The 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
Voronoi Diagrams and Delaunay
triangulations are used everywhere.
Voronoi Diagrams and Delaunay
triangulations are used everywhere.

  Descartes 1644
Voronoi Diagrams and Delaunay
triangulations are used everywhere.

  Descartes 1644
  Dirichlet 1850
Voronoi Diagrams and Delaunay
triangulations are used everywhere.

  Descartes 1644
  Dirichlet 1850
  Snow 1854 (probably a myth, but a fun one)
Voronoi Diagrams and Delaunay
triangulations are used everywhere.

  Descartes 1644
  Dirichlet 1850
  Snow 1854 (probably a myth, but a fun one)
  Voronoi 1908
Voronoi Diagrams and Delaunay
triangulations are used everywhere.

  Descartes 1644
  Dirichlet 1850
  Snow 1854 (probably a myth, but a fun one)
  Voronoi 1908
  Thiessen 1911 (meteorology)
Voronoi Diagrams and Delaunay
triangulations are used everywhere.

  Descartes 1644
  Dirichlet 1850
  Snow 1854 (probably a myth, but a fun one)
  Voronoi 1908
  Thiessen 1911 (meteorology)

  Geographical Information Systems
Voronoi Diagrams and Delaunay
triangulations are used everywhere.

  Descartes 1644
  Dirichlet 1850
  Snow 1854 (probably a myth, but a fun one)
  Voronoi 1908
  Thiessen 1911 (meteorology)

  Geographical Information Systems
  Graphics
Voronoi Diagrams and Delaunay
triangulations are used everywhere.

  Descartes 1644
  Dirichlet 1850
  Snow 1854 (probably a myth, but a fun one)
  Voronoi 1908
  Thiessen 1911 (meteorology)

  Geographical Information Systems
  Graphics
  Topological Data Analysis
Voronoi Diagrams and Delaunay
triangulations are used everywhere.

  Descartes 1644
  Dirichlet 1850
  Snow 1854 (probably a myth, but a fun one)
  Voronoi 1908
  Thiessen 1911 (meteorology)

  Geographical Information Systems
  Graphics
  Topological Data Analysis
  Mesh Generation
Delaunay triangulations and Voronoi
diagrams are projections of polyhedra.
Delaunay triangulations and Voronoi
diagrams are projections of polyhedra.
Delaunay triangulations and Voronoi
diagrams are projections of polyhedra.
Delaunay triangulations and Voronoi
diagrams are projections of polyhedra.
Delaunay triangulations and Voronoi
diagrams are projections of polyhedra.
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.
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.
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.
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.
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.
Weighted Voronoi Diagrams
Weighted Voronoi Diagrams




  The diagrams remain piecewise linear.
Weighted Voronoi Diagrams




  The diagrams remain piecewise linear.
  Some points disappear.
Weighted Voronoi Diagrams




  The diagrams remain piecewise linear.
  Some points disappear.
  Circumballs are replaced by orthoballs.
Weighted Voronoi Diagrams




  The diagrams remain piecewise linear.
  Some points disappear.
  Circumballs are replaced by orthoballs.
(Convex Hull)
A brief history of Voronoi Diagram algorithms.
(Convex Hull)
A brief history of Voronoi Diagram algorithms.
                            d/2
 Chazelle   O(n log n + n         )
(Convex Hull)
A brief history of Voronoi Diagram algorithms.
                            d/2
 Chazelle   O(n log n + n         )
 Avis       O(nf )
(Convex Hull)
A brief history of Voronoi Diagram algorithms.
                            d/2
 Chazelle   O(n log n + n         )
 Avis       O(nf )
               2
 Seidel     O(n + f log n)
(Convex Hull)
A brief history of Voronoi Diagram algorithms.
                                 d/2
 Chazelle     O(n log n + n             )
 Avis         O(nf )
                 2
 Seidel      O(n + f log n)
 Matousek and     2−     2
                                      O(1)
 Schwartzkopf O(n
                       d/2 +1   log          n + f log n)
(Convex Hull)
A brief history of Voronoi Diagram algorithms.
                                 d/2
 Chazelle     O(n log n + n             )
 Avis         O(nf )
                  2
 Seidel      O(n + f log n)
 Matousek and     2−     2
                                      O(1)
 Schwartzkopf O(n
                       d/2 +1   log          n + f log n)
                                              1
                                      1−                   O(1)
 Chan         O(n log f + (nf )             d/2 +1   log          n)
(Convex Hull)
A brief history of Voronoi Diagram algorithms.
                                 d/2
 Chazelle     O(n log n + n             )
 Avis         O(nf )
                  2
 Seidel      O(n + f log n)
 Matousek and     2−     2
                                      O(1)
 Schwartzkopf O(n
                       d/2 +1   log          n + f log n)
                                              1
                                      1−                   O(1)
 Chan         O(n log f + (nf )             d/2 +1   log          n)

 Chan,                             1                     2
                             1−                    1−                  O(1)
 Snoeyink,    O((n + (nf )        d/2       + fn        d/2   ) log           n)
 Yap
(Convex Hull)
A brief history of Voronoi Diagram algorithms.
                                     d/2
 Chazelle        O(n log n + n              )
 Avis            O(nf )
                      2
 Seidel         O(n + f log n)
 Matousek and     2−         2
                                          O(1)
 Schwartzkopf O(n
                           d/2 +1   log          n + f log n)
                                                  1
                                          1−                   O(1)
 Chan            O(n log f + (nf )              d/2 +1   log          n)

 Chan,                                 1                     2
                                 1−                    1−                  O(1)
 Snoeyink,       O((n + (nf )         d/2       + fn        d/2   ) log           n)
 Yap

             Miller and Sheehy        O(f log n log ∆)
                (today’s talk)
Mesh Generation
Mesh Generation
Decompose a domain
into simple elements.
Mesh Generation
Decompose a domain
into simple elements.
Mesh Generation
Decompose a domain
                          Mesh Quality
into simple elements.




                        Radius/Edge < const
Mesh Generation
Decompose a domain
                            Mesh Quality
into simple elements.




                        X       ✓          X
                        Radius/Edge < const
Mesh Generation
Decompose a domain
                            Mesh Quality       Conforming to Input
into simple elements.




                        X       ✓          X
                        Radius/Edge < const
Mesh Generation
Decompose a domain
                            Mesh Quality       Conforming to Input
into simple elements.




                        X       ✓          X
                        Radius/Edge < const
Mesh Generation
Decompose a domain
                            Mesh Quality       Conforming to Input
into simple elements.




                        X       ✓          X
                        Radius/Edge < const
Mesh Generation
Decompose a domain
                            Mesh Quality       Conforming to Input
into simple elements.




                        X       ✓          X
                        Radius/Edge < const
Mesh Generation
Decompose a domain
                            Mesh Quality       Conforming to Input
into simple elements.




                        X       ✓          X
                        Radius/Edge < const




   Voronoi Diagram
Mesh Generation
Decompose a domain
                              Mesh Quality           Conforming to Input
into simple elements.




                          X        ✓         X
                           Radius/Edge < const




   Voronoi Diagram      OutRadius/InRadius < const
Mesh Generation
Decompose a domain
                              Mesh Quality           Conforming to Input
into simple elements.




                          X        ✓         X
                           Radius/Edge < const




                              X          ✓
   Voronoi Diagram      OutRadius/InRadius < const
Mesh Generation
Decompose a domain
                              Mesh Quality           Conforming to Input
into simple elements.




                          X        ✓         X
                           Radius/Edge < const




                              X          ✓
   Voronoi Diagram      OutRadius/InRadius < const
Meshing Points
   Input: P ⊂ Rd
   Output: M ⊃ P with a “nice” Voronoi diagram
   n = |P |, m = |M |
Meshing Points
   Input: P ⊂ Rd
   Output: M ⊃ P with a “nice” Voronoi diagram
   n = |P |, m = |M |
Meshing Points
   Input: P ⊂ Rd
   Output: M ⊃ P with a “nice” Voronoi diagram
   n = |P |, m = |M |
Meshing Points
   Input: P ⊂ Rd
   Output: M ⊃ P with a “nice” Voronoi diagram
   n = |P |, m = |M |
Meshing Points
   Input: 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.
Meshing Guarantees
    Aspect Ratio (quality):             v
                                                  Rv
             Rv                             rv
                ≤τ
             rv
    Cell Sizing:
                   lfs(x) := d(x, P  {NN(x)})
                     1
                       lfs(v) ≤ Rv ≤ Klfs(v)
                     K
    Constant Local Complexity:
          Each cell has at most a constant number of faces.

    Optimality and Running time:
                    |M | = Θ(|Optimal|)
         Running time: O(n log n + |M |)
Mesh Generation in reverse?


Build a quality mesh.

Increase the weights
of the input points.

Update the structure
for each local change.
Mesh Generation in reverse?


Build a quality mesh.

Increase the weights
of the input points.

Update the structure
for each local change.
Mesh Generation in reverse?


Build a quality mesh.

Increase the weights
of the input points.

Update the structure
for each local change.
Mesh Generation in reverse?


Build a quality mesh.

Increase the weights
of the input points.

Update the structure
for each local change.
Mesh Generation in reverse?


Build a quality mesh.

Increase the weights
of the input points.

Update the structure
for each local change.
Mesh Generation in reverse?


Build a quality mesh.

Increase the weights
of the input points.

Update the structure
for each local change.
Mesh Generation in reverse?


Build a quality mesh.

Increase the weights
of the input points.

Update the structure
for each local change.
Mesh Generation in reverse?


Build a quality mesh.

Increase the weights
of the input points.

Update the structure
for each local change.
Mesh Generation in reverse?


Build a quality mesh.

Increase the weights
of the input points.

Update the structure
for each local change.
Mesh Generation in reverse?


Build a quality mesh.

Increase the weights
of the input points.

Update the structure
for each local change.
Mesh Generation in reverse?


Build a quality mesh.

Increase the weights
of the input points.

Update the structure
for each local change.
Local changes are flips.
Local changes are flips.
Local changes are flips.
Local changes are flips.
Local changes are flips.
Local changes are flips.
Local changes are flips.
Local changes are flips.




 Flips correspond to intersections of the Voronoi diagram of the
 mesh and the Voronoi diagram of the input points.
Computing the flip times only requires a
single determinant computation.
Computing the flip times only requires a
single determinant computation.
                                  
                                       p1       ···   pd+2
  d+2 points cospherical iff   det     1       ···     1        =0
                                            2                2
                                       p1       ···   pd+2
Computing the flip times only requires a
single determinant computation.
                                  
                                       p1       ···   pd+2
  d+2 points cospherical iff   det     1       ···     1        =0
                                            2                2
                                       p1       ···   pd+2

  d+2 weighted points on a common orthosphere iff
                                            
                 p1       ···      pd+2
       det       1       ···        1       =0
              p1 2 − w 1 · · · pd+2 2 − wd+2
Computing the flip times only requires a
single determinant computation.
                                  
                                       p1       ···   pd+2
  d+2 points cospherical iff   det     1       ···     1        =0
                                            2                2
                                       p1       ···   pd+2

  d+2 weighted points on a common orthosphere iff
                                            
                 p1       ···      pd+2
       det       1       ···        1       =0
              p1 2 − w 1 · · · pd+2 2 − wd+2

                               t if pi ∈ P
             Define   wi =
                               0 otherwise
Computing the flip times only requires a
single determinant computation.
                                  
                                         p1       ···       pd+2
  d+2 points cospherical iff     det     1       ···         1        =0
                                              2                    2
                                         p1       ···       pd+2

  d+2 weighted points on a common orthosphere iff
                                            
                 p1       ···      pd+2
       det       1       ···        1       =0
              p1 2 − w 1 · · · pd+2 2 − wd+2

                                 t if pi ∈ P
              Define   wi =
                                 0 otherwise

                                                       
                 p1        ···        pd+2
 So, det        1         ···          1        is linear in t.
              p1 2 − w 1   ···    pd+2 2 − wd+2
The Algorithm
The Algorithm
   Add a bounding box around the points.
The Algorithm
   Add a bounding box around the points.

   Build a quality mesh of the points.
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.
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)
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.
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)
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.
Flips happen at the intersections of
Voronoi diagrams.
There are only log(spread) flips per face.
There are only log(spread) flips per face.
There are only log(spread) flips per face.
A summary of the analysis.
A summary of the analysis.

   Full dimensional mesh cells intersect output faces at
   most log(spread) times.
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.
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.
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.
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)).
Summary
Summary
 A new output-sensitive algorithm for Voronoi diagrams and
 Delaunay triangulations in d-dimensions.
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.
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.
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.


            Running time:      O(f log n log ∆)
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.


            Running time:      O(f log n log ∆)




         Thank you.

Weitere ähnliche Inhalte

Was ist angesagt?

Half range sine cosine fourier series
Half range sine cosine fourier seriesHalf range sine cosine fourier series
Half range sine cosine fourier seriesHardik Parmar
 
Algorithm Design and Complexity - Course 12
Algorithm Design and Complexity - Course 12Algorithm Design and Complexity - Course 12
Algorithm Design and Complexity - Course 12Traian Rebedea
 
USE OF MATRIX IN ROBOTICS
USE OF MATRIX IN ROBOTICSUSE OF MATRIX IN ROBOTICS
USE OF MATRIX IN ROBOTICSHome
 
5 volumes and solids of revolution i x
5 volumes and solids of revolution i x5 volumes and solids of revolution i x
5 volumes and solids of revolution i xmath266
 
Geometric objects and transformations
Geometric objects and transformationsGeometric objects and transformations
Geometric objects and transformationssaad siddiqui
 
Computer graphics basic transformation
Computer graphics basic transformationComputer graphics basic transformation
Computer graphics basic transformationSelvakumar Gna
 
Matrix 2 d
Matrix 2 dMatrix 2 d
Matrix 2 dxyz120
 
Vector Spaces,subspaces,Span,Basis
Vector Spaces,subspaces,Span,BasisVector Spaces,subspaces,Span,Basis
Vector Spaces,subspaces,Span,BasisRavi Gelani
 
B.tech admission in india
B.tech admission in indiaB.tech admission in india
B.tech admission in indiaEdhole.com
 
Two dimentional transform
Two dimentional transformTwo dimentional transform
Two dimentional transformPatel Punit
 
Introduccio al calculo vectorial
Introduccio  al calculo vectorialIntroduccio  al calculo vectorial
Introduccio al calculo vectorialEDESMITCRUZ1
 
Otter 2016-11-28-01-ss
Otter 2016-11-28-01-ssOtter 2016-11-28-01-ss
Otter 2016-11-28-01-ssRuo Ando
 
A Maximum Flow Min cut theorem for Optimizing Network
A Maximum Flow Min cut theorem for Optimizing NetworkA Maximum Flow Min cut theorem for Optimizing Network
A Maximum Flow Min cut theorem for Optimizing NetworkShethwala Ridhvesh
 
Max flow min cut
Max flow min cutMax flow min cut
Max flow min cutMayank Garg
 
Laplace transform of periodic functions
Laplace transform of periodic functionsLaplace transform of periodic functions
Laplace transform of periodic functionsSyed Saeed
 

Was ist angesagt? (20)

Half range sine cosine fourier series
Half range sine cosine fourier seriesHalf range sine cosine fourier series
Half range sine cosine fourier series
 
0801 ch 8 day 1
0801 ch 8 day 10801 ch 8 day 1
0801 ch 8 day 1
 
Algorithm Design and Complexity - Course 12
Algorithm Design and Complexity - Course 12Algorithm Design and Complexity - Course 12
Algorithm Design and Complexity - Course 12
 
USE OF MATRIX IN ROBOTICS
USE OF MATRIX IN ROBOTICSUSE OF MATRIX IN ROBOTICS
USE OF MATRIX IN ROBOTICS
 
5 volumes and solids of revolution i x
5 volumes and solids of revolution i x5 volumes and solids of revolution i x
5 volumes and solids of revolution i x
 
Geometric objects and transformations
Geometric objects and transformationsGeometric objects and transformations
Geometric objects and transformations
 
Computer graphics basic transformation
Computer graphics basic transformationComputer graphics basic transformation
Computer graphics basic transformation
 
Fourier series 3
Fourier series 3Fourier series 3
Fourier series 3
 
Matrix 2 d
Matrix 2 dMatrix 2 d
Matrix 2 d
 
Vector Spaces,subspaces,Span,Basis
Vector Spaces,subspaces,Span,BasisVector Spaces,subspaces,Span,Basis
Vector Spaces,subspaces,Span,Basis
 
B.tech admission in india
B.tech admission in indiaB.tech admission in india
B.tech admission in india
 
Two dimentional transform
Two dimentional transformTwo dimentional transform
Two dimentional transform
 
Vector spaces
Vector spaces Vector spaces
Vector spaces
 
Introduccio al calculo vectorial
Introduccio  al calculo vectorialIntroduccio  al calculo vectorial
Introduccio al calculo vectorial
 
Otter 2016-11-28-01-ss
Otter 2016-11-28-01-ssOtter 2016-11-28-01-ss
Otter 2016-11-28-01-ss
 
Graph
GraphGraph
Graph
 
A Maximum Flow Min cut theorem for Optimizing Network
A Maximum Flow Min cut theorem for Optimizing NetworkA Maximum Flow Min cut theorem for Optimizing Network
A Maximum Flow Min cut theorem for Optimizing Network
 
Max flow min cut
Max flow min cutMax flow min cut
Max flow min cut
 
Network flows
Network flowsNetwork flows
Network flows
 
Laplace transform of periodic functions
Laplace transform of periodic functionsLaplace transform of periodic functions
Laplace transform of periodic functions
 

Ähnlich wie Output-Sensitive Voronoi Diagrams and Delaunay Triangulations

AlgoComplexcity.pdf
AlgoComplexcity.pdfAlgoComplexcity.pdf
AlgoComplexcity.pdfsarojsahoo43
 
Mesh Generation and Topological Data Analysis
Mesh Generation and Topological Data AnalysisMesh Generation and Topological Data Analysis
Mesh Generation and Topological Data AnalysisDon Sheehy
 
CS571:: Part of-Speech Tagging
CS571:: Part of-Speech TaggingCS571:: Part of-Speech Tagging
CS571:: Part of-Speech TaggingJinho Choi
 
Class 18: Measuring Cost
Class 18: Measuring CostClass 18: Measuring Cost
Class 18: Measuring CostDavid Evans
 
IGARSS2011-TDX_Kostas_v3.pdf
IGARSS2011-TDX_Kostas_v3.pdfIGARSS2011-TDX_Kostas_v3.pdf
IGARSS2011-TDX_Kostas_v3.pdfgrssieee
 
Interference Management for Multi-hop Networks
Interference Management for Multi-hop NetworksInterference Management for Multi-hop Networks
Interference Management for Multi-hop NetworksMohamed Seif
 
computational stochastic phase-field
computational stochastic phase-fieldcomputational stochastic phase-field
computational stochastic phase-fieldcerniagigante
 
Cosmological Perturbations and Numerical Simulations
Cosmological Perturbations and Numerical SimulationsCosmological Perturbations and Numerical Simulations
Cosmological Perturbations and Numerical SimulationsIan Huston
 
M. Dimitrijević, Noncommutative models of gauge and gravity theories
M. Dimitrijević, Noncommutative models of gauge and gravity theoriesM. Dimitrijević, Noncommutative models of gauge and gravity theories
M. Dimitrijević, Noncommutative models of gauge and gravity theoriesSEENET-MTP
 
Topological Inference via Meshing
Topological Inference via MeshingTopological Inference via Meshing
Topological Inference via MeshingDon Sheehy
 
Topographic graph clustering with kernel and dissimilarity methods
Topographic graph clustering with kernel and dissimilarity methodsTopographic graph clustering with kernel and dissimilarity methods
Topographic graph clustering with kernel and dissimilarity methodstuxette
 
Geometric Separators and the Parabolic Lift
Geometric Separators and the Parabolic LiftGeometric Separators and the Parabolic Lift
Geometric Separators and the Parabolic LiftDon Sheehy
 
6-Nfa & equivalence with RE.pdf
6-Nfa & equivalence with RE.pdf6-Nfa & equivalence with RE.pdf
6-Nfa & equivalence with RE.pdfshruti533256
 
Fuqin Li_A physics-based atmospheric and BRDF correction for Landsat data ove...
Fuqin Li_A physics-based atmospheric and BRDF correction for Landsat data ove...Fuqin Li_A physics-based atmospheric and BRDF correction for Landsat data ove...
Fuqin Li_A physics-based atmospheric and BRDF correction for Landsat data ove...TERN Australia
 
Hidden gates in universe: Wormholes UCEN 2017 by Dr. Ali Övgün
Hidden gates in universe: Wormholes UCEN 2017 by Dr. Ali ÖvgünHidden gates in universe: Wormholes UCEN 2017 by Dr. Ali Övgün
Hidden gates in universe: Wormholes UCEN 2017 by Dr. Ali ÖvgünEastern Mediterranean University
 
Session02 review-laplace and partial fractionl
Session02 review-laplace and partial fractionlSession02 review-laplace and partial fractionl
Session02 review-laplace and partial fractionlAhmad Essam
 

Ähnlich wie Output-Sensitive Voronoi Diagrams and Delaunay Triangulations (20)

AlgoComplexcity.pdf
AlgoComplexcity.pdfAlgoComplexcity.pdf
AlgoComplexcity.pdf
 
Mesh Generation and Topological Data Analysis
Mesh Generation and Topological Data AnalysisMesh Generation and Topological Data Analysis
Mesh Generation and Topological Data Analysis
 
CS571:: Part of-Speech Tagging
CS571:: Part of-Speech TaggingCS571:: Part of-Speech Tagging
CS571:: Part of-Speech Tagging
 
Class 18: Measuring Cost
Class 18: Measuring CostClass 18: Measuring Cost
Class 18: Measuring Cost
 
Analysis of algo
Analysis of algoAnalysis of algo
Analysis of algo
 
IGARSS2011-TDX_Kostas_v3.pdf
IGARSS2011-TDX_Kostas_v3.pdfIGARSS2011-TDX_Kostas_v3.pdf
IGARSS2011-TDX_Kostas_v3.pdf
 
Interference Management for Multi-hop Networks
Interference Management for Multi-hop NetworksInterference Management for Multi-hop Networks
Interference Management for Multi-hop Networks
 
computational stochastic phase-field
computational stochastic phase-fieldcomputational stochastic phase-field
computational stochastic phase-field
 
Cosmological Perturbations and Numerical Simulations
Cosmological Perturbations and Numerical SimulationsCosmological Perturbations and Numerical Simulations
Cosmological Perturbations and Numerical Simulations
 
M. Dimitrijević, Noncommutative models of gauge and gravity theories
M. Dimitrijević, Noncommutative models of gauge and gravity theoriesM. Dimitrijević, Noncommutative models of gauge and gravity theories
M. Dimitrijević, Noncommutative models of gauge and gravity theories
 
Monopole zurich
Monopole zurichMonopole zurich
Monopole zurich
 
Topological Inference via Meshing
Topological Inference via MeshingTopological Inference via Meshing
Topological Inference via Meshing
 
Topographic graph clustering with kernel and dissimilarity methods
Topographic graph clustering with kernel and dissimilarity methodsTopographic graph clustering with kernel and dissimilarity methods
Topographic graph clustering with kernel and dissimilarity methods
 
Chapter 12
Chapter 12Chapter 12
Chapter 12
 
Geometric Separators and the Parabolic Lift
Geometric Separators and the Parabolic LiftGeometric Separators and the Parabolic Lift
Geometric Separators and the Parabolic Lift
 
6-Nfa & equivalence with RE.pdf
6-Nfa & equivalence with RE.pdf6-Nfa & equivalence with RE.pdf
6-Nfa & equivalence with RE.pdf
 
Fuqin Li_A physics-based atmospheric and BRDF correction for Landsat data ove...
Fuqin Li_A physics-based atmospheric and BRDF correction for Landsat data ove...Fuqin Li_A physics-based atmospheric and BRDF correction for Landsat data ove...
Fuqin Li_A physics-based atmospheric and BRDF correction for Landsat data ove...
 
Hidden gates in universe: Wormholes UCEN 2017 by Dr. Ali Övgün
Hidden gates in universe: Wormholes UCEN 2017 by Dr. Ali ÖvgünHidden gates in universe: Wormholes UCEN 2017 by Dr. Ali Övgün
Hidden gates in universe: Wormholes UCEN 2017 by Dr. Ali Övgün
 
Optics geometry
Optics geometryOptics geometry
Optics geometry
 
Session02 review-laplace and partial fractionl
Session02 review-laplace and partial fractionlSession02 review-laplace and partial fractionl
Session02 review-laplace and partial fractionl
 

Mehr von Don Sheehy

Some Thoughts on Sampling
Some Thoughts on SamplingSome Thoughts on Sampling
Some Thoughts on SamplingDon Sheehy
 
Characterizing the Distortion of Some Simple Euclidean Embeddings
Characterizing the Distortion of Some Simple Euclidean EmbeddingsCharacterizing the Distortion of Some Simple Euclidean Embeddings
Characterizing the Distortion of Some Simple Euclidean EmbeddingsDon Sheehy
 
Sensors and Samples: A Homological Approach
Sensors and Samples:  A Homological ApproachSensors and Samples:  A Homological Approach
Sensors and Samples: A Homological ApproachDon Sheehy
 
Persistent Homology and Nested Dissection
Persistent Homology and Nested DissectionPersistent Homology and Nested Dissection
Persistent Homology and Nested DissectionDon Sheehy
 
The Persistent Homology of Distance Functions under Random Projection
The Persistent Homology of Distance Functions under Random ProjectionThe Persistent Homology of Distance Functions under Random Projection
The Persistent Homology of Distance Functions under Random ProjectionDon Sheehy
 
Geometric and Topological Data Analysis
Geometric and Topological Data AnalysisGeometric and Topological Data Analysis
Geometric and Topological Data AnalysisDon Sheehy
 
Optimal Meshing
Optimal MeshingOptimal Meshing
Optimal MeshingDon Sheehy
 
SOCG: Linear-Size Approximations to the Vietoris-Rips Filtration
SOCG: Linear-Size Approximations to the Vietoris-Rips FiltrationSOCG: Linear-Size Approximations to the Vietoris-Rips Filtration
SOCG: Linear-Size Approximations to the Vietoris-Rips FiltrationDon Sheehy
 
Linear-Size Approximations to the Vietoris-Rips Filtration - Presented at Uni...
Linear-Size Approximations to the Vietoris-Rips Filtration - Presented at Uni...Linear-Size Approximations to the Vietoris-Rips Filtration - Presented at Uni...
Linear-Size Approximations to the Vietoris-Rips Filtration - Presented at Uni...Don Sheehy
 
Minimax Rates for Homology Inference
Minimax Rates for Homology InferenceMinimax Rates for Homology Inference
Minimax Rates for Homology InferenceDon Sheehy
 
A Multicover Nerve for Geometric Inference
A Multicover Nerve for Geometric InferenceA Multicover Nerve for Geometric Inference
A Multicover Nerve for Geometric InferenceDon Sheehy
 
ATMCS: Linear-Size Approximations to the Vietoris-Rips Filtration
ATMCS: Linear-Size Approximations to the Vietoris-Rips FiltrationATMCS: Linear-Size Approximations to the Vietoris-Rips Filtration
ATMCS: Linear-Size Approximations to the Vietoris-Rips FiltrationDon Sheehy
 
New Bounds on the Size of Optimal Meshes
New Bounds on the Size of Optimal MeshesNew Bounds on the Size of Optimal Meshes
New Bounds on the Size of Optimal MeshesDon Sheehy
 
Flips in Computational Geometry
Flips in Computational GeometryFlips in Computational Geometry
Flips in Computational GeometryDon Sheehy
 
Beating the Spread: Time-Optimal Point Meshing
Beating the Spread: Time-Optimal Point MeshingBeating the Spread: Time-Optimal Point Meshing
Beating the Spread: Time-Optimal Point MeshingDon Sheehy
 
Ball Packings and Fat Voronoi Diagrams
Ball Packings and Fat Voronoi DiagramsBall Packings and Fat Voronoi Diagrams
Ball Packings and Fat Voronoi DiagramsDon Sheehy
 
Learning with Nets and Meshes
Learning with Nets and MeshesLearning with Nets and Meshes
Learning with Nets and MeshesDon Sheehy
 
On Nets and Meshes
On Nets and MeshesOn Nets and Meshes
On Nets and MeshesDon Sheehy
 
Topological Inference via Meshing
Topological Inference via MeshingTopological Inference via Meshing
Topological Inference via MeshingDon Sheehy
 
Geometry, Topology, and all of Your Wildest Dreams Will Come True
Geometry, Topology, and all of Your Wildest Dreams Will Come TrueGeometry, Topology, and all of Your Wildest Dreams Will Come True
Geometry, Topology, and all of Your Wildest Dreams Will Come TrueDon Sheehy
 

Mehr von Don Sheehy (20)

Some Thoughts on Sampling
Some Thoughts on SamplingSome Thoughts on Sampling
Some Thoughts on Sampling
 
Characterizing the Distortion of Some Simple Euclidean Embeddings
Characterizing the Distortion of Some Simple Euclidean EmbeddingsCharacterizing the Distortion of Some Simple Euclidean Embeddings
Characterizing the Distortion of Some Simple Euclidean Embeddings
 
Sensors and Samples: A Homological Approach
Sensors and Samples:  A Homological ApproachSensors and Samples:  A Homological Approach
Sensors and Samples: A Homological Approach
 
Persistent Homology and Nested Dissection
Persistent Homology and Nested DissectionPersistent Homology and Nested Dissection
Persistent Homology and Nested Dissection
 
The Persistent Homology of Distance Functions under Random Projection
The Persistent Homology of Distance Functions under Random ProjectionThe Persistent Homology of Distance Functions under Random Projection
The Persistent Homology of Distance Functions under Random Projection
 
Geometric and Topological Data Analysis
Geometric and Topological Data AnalysisGeometric and Topological Data Analysis
Geometric and Topological Data Analysis
 
Optimal Meshing
Optimal MeshingOptimal Meshing
Optimal Meshing
 
SOCG: Linear-Size Approximations to the Vietoris-Rips Filtration
SOCG: Linear-Size Approximations to the Vietoris-Rips FiltrationSOCG: Linear-Size Approximations to the Vietoris-Rips Filtration
SOCG: Linear-Size Approximations to the Vietoris-Rips Filtration
 
Linear-Size Approximations to the Vietoris-Rips Filtration - Presented at Uni...
Linear-Size Approximations to the Vietoris-Rips Filtration - Presented at Uni...Linear-Size Approximations to the Vietoris-Rips Filtration - Presented at Uni...
Linear-Size Approximations to the Vietoris-Rips Filtration - Presented at Uni...
 
Minimax Rates for Homology Inference
Minimax Rates for Homology InferenceMinimax Rates for Homology Inference
Minimax Rates for Homology Inference
 
A Multicover Nerve for Geometric Inference
A Multicover Nerve for Geometric InferenceA Multicover Nerve for Geometric Inference
A Multicover Nerve for Geometric Inference
 
ATMCS: Linear-Size Approximations to the Vietoris-Rips Filtration
ATMCS: Linear-Size Approximations to the Vietoris-Rips FiltrationATMCS: Linear-Size Approximations to the Vietoris-Rips Filtration
ATMCS: Linear-Size Approximations to the Vietoris-Rips Filtration
 
New Bounds on the Size of Optimal Meshes
New Bounds on the Size of Optimal MeshesNew Bounds on the Size of Optimal Meshes
New Bounds on the Size of Optimal Meshes
 
Flips in Computational Geometry
Flips in Computational GeometryFlips in Computational Geometry
Flips in Computational Geometry
 
Beating the Spread: Time-Optimal Point Meshing
Beating the Spread: Time-Optimal Point MeshingBeating the Spread: Time-Optimal Point Meshing
Beating the Spread: Time-Optimal Point Meshing
 
Ball Packings and Fat Voronoi Diagrams
Ball Packings and Fat Voronoi DiagramsBall Packings and Fat Voronoi Diagrams
Ball Packings and Fat Voronoi Diagrams
 
Learning with Nets and Meshes
Learning with Nets and MeshesLearning with Nets and Meshes
Learning with Nets and Meshes
 
On Nets and Meshes
On Nets and MeshesOn Nets and Meshes
On Nets and Meshes
 
Topological Inference via Meshing
Topological Inference via MeshingTopological Inference via Meshing
Topological Inference via Meshing
 
Geometry, Topology, and all of Your Wildest Dreams Will Come True
Geometry, Topology, and all of Your Wildest Dreams Will Come TrueGeometry, Topology, and all of Your Wildest Dreams Will Come True
Geometry, Topology, and all of Your Wildest Dreams Will Come True
 

Output-Sensitive Voronoi Diagrams and Delaunay Triangulations

  • 1. An Output-Sensitive Algorithm for Voronoi Diagrams and Delaunay Triangulations Don Sheehy INRIA Saclay, France Joint work with Gary Miller at CMU
  • 3. Voronoi Diagrams The Voronoi cell of p is the set of reverse nearest neighbors of p.
  • 4. Voronoi Diagrams The Voronoi cell of p is the set of reverse nearest neighbors of p.
  • 5. Voronoi Diagrams The Voronoi cell of p is the set of reverse nearest neighbors of p. The Voronoi diagram is dual to the Delaunay triangulation.
  • 6. Voronoi Diagrams The Voronoi cell of p is the set of reverse nearest neighbors of p. The Voronoi diagram is dual to the Delaunay triangulation.
  • 7. Voronoi Diagrams The Voronoi cell of p is the set of reverse nearest neighbors of p. The Voronoi diagram is dual to the Delaunay triangulation.
  • 8. Voronoi Diagrams The 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 Delaunay triangulations are used everywhere.
  • 10. Voronoi Diagrams and Delaunay triangulations are used everywhere. Descartes 1644
  • 11. Voronoi Diagrams and Delaunay triangulations are used everywhere. Descartes 1644 Dirichlet 1850
  • 12. Voronoi Diagrams and Delaunay triangulations are used everywhere. Descartes 1644 Dirichlet 1850 Snow 1854 (probably a myth, but a fun one)
  • 13. Voronoi Diagrams and Delaunay triangulations are used everywhere. Descartes 1644 Dirichlet 1850 Snow 1854 (probably a myth, but a fun one) Voronoi 1908
  • 14. Voronoi Diagrams and Delaunay triangulations are used everywhere. Descartes 1644 Dirichlet 1850 Snow 1854 (probably a myth, but a fun one) Voronoi 1908 Thiessen 1911 (meteorology)
  • 15. Voronoi Diagrams and Delaunay triangulations are used everywhere. Descartes 1644 Dirichlet 1850 Snow 1854 (probably a myth, but a fun one) Voronoi 1908 Thiessen 1911 (meteorology) Geographical Information Systems
  • 16. Voronoi Diagrams and Delaunay triangulations are used everywhere. Descartes 1644 Dirichlet 1850 Snow 1854 (probably a myth, but a fun one) Voronoi 1908 Thiessen 1911 (meteorology) Geographical Information Systems Graphics
  • 17. Voronoi Diagrams and Delaunay triangulations are used everywhere. Descartes 1644 Dirichlet 1850 Snow 1854 (probably a myth, but a fun one) Voronoi 1908 Thiessen 1911 (meteorology) Geographical Information Systems Graphics Topological Data Analysis
  • 18. Voronoi Diagrams and Delaunay triangulations are used everywhere. Descartes 1644 Dirichlet 1850 Snow 1854 (probably a myth, but a fun one) Voronoi 1908 Thiessen 1911 (meteorology) Geographical Information Systems Graphics Topological Data Analysis Mesh Generation
  • 19. Delaunay triangulations and Voronoi diagrams are projections of polyhedra.
  • 20. Delaunay triangulations and Voronoi diagrams are projections of polyhedra.
  • 21. Delaunay triangulations and Voronoi diagrams are projections of polyhedra.
  • 22. Delaunay triangulations and Voronoi diagrams are projections of polyhedra.
  • 23. Delaunay triangulations and Voronoi diagrams are projections of polyhedra.
  • 24. 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.
  • 25. 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.
  • 26. 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.
  • 27. 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.
  • 28. 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.
  • 30. Weighted Voronoi Diagrams The diagrams remain piecewise linear.
  • 31. Weighted Voronoi Diagrams The diagrams remain piecewise linear. Some points disappear.
  • 32. Weighted Voronoi Diagrams The diagrams remain piecewise linear. Some points disappear. Circumballs are replaced by orthoballs.
  • 33. Weighted Voronoi Diagrams The diagrams remain piecewise linear. Some points disappear. Circumballs are replaced by orthoballs.
  • 34. (Convex Hull) A brief history of Voronoi Diagram algorithms.
  • 35. (Convex Hull) A brief history of Voronoi Diagram algorithms. d/2 Chazelle O(n log n + n )
  • 36. (Convex Hull) A brief history of Voronoi Diagram algorithms. d/2 Chazelle O(n log n + n ) Avis O(nf )
  • 37. (Convex Hull) A brief history of Voronoi Diagram algorithms. d/2 Chazelle O(n log n + n ) Avis O(nf ) 2 Seidel O(n + f log n)
  • 38. (Convex Hull) A brief history of Voronoi Diagram algorithms. d/2 Chazelle O(n log n + n ) Avis O(nf ) 2 Seidel O(n + f log n) Matousek and 2− 2 O(1) Schwartzkopf O(n d/2 +1 log n + f log n)
  • 39. (Convex Hull) A brief history of Voronoi Diagram algorithms. d/2 Chazelle O(n log n + n ) Avis O(nf ) 2 Seidel O(n + f log n) Matousek and 2− 2 O(1) Schwartzkopf O(n d/2 +1 log n + f log n) 1 1− O(1) Chan O(n log f + (nf ) d/2 +1 log n)
  • 40. (Convex Hull) A brief history of Voronoi Diagram algorithms. d/2 Chazelle O(n log n + n ) Avis O(nf ) 2 Seidel O(n + f log n) Matousek and 2− 2 O(1) Schwartzkopf O(n d/2 +1 log n + f log n) 1 1− O(1) Chan O(n log f + (nf ) d/2 +1 log n) Chan, 1 2 1− 1− O(1) Snoeyink, O((n + (nf ) d/2 + fn d/2 ) log n) Yap
  • 41. (Convex Hull) A brief history of Voronoi Diagram algorithms. d/2 Chazelle O(n log n + n ) Avis O(nf ) 2 Seidel O(n + f log n) Matousek and 2− 2 O(1) Schwartzkopf O(n d/2 +1 log n + f log n) 1 1− O(1) Chan O(n log f + (nf ) d/2 +1 log n) Chan, 1 2 1− 1− O(1) Snoeyink, O((n + (nf ) d/2 + fn d/2 ) log n) Yap Miller and Sheehy O(f log n log ∆) (today’s talk)
  • 43. Mesh Generation Decompose a domain into simple elements.
  • 44. Mesh Generation Decompose a domain into simple elements.
  • 45. Mesh Generation Decompose a domain Mesh Quality into simple elements. Radius/Edge < const
  • 46. Mesh Generation Decompose a domain Mesh Quality into simple elements. X ✓ X Radius/Edge < const
  • 47. Mesh Generation Decompose a domain Mesh Quality Conforming to Input into simple elements. X ✓ X Radius/Edge < const
  • 48. Mesh Generation Decompose a domain Mesh Quality Conforming to Input into simple elements. X ✓ X Radius/Edge < const
  • 49. Mesh Generation Decompose a domain Mesh Quality Conforming to Input into simple elements. X ✓ X Radius/Edge < const
  • 50. Mesh Generation Decompose a domain Mesh Quality Conforming to Input into simple elements. X ✓ X Radius/Edge < const
  • 51. Mesh Generation Decompose a domain Mesh Quality Conforming to Input into simple elements. X ✓ X Radius/Edge < const Voronoi Diagram
  • 52. Mesh Generation Decompose a domain Mesh Quality Conforming to Input into simple elements. X ✓ X Radius/Edge < const Voronoi Diagram OutRadius/InRadius < const
  • 53. Mesh Generation Decompose a domain Mesh Quality Conforming to Input into simple elements. X ✓ X Radius/Edge < const X ✓ Voronoi Diagram OutRadius/InRadius < const
  • 54. Mesh Generation Decompose a domain Mesh Quality Conforming to Input into simple elements. X ✓ X Radius/Edge < const X ✓ Voronoi Diagram OutRadius/InRadius < const
  • 55. Meshing Points Input: P ⊂ Rd Output: M ⊃ P with a “nice” Voronoi diagram n = |P |, m = |M |
  • 56. Meshing Points Input: P ⊂ Rd Output: M ⊃ P with a “nice” Voronoi diagram n = |P |, m = |M |
  • 57. Meshing Points Input: P ⊂ Rd Output: M ⊃ P with a “nice” Voronoi diagram n = |P |, m = |M |
  • 58. Meshing Points Input: P ⊂ Rd Output: M ⊃ P with a “nice” Voronoi diagram n = |P |, m = |M |
  • 59. Meshing Points Input: 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.
  • 60. Meshing Guarantees Aspect Ratio (quality): v Rv Rv rv ≤τ rv Cell Sizing: lfs(x) := d(x, P {NN(x)}) 1 lfs(v) ≤ Rv ≤ Klfs(v) K Constant Local Complexity: Each cell has at most a constant number of faces. Optimality and Running time: |M | = Θ(|Optimal|) Running time: O(n log n + |M |)
  • 61. Mesh Generation in reverse? Build a quality mesh. Increase the weights of the input points. Update the structure for each local change.
  • 62. Mesh Generation in reverse? Build a quality mesh. Increase the weights of the input points. Update the structure for each local change.
  • 63. Mesh Generation in reverse? Build a quality mesh. Increase the weights of the input points. Update the structure for each local change.
  • 64. Mesh Generation in reverse? Build a quality mesh. Increase the weights of the input points. Update the structure for each local change.
  • 65. Mesh Generation in reverse? Build a quality mesh. Increase the weights of the input points. Update the structure for each local change.
  • 66. Mesh Generation in reverse? Build a quality mesh. Increase the weights of the input points. Update the structure for each local change.
  • 67. Mesh Generation in reverse? Build a quality mesh. Increase the weights of the input points. Update the structure for each local change.
  • 68. Mesh Generation in reverse? Build a quality mesh. Increase the weights of the input points. Update the structure for each local change.
  • 69. Mesh Generation in reverse? Build a quality mesh. Increase the weights of the input points. Update the structure for each local change.
  • 70. Mesh Generation in reverse? Build a quality mesh. Increase the weights of the input points. Update the structure for each local change.
  • 71. Mesh Generation in reverse? Build a quality mesh. Increase the weights of the input points. Update the structure for each local change.
  • 79. Local changes are flips. Flips correspond to intersections of the Voronoi diagram of the mesh and the Voronoi diagram of the input points.
  • 80. Computing the flip times only requires a single determinant computation.
  • 81. Computing the flip times only requires a single determinant computation.   p1 ··· pd+2 d+2 points cospherical iff det  1 ··· 1 =0 2 2 p1 ··· pd+2
  • 82. Computing the flip times only requires a single determinant computation.   p1 ··· pd+2 d+2 points cospherical iff det  1 ··· 1 =0 2 2 p1 ··· pd+2 d+2 weighted points on a common orthosphere iff   p1 ··· pd+2 det  1 ··· 1 =0 p1 2 − w 1 · · · pd+2 2 − wd+2
  • 83. Computing the flip times only requires a single determinant computation.   p1 ··· pd+2 d+2 points cospherical iff det  1 ··· 1 =0 2 2 p1 ··· pd+2 d+2 weighted points on a common orthosphere iff   p1 ··· pd+2 det  1 ··· 1 =0 p1 2 − w 1 · · · pd+2 2 − wd+2 t if pi ∈ P Define wi = 0 otherwise
  • 84. Computing the flip times only requires a single determinant computation.   p1 ··· pd+2 d+2 points cospherical iff det  1 ··· 1 =0 2 2 p1 ··· pd+2 d+2 weighted points on a common orthosphere iff   p1 ··· pd+2 det  1 ··· 1 =0 p1 2 − w 1 · · · pd+2 2 − wd+2 t if pi ∈ P Define wi = 0 otherwise   p1 ··· pd+2 So, det  1 ··· 1  is linear in t. p1 2 − w 1 ··· pd+2 2 − wd+2
  • 86. The Algorithm Add a bounding box around the points.
  • 87. The Algorithm Add a bounding box around the points. Build a quality mesh of the points.
  • 88. 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.
  • 89. 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)
  • 90. 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.
  • 91. 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)
  • 92. 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.
  • 93. Flips happen at the intersections of Voronoi diagrams.
  • 94. There are only log(spread) flips per face.
  • 95. There are only log(spread) flips per face.
  • 96. There are only log(spread) flips per face.
  • 97. A summary of the analysis.
  • 98. A summary of the analysis. Full dimensional mesh cells intersect output faces at most log(spread) times.
  • 99. 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.
  • 100. 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.
  • 101. 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.
  • 102. 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)).
  • 104. Summary A new output-sensitive algorithm for Voronoi diagrams and Delaunay triangulations in d-dimensions.
  • 105. 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.
  • 106. 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.
  • 107. 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. Running time: O(f log n log ∆)
  • 108. 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. Running time: O(f log n log ∆) Thank you.