SlideShare una empresa de Scribd logo
1 de 108
Descargar para leer sin conexión
Meshes and Nets
                 Don Sheehy
Joint work with Gary Miller and Todd Phillips
Goals   2
Goals                                         2
        A new meshing algorithm.

        O(n log n + m)   - Optimal
                         - Output-sensitive
Goals                                                     2
        A new meshing algorithm.

        O(n log n + m)   - Optimal
                         - Output-sensitive


            A more general view of the meshing problem.
Goals                                                     2
        A new meshing algorithm.

        O(n log n + m)   - Optimal
                         - Output-sensitive


            A more general view of the meshing problem.



                      Some nice theory.
Meshing                                         3
  Input: P ⊂ Rd
  Output: M ⊃ P with a “nice” Voronoi diagram
Meshing                                         3
  Input: P ⊂ Rd
  Output: M ⊃ P with a “nice” Voronoi diagram
Meshing                                         3
  Input: P ⊂ Rd
  Output: M ⊃ P with a “nice” Voronoi diagram



           Why?
Meshing                                         3
  Input: P ⊂ Rd
  Output: M ⊃ P with a “nice” Voronoi diagram



           Why?
           - discretize space
Meshing                                         3
  Input: P ⊂ Rd
  Output: M ⊃ P with a “nice” Voronoi diagram



           Why?
           - discretize space
           - respect the input density
Meshing                                          3
  Input: P ⊂ Rd
  Output: M ⊃ P with a “nice” Voronoi diagram



           Why?
           - discretize space
           - respect the input density
           - applications: represent functions
Meshing                                          3
  Input: P ⊂ Rd
  Output: M ⊃ P with a “nice” Voronoi diagram



           Why?
           - discretize space
           - respect the input density
           - applications: represent functions
           - Finite Element Method
Meshing                                          3
  Input: P ⊂ Rd
  Output: M ⊃ P with a “nice” Voronoi diagram



           Why?
           - discretize space
           - respect the input density
           - applications: represent functions
           - Finite Element Method
           - Topological Data Analysis
Overview   4
Overview      4

  Algorithm
Overview               4

  Algorithm
  1 Order the inputs
Overview                  4

  Algorithm
  1 Order the inputs
  2 Incremental Updates
Overview                  4

  Algorithm
  1 Order the inputs
  2 Incremental Updates
  3 Refinement
Overview                  4

  Algorithm
  1 Order the inputs
  2 Incremental Updates
  3 Refinement
  4 Point Location
Overview                  4

  Algorithm
  1 Order the inputs
  2 Incremental Updates
  3 Refinement
  4 Point Location
  5 Finishing
Overview                             4

  Algorithm               Analysis

  1 Order the inputs
  2 Incremental Updates
  3 Refinement
  4 Point Location
  5 Finishing
Overview                                                 4

  Algorithm               Analysis

  1 Order the inputs      1 Classic Mesh Size Analysis
  2 Incremental Updates
  3 Refinement
  4 Point Location
  5 Finishing
Overview                                                 4

  Algorithm               Analysis

  1 Order the inputs      1 Classic Mesh Size Analysis
  2 Incremental Updates     (with a twist)
  3 Refinement
  4 Point Location
  5 Finishing
Overview                                                 4

  Algorithm               Analysis

  1 Order the inputs      1 Classic Mesh Size Analysis
  2 Incremental Updates     (with a twist)
  3 Refinement            2 Hierarchical Quality
  4 Point Location
  5 Finishing
Overview                                                 4

  Algorithm               Analysis

  1 Order the inputs      1 Classic Mesh Size Analysis
  2 Incremental Updates     (with a twist)
  3 Refinement            2 Hierarchical Quality
  4 Point Location        3 Quality => low complexity
  5 Finishing
Overview                                                 4

  Algorithm               Analysis

  1 Order the inputs      1 Classic Mesh Size Analysis
  2 Incremental Updates     (with a twist)
  3 Refinement            2 Hierarchical Quality
  4 Point Location        3 Quality => low complexity
  5 Finishing             4 Range Space Nets
Overview                                                 4

  Algorithm               Analysis

  1 Order the inputs      1 Classic Mesh Size Analysis
  2 Incremental Updates     (with a twist)
  3 Refinement            2 Hierarchical Quality
  4 Point Location        3 Quality => low complexity
  5 Finishing             4 Range Space Nets
                          5 Ball Cover Lemma
Overview                                                   4

  Algorithm               Analysis

  1 Order the inputs      1 Classic Mesh Size Analysis
  2 Incremental Updates     (with a twist)
  3 Refinement            2 Hierarchical Quality
  4 Point Location        3 Quality => low complexity
  5 Finishing             4 Range Space Nets
                          5 Ball Cover Lemma
                          6 Amortize Point Location Cost
Metric Nets                                   5
        “Nets catch everything that’s big.”
Metric Nets                                            5
           “Nets catch everything that’s big.”

 Definition 1. Given a metric space X, a metric ε-net
 is a set N ⊂ X such that
   1. x, y ∈ N ⇒ d(x, y) ≥ ε
   2. x ∈ X ⇒ ∃y ∈ N : d(x, y) ≤ ε
Metric Nets                                                5
           “Nets catch everything that’s big.”

 Definition 1. Given a metric space X, a metric ε-net
 is a set N ⊂ X such that
   1. x, y ∈ N ⇒ d(x, y) ≥ ε                     Packing

   2. x ∈ X ⇒ ∃y ∈ N : d(x, y) ≤ ε
Metric Nets                                                 5
           “Nets catch everything that’s big.”

 Definition 1. Given a metric space X, a metric ε-net
 is a set N ⊂ X such that
   1. x, y ∈ N ⇒ d(x, y) ≥ ε                     Packing

   2. x ∈ X ⇒ ∃y ∈ N : d(x, y) ≤ ε               Covering
Metric Nets                                                 5
           “Nets catch everything that’s big.”

 Definition 1. Given a metric space X, a metric ε-net
 is a set N ⊂ X such that
   1. x, y ∈ N ⇒ d(x, y) ≥ ε                     Packing

   2. x ∈ X ⇒ ∃y ∈ N : d(x, y) ≤ ε               Covering
Metric Nets                                                 5
           “Nets catch everything that’s big.”

 Definition 1. Given a metric space X, a metric ε-net
 is a set N ⊂ X such that
   1. x, y ∈ N ⇒ d(x, y) ≥ ε                     Packing

   2. x ∈ X ⇒ ∃y ∈ N : d(x, y) ≤ ε               Covering


                            Example: Bounded Euclidean Space
Metric Nets                                                 5
           “Nets catch everything that’s big.”

 Definition 1. Given a metric space X, a metric ε-net
 is a set N ⊂ X such that
   1. x, y ∈ N ⇒ d(x, y) ≥ ε                     Packing

   2. x ∈ X ⇒ ∃y ∈ N : d(x, y) ≤ ε               Covering


                            Example: Bounded Euclidean Space
Metric Nets                                                      5
           “Nets catch everything that’s big.”

 Definition 1. Given a metric space X, a metric ε-net
 is a set N ⊂ X such that
   1. x, y ∈ N ⇒ d(x, y) ≥ ε                      Packing

   2. x ∈ X ⇒ ∃y ∈ N : d(x, y) ≤ ε                Covering


                            Example: Bounded Euclidean Space

                            Related to ball packing of radius ε/2.
Metric Nets                                                      5
           “Nets catch everything that’s big.”

 Definition 1. Given a metric space X, a metric ε-net
 is a set N ⊂ X such that
   1. x, y ∈ N ⇒ d(x, y) ≥ ε                      Packing

   2. x ∈ X ⇒ ∃y ∈ N : d(x, y) ≤ ε                Covering


                            Example: Bounded Euclidean Space

                            Related to ball packing of radius ε/2.
Meshes as Metric Nets   6
Meshes as Metric Nets                                        6
  The underlying metric is not Euclidean (but it’s close).
Meshes as Metric Nets                                        6
  The underlying metric is not Euclidean (but it’s close).




  image source: Alice Project, INRIA
Meshes as Metric Nets                                        6
  The underlying metric is not Euclidean (but it’s close).

  Metric is scaled according the the “feature size”.




  image source: Alice Project, INRIA
Meshes as Metric Nets                                        6
  The underlying metric is not Euclidean (but it’s close).

  Metric is scaled according the the “feature size”.




  image source: Alice Project, INRIA
Meshes as Metric Nets                                                   6
  The underlying metric is not Euclidean (but it’s close).

  Metric is scaled according the the “feature size”.




                                       Quality = bounded aspect ratio
  image source: Alice Project, INRIA
The Greedy Net Algorithm and SVR   7
The Greedy Net Algorithm and SVR                  7
   Add the farthest point from the current set.
   Repeat.
The Greedy Net Algorithm and SVR                  7
   Add the farthest point from the current set.
   Repeat.

   Harder for infinite metric spaces.
    - Figure out the metric
    - Decide input or Steiner
    - Do point location work
The Greedy Net Algorithm and SVR                               7
   Add the farthest point from the current set.
   Repeat.

   Harder for infinite metric spaces.
    - Figure out the metric
    - Decide input or Steiner
    - Do point location work
   Sparse Voronoi Refinement [Hudson, Miller, Phillips 2006]
The Delaunay Triangulation is the dual   8
of the Voronoi Diagram.
The Delaunay Triangulation is the dual   8
of the Voronoi Diagram.
The Delaunay Triangulation is the dual   8
of the Voronoi Diagram.
The Delaunay Triangulation is the dual   8
of the Voronoi Diagram.




     D-ball
Quality Meshes                                 9




 D-Balls are Constant Ply
 Total Complexity is linear in |M|
 No D-ball intersects more than O(1) others.
Point Location and Geometric D&C                         10
    Idea: Store the uninserted points in the D-balls.
          When the balls change, make local updates.




       Lemma (HMP06). A point is touched at most
       a constant number of times before the radius of
       the largest D-ball containing it goes down by a
       factor of 2.

       Geometric Divide and Conquer: O(n log ∆)
Point Location and Geometric D&C                         10
    Idea: Store the uninserted points in the D-balls.
          When the balls change, make local updates.




       Lemma (HMP06). A point is touched at most
       a constant number of times before the radius of
       the largest D-ball containing it goes down by a
       factor of 2.

       Geometric Divide and Conquer: O(n log ∆)
Point Location and Geometric D&C                         10
    Idea: Store the uninserted points in the D-balls.
          When the balls change, make local updates.




       Lemma (HMP06). A point is touched at most
       a constant number of times before the radius of
       the largest D-ball containing it goes down by a
       factor of 2.

       Geometric Divide and Conquer: O(n log ∆)
Point Location and Geometric D&C                         10
    Idea: Store the uninserted points in the D-balls.
          When the balls change, make local updates.




       Lemma (HMP06). A point is touched at most
       a constant number of times before the radius of
       the largest D-ball containing it goes down by a
       factor of 2.

       Geometric Divide and Conquer: O(n log ∆)
Point Location and Geometric D&C                         10
    Idea: Store the uninserted points in the D-balls.
          When the balls change, make local updates.




       Lemma (HMP06). A point is touched at most
       a constant number of times before the radius of
       the largest D-ball containing it goes down by a
       factor of 2.

       Geometric Divide and Conquer: O(n log ∆)
We replace quality with hierarchical quality.   11
We replace quality with hierarchical quality.   11
We replace quality with hierarchical quality.   11
We replace quality with hierarchical quality.   11
We replace quality with hierarchical quality.    11




   Inside the cage: Old definition of quality.
We replace quality with hierarchical quality.          11




   Inside the cage: Old definition of quality.
   Outside: Treat the whole cage as a single object.
We replace quality with hierarchical quality.                     11




   Inside the cage: Old definition of quality.
   Outside: Treat the whole cage as a single object.

   All the same properties as quality meshes: ply, degree, etc.
With hierarchical meshes, we can add inputs   12
in any order!
With hierarchical meshes, we can add inputs   12
in any order!
With hierarchical meshes, we can add inputs   12
in any order!
With hierarchical meshes, we can add inputs   12
in any order!




    Goal: Combinatorial Divide and Conquer
With hierarchical meshes, we can add inputs                     12
in any order!




    Goal: Combinatorial Divide and Conquer

    Old: Progress was decreasing the radius by a factor of 2.
With hierarchical meshes, we can add inputs                      12
in any order!




    Goal: Combinatorial Divide and Conquer

    Old: Progress was decreasing the radius by a factor of 2.

    New: Decrease number of points in a ball by a factor of 2.
Range Nets                                    13
        “Nets catch everything that’s big.”
Range Nets                                      13
         “Nets catch everything that’s big.”

   Definition. A range space is a pair (X, R),
   where X is a set (the vertices) and R is a
   collection of subsets (the ranges).
Range Nets                                           13
         “Nets catch everything that’s big.”

   Definition. A range space is a pair (X, R),
   where X is a set (the vertices) and R is a
   collection of subsets (the ranges).
      For us X = P and R is the set of open balls.
Range Nets                                           13
         “Nets catch everything that’s big.”

   Definition. A range space is a pair (X, R),
   where X is a set (the vertices) and R is a
   collection of subsets (the ranges).
      For us X = P and R is the set of open balls.

   Definition. Given a range space (X, R),
   a set N ⊂ X is a range space ε-net if
   for all ranges r ∈ R that contain at least
   ε|X| vertices, r contains a vertex from N .
Range Nets                                                          13
             “Nets catch everything that’s big.”

    Definition. A range space is a pair (X, R),
    where X is a set (the vertices) and R is a
    collection of subsets (the ranges).
         For us X = P and R is the set of open balls.

     Definition. Given a range space (X, R),
     a set N ⊂ X is a range space ε-net if
     for all ranges r ∈ R that contain at least
     ε|X| vertices, r contains a vertex from N .


  Theorem: [Chazelle & Matousek 96] For ε, d fixed constants,
  ε-nets of size O(1) can be computed in O(n) deterministic time.
Ordering the inputs                                                14
   For each D-Ball, select a 1/2d-net of the points it contains.
   Take the union of these nets and call it a round.
   Insert these.
   Repeat.
Ordering the inputs                                                14
   For each D-Ball, select a 1/2d-net of the points it contains.
   Take the union of these nets and call it a round.
   Insert these.
   Repeat.
Ordering the inputs                                                14
   For each D-Ball, select a 1/2d-net of the points it contains.
   Take the union of these nets and call it a round.
   Insert these.
   Repeat.
Ordering the inputs                                                14
   For each D-Ball, select a 1/2d-net of the points it contains.
   Take the union of these nets and call it a round.
   Insert these.
   Repeat.
Ordering the inputs                                                14
   For each D-Ball, select a 1/2d-net of the points it contains.
   Take the union of these nets and call it a round.
   Insert these.
   Repeat.
Ordering the inputs                                                14
   For each D-Ball, select a 1/2d-net of the points it contains.
   Take the union of these nets and call it a round.
   Insert these.
   Repeat.




    Lemma. Let M be a set of vertices. If an open ball B
    contains no points of M , then B is contained in the
    union of d D-balls of M .
Ordering the inputs                                                14
   For each D-Ball, select a 1/2d-net of the points it contains.
   Take the union of these nets and call it a round.
   Insert these.
   Repeat.



                                                   log(n) Rounds




    Lemma. Let M be a set of vertices. If an open ball B
    contains no points of M , then B is contained in the
    union of d D-balls of M .
The D-Ball Covering Lemma                               15
 Lemma. Let M be a set of vertices. If an open ball B
 contains no points of M , then B is contained in the
 union of d D-balls of M .
The D-Ball Covering Lemma                                  15
 Lemma. Let M be a set of vertices. If an open ball B
 contains no points of M , then B is contained in the
 union of d D-balls of M .


     Proof is constructive using Carathéodory’s Theorem.
Amortized Cost of a Round is O(n)                   16
 Watch an uninserted point x.
 Claim: x only gets touched O(1) times per round.
Amortized Cost of a Round is O(n)                   16
 Watch an uninserted point x.
 Claim: x only gets touched O(1) times per round.




    x
Amortized Cost of a Round is O(n)                   16
 Watch an uninserted point x.
 Claim: x only gets touched O(1) times per round.




    x
Amortized Cost of a Round is O(n)                   16
 Watch an uninserted point x.
 Claim: x only gets touched O(1) times per round.
                 y




    x
Amortized Cost of a Round is O(n)                   16
 Watch an uninserted point x.
 Claim: x only gets touched O(1) times per round.
                 y




    x
Amortized Cost of a Round is O(n)                           16
 Watch an uninserted point x.
 Claim: x only gets touched O(1) times per round.
                 y       y touches x => y is “close” to x
                         close = 2 hops among D-balls


    x
Amortized Cost of a Round is O(n)                           16
 Watch an uninserted point x.
 Claim: x only gets touched O(1) times per round.
                 y       y touches x => y is “close” to x
                         close = 2 hops among D-balls


    x
Amortized Cost of a Round is O(n)                               16
 Watch an uninserted point x.
 Claim: x only gets touched O(1) times per round.
                 y       y touches x => y is “close” to x
                         close = 2 hops among D-balls

                         Only O(1) D-balls are within 2 hops.
    x
Amortized Cost of a Round is O(n)                               16
 Watch an uninserted point x.
 Claim: x only gets touched O(1) times per round.
                 y       y touches x => y is “close” to x
                         close = 2 hops among D-balls

                         Only O(1) D-balls are within 2 hops.
    x




                                             x
Amortized Cost of a Round is O(n)                               16
 Watch an uninserted point x.
 Claim: x only gets touched O(1) times per round.
                 y       y touches x => y is “close” to x
                         close = 2 hops among D-balls

                         Only O(1) D-balls are within 2 hops.
    x




                                             x
Amortized Cost of a Round is O(n)                               16
 Watch an uninserted point x.
 Claim: x only gets touched O(1) times per round.
                 y       y touches x => y is “close” to x
                         close = 2 hops among D-balls

                         Only O(1) D-balls are within 2 hops.
    x




                                             x
Amortized Cost of a Round is O(n)                               16
 Watch an uninserted point x.
 Claim: x only gets touched O(1) times per round.
                 y       y touches x => y is “close” to x
                         close = 2 hops among D-balls

                         Only O(1) D-balls are within 2 hops.
    x




 Only O(1) points are added                  x
 to any D-ball in a round.
Amortized Cost of a Round is O(n)                               16
 Watch an uninserted point x.
 Claim: x only gets touched O(1) times per round.
                 y       y touches x => y is “close” to x
                         close = 2 hops among D-balls

                         Only O(1) D-balls are within 2 hops.
    x




 Only O(1) points are added                  x
 to any D-ball in a round.

 O(n) total work per round.
Summary   17
Summary             17
          Meshing
Summary                 17
           Meshing
          Metric Nets
Summary                   17
             Meshing
           Metric Nets
          Geometric D&C
Summary                   17
             Meshing
           Metric Nets
          Geometric D&C
           Range Nets
Summary                    17
             Meshing
            Metric Nets
          Geometric D&C
            Range Nets
           Ball Covering
Summary                       17
              Meshing
             Metric Nets
           Geometric D&C
             Range Nets
            Ball Covering
          Combinatorial D&C
Summary                              17
                 Meshing
                Metric Nets
             Geometric D&C
                Range Nets
              Ball Covering
            Combinatorial D&C
          Amortized Point Location
Summary                                       17
                     Meshing
                   Metric Nets
                 Geometric D&C
                   Range Nets
                  Ball Covering
               Combinatorial D&C
            Amortized Point Location
      Finally, O(n log n + m) point meshing
Summary                                       17
                     Meshing
                   Metric Nets
                 Geometric D&C
                   Range Nets
                  Ball Covering
               Combinatorial D&C
            Amortized Point Location
      Finally, O(n log n + m) point meshing



               Thanks.
Thanks again.

Más contenido relacionado

La actualidad más candente

04 greedyalgorithmsii 2x2
04 greedyalgorithmsii 2x204 greedyalgorithmsii 2x2
04 greedyalgorithmsii 2x2MuradAmn
 
snarks <3 hash functions
snarks <3 hash functionssnarks <3 hash functions
snarks <3 hash functionsRebekah Mercer
 
Tutorial of topological_data_analysis_part_1(basic)
Tutorial of topological_data_analysis_part_1(basic)Tutorial of topological_data_analysis_part_1(basic)
Tutorial of topological_data_analysis_part_1(basic)Ha Phuong
 
RESIDUAL QUOTIENT AND ANNIHILATOR OF INTUITIONISTIC FUZZY SETS OF RING AND MO...
RESIDUAL QUOTIENT AND ANNIHILATOR OF INTUITIONISTIC FUZZY SETS OF RING AND MO...RESIDUAL QUOTIENT AND ANNIHILATOR OF INTUITIONISTIC FUZZY SETS OF RING AND MO...
RESIDUAL QUOTIENT AND ANNIHILATOR OF INTUITIONISTIC FUZZY SETS OF RING AND MO...AIRCC Publishing Corporation
 
Conditional neural processes
Conditional neural processesConditional neural processes
Conditional neural processesKazuki Fujikawa
 
Neural Processes
Neural ProcessesNeural Processes
Neural ProcessesSangwoo Mo
 
Processing Reachability Queries with Realistic Constraints on Massive Network...
Processing Reachability Queries with Realistic Constraints on Massive Network...Processing Reachability Queries with Realistic Constraints on Massive Network...
Processing Reachability Queries with Realistic Constraints on Massive Network...BigMine
 
20110319 parameterized algorithms_fomin_lecture01-02
20110319 parameterized algorithms_fomin_lecture01-0220110319 parameterized algorithms_fomin_lecture01-02
20110319 parameterized algorithms_fomin_lecture01-02Computer Science Club
 
Aaex4 group2(中英夾雜)
Aaex4 group2(中英夾雜)Aaex4 group2(中英夾雜)
Aaex4 group2(中英夾雜)Shiang-Yun Yang
 
zkStudyClub: PLONKUP & Reinforced Concrete [Luke Pearson, Joshua Fitzgerald, ...
zkStudyClub: PLONKUP & Reinforced Concrete [Luke Pearson, Joshua Fitzgerald, ...zkStudyClub: PLONKUP & Reinforced Concrete [Luke Pearson, Joshua Fitzgerald, ...
zkStudyClub: PLONKUP & Reinforced Concrete [Luke Pearson, Joshua Fitzgerald, ...Alex Pruden
 
Gate Computer Science Solved Paper 2007
Gate Computer Science Solved Paper 2007 Gate Computer Science Solved Paper 2007
Gate Computer Science Solved Paper 2007 Rohit Garg
 
An Introduction to ECDSA and it's use in Bitcoin (1)
An Introduction to ECDSA and it's use in Bitcoin (1)An Introduction to ECDSA and it's use in Bitcoin (1)
An Introduction to ECDSA and it's use in Bitcoin (1)Hakeem Hunte
 
Lossy Kernelization
Lossy KernelizationLossy Kernelization
Lossy Kernelizationmsramanujan
 
An optimal and progressive algorithm for skyline queries slide
An optimal and progressive algorithm for skyline queries slideAn optimal and progressive algorithm for skyline queries slide
An optimal and progressive algorithm for skyline queries slideWooSung Choi
 

La actualidad más candente (20)

04 greedyalgorithmsii 2x2
04 greedyalgorithmsii 2x204 greedyalgorithmsii 2x2
04 greedyalgorithmsii 2x2
 
snarks <3 hash functions
snarks <3 hash functionssnarks <3 hash functions
snarks <3 hash functions
 
Tutorial of topological_data_analysis_part_1(basic)
Tutorial of topological_data_analysis_part_1(basic)Tutorial of topological_data_analysis_part_1(basic)
Tutorial of topological_data_analysis_part_1(basic)
 
RESIDUAL QUOTIENT AND ANNIHILATOR OF INTUITIONISTIC FUZZY SETS OF RING AND MO...
RESIDUAL QUOTIENT AND ANNIHILATOR OF INTUITIONISTIC FUZZY SETS OF RING AND MO...RESIDUAL QUOTIENT AND ANNIHILATOR OF INTUITIONISTIC FUZZY SETS OF RING AND MO...
RESIDUAL QUOTIENT AND ANNIHILATOR OF INTUITIONISTIC FUZZY SETS OF RING AND MO...
 
Final Report-1-(1)
Final Report-1-(1)Final Report-1-(1)
Final Report-1-(1)
 
Daa q.paper
Daa q.paperDaa q.paper
Daa q.paper
 
Lecture#9
Lecture#9Lecture#9
Lecture#9
 
Conditional neural processes
Conditional neural processesConditional neural processes
Conditional neural processes
 
Neural Processes
Neural ProcessesNeural Processes
Neural Processes
 
5320
53205320
5320
 
Processing Reachability Queries with Realistic Constraints on Massive Network...
Processing Reachability Queries with Realistic Constraints on Massive Network...Processing Reachability Queries with Realistic Constraints on Massive Network...
Processing Reachability Queries with Realistic Constraints on Massive Network...
 
20110319 parameterized algorithms_fomin_lecture01-02
20110319 parameterized algorithms_fomin_lecture01-0220110319 parameterized algorithms_fomin_lecture01-02
20110319 parameterized algorithms_fomin_lecture01-02
 
Aaex4 group2(中英夾雜)
Aaex4 group2(中英夾雜)Aaex4 group2(中英夾雜)
Aaex4 group2(中英夾雜)
 
zkStudyClub: PLONKUP & Reinforced Concrete [Luke Pearson, Joshua Fitzgerald, ...
zkStudyClub: PLONKUP & Reinforced Concrete [Luke Pearson, Joshua Fitzgerald, ...zkStudyClub: PLONKUP & Reinforced Concrete [Luke Pearson, Joshua Fitzgerald, ...
zkStudyClub: PLONKUP & Reinforced Concrete [Luke Pearson, Joshua Fitzgerald, ...
 
D0111720
D0111720D0111720
D0111720
 
Gate Computer Science Solved Paper 2007
Gate Computer Science Solved Paper 2007 Gate Computer Science Solved Paper 2007
Gate Computer Science Solved Paper 2007
 
An Introduction to ECDSA and it's use in Bitcoin (1)
An Introduction to ECDSA and it's use in Bitcoin (1)An Introduction to ECDSA and it's use in Bitcoin (1)
An Introduction to ECDSA and it's use in Bitcoin (1)
 
Lossy Kernelization
Lossy KernelizationLossy Kernelization
Lossy Kernelization
 
An optimal and progressive algorithm for skyline queries slide
An optimal and progressive algorithm for skyline queries slideAn optimal and progressive algorithm for skyline queries slide
An optimal and progressive algorithm for skyline queries slide
 
Biconnectivity
BiconnectivityBiconnectivity
Biconnectivity
 

Similar a O(n log n + m) Meshing Algorithm with Optimal Quality Analysis

Anomaly detection using deep one class classifier
Anomaly detection using deep one class classifierAnomaly detection using deep one class classifier
Anomaly detection using deep one class classifier홍배 김
 
Topological Inference via Meshing
Topological Inference via MeshingTopological Inference via Meshing
Topological Inference via MeshingDon Sheehy
 
Linear Size Meshes
Linear Size MeshesLinear Size Meshes
Linear Size MeshesDon Sheehy
 
2012 mdsp pr08 nonparametric approach
2012 mdsp pr08 nonparametric approach2012 mdsp pr08 nonparametric approach
2012 mdsp pr08 nonparametric approachnozomuhamada
 
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
 
Radial Basis Function Interpolation
Radial Basis Function InterpolationRadial Basis Function Interpolation
Radial Basis Function InterpolationJesse Bettencourt
 
super vector machines algorithms using deep
super vector machines algorithms using deepsuper vector machines algorithms using deep
super vector machines algorithms using deepKNaveenKumarECE
 
Numerical Linear Algebra for Data and Link Analysis.
Numerical Linear Algebra for Data and Link Analysis.Numerical Linear Algebra for Data and Link Analysis.
Numerical Linear Algebra for Data and Link Analysis.Leonid Zhukov
 
150424 Scalable Object Detection using Deep Neural Networks
150424 Scalable Object Detection using Deep Neural Networks150424 Scalable Object Detection using Deep Neural Networks
150424 Scalable Object Detection using Deep Neural NetworksJunho Cho
 
Animashree Anandkumar, Electrical Engineering and CS Dept, UC Irvine at MLcon...
Animashree Anandkumar, Electrical Engineering and CS Dept, UC Irvine at MLcon...Animashree Anandkumar, Electrical Engineering and CS Dept, UC Irvine at MLcon...
Animashree Anandkumar, Electrical Engineering and CS Dept, UC Irvine at MLcon...MLconf
 
The world of loss function
The world of loss functionThe world of loss function
The world of loss function홍배 김
 
CiE 2010 talk
CiE 2010 talkCiE 2010 talk
CiE 2010 talkilyaraz
 
machine learning.pptx
machine learning.pptxmachine learning.pptx
machine learning.pptxAbdusSadik
 
Internet of Things Data Science
Internet of Things Data ScienceInternet of Things Data Science
Internet of Things Data ScienceAlbert Bifet
 
Kernel estimation(ref)
Kernel estimation(ref)Kernel estimation(ref)
Kernel estimation(ref)Zahra Amini
 

Similar a O(n log n + m) Meshing Algorithm with Optimal Quality Analysis (20)

Anomaly detection using deep one class classifier
Anomaly detection using deep one class classifierAnomaly detection using deep one class classifier
Anomaly detection using deep one class classifier
 
Topological Inference via Meshing
Topological Inference via MeshingTopological Inference via Meshing
Topological Inference via Meshing
 
Linear Size Meshes
Linear Size MeshesLinear Size Meshes
Linear Size Meshes
 
2012 mdsp pr08 nonparametric approach
2012 mdsp pr08 nonparametric approach2012 mdsp pr08 nonparametric approach
2012 mdsp pr08 nonparametric approach
 
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
 
Radial Basis Function Interpolation
Radial Basis Function InterpolationRadial Basis Function Interpolation
Radial Basis Function Interpolation
 
super vector machines algorithms using deep
super vector machines algorithms using deepsuper vector machines algorithms using deep
super vector machines algorithms using deep
 
Numerical Linear Algebra for Data and Link Analysis.
Numerical Linear Algebra for Data and Link Analysis.Numerical Linear Algebra for Data and Link Analysis.
Numerical Linear Algebra for Data and Link Analysis.
 
150424 Scalable Object Detection using Deep Neural Networks
150424 Scalable Object Detection using Deep Neural Networks150424 Scalable Object Detection using Deep Neural Networks
150424 Scalable Object Detection using Deep Neural Networks
 
Optimization tutorial
Optimization tutorialOptimization tutorial
Optimization tutorial
 
Animashree Anandkumar, Electrical Engineering and CS Dept, UC Irvine at MLcon...
Animashree Anandkumar, Electrical Engineering and CS Dept, UC Irvine at MLcon...Animashree Anandkumar, Electrical Engineering and CS Dept, UC Irvine at MLcon...
Animashree Anandkumar, Electrical Engineering and CS Dept, UC Irvine at MLcon...
 
The world of loss function
The world of loss functionThe world of loss function
The world of loss function
 
CiE 2010 talk
CiE 2010 talkCiE 2010 talk
CiE 2010 talk
 
bv_cvxslides (1).pdf
bv_cvxslides (1).pdfbv_cvxslides (1).pdf
bv_cvxslides (1).pdf
 
factoring
factoringfactoring
factoring
 
machine learning.pptx
machine learning.pptxmachine learning.pptx
machine learning.pptx
 
Internet of Things Data Science
Internet of Things Data ScienceInternet of Things Data Science
Internet of Things Data Science
 
Kernel estimation(ref)
Kernel estimation(ref)Kernel estimation(ref)
Kernel estimation(ref)
 
Unit 3
Unit 3Unit 3
Unit 3
 
Unit 3
Unit 3Unit 3
Unit 3
 

Más de 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
 
Geometric Separators and the Parabolic Lift
Geometric Separators and the Parabolic LiftGeometric Separators and the Parabolic Lift
Geometric Separators and the Parabolic LiftDon Sheehy
 
A New Approach to Output-Sensitive Voronoi Diagrams and Delaunay Triangulations
A New Approach to Output-Sensitive Voronoi Diagrams and Delaunay TriangulationsA New Approach to Output-Sensitive Voronoi Diagrams and Delaunay Triangulations
A New Approach to Output-Sensitive Voronoi Diagrams and Delaunay TriangulationsDon Sheehy
 
Optimal Meshing
Optimal MeshingOptimal Meshing
Optimal MeshingDon Sheehy
 
Output-Sensitive Voronoi Diagrams and Delaunay Triangulations
Output-Sensitive Voronoi Diagrams and Delaunay Triangulations Output-Sensitive Voronoi Diagrams and Delaunay Triangulations
Output-Sensitive Voronoi Diagrams and Delaunay Triangulations Don Sheehy
 
Mesh Generation and Topological Data Analysis
Mesh Generation and Topological Data AnalysisMesh Generation and Topological Data Analysis
Mesh Generation and Topological Data AnalysisDon 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
 
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
 
Learning with Nets and Meshes
Learning with Nets and MeshesLearning with Nets and Meshes
Learning with Nets and MeshesDon Sheehy
 
Topological Inference via Meshing
Topological Inference via MeshingTopological Inference via Meshing
Topological Inference via MeshingDon Sheehy
 

Más de 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
 
Geometric Separators and the Parabolic Lift
Geometric Separators and the Parabolic LiftGeometric Separators and the Parabolic Lift
Geometric Separators and the Parabolic Lift
 
A New Approach to Output-Sensitive Voronoi Diagrams and Delaunay Triangulations
A New Approach to Output-Sensitive Voronoi Diagrams and Delaunay TriangulationsA New Approach to Output-Sensitive Voronoi Diagrams and Delaunay Triangulations
A New Approach to Output-Sensitive Voronoi Diagrams and Delaunay Triangulations
 
Optimal Meshing
Optimal MeshingOptimal Meshing
Optimal Meshing
 
Output-Sensitive Voronoi Diagrams and Delaunay Triangulations
Output-Sensitive Voronoi Diagrams and Delaunay Triangulations Output-Sensitive Voronoi Diagrams and Delaunay Triangulations
Output-Sensitive Voronoi Diagrams and Delaunay Triangulations
 
Mesh Generation and Topological Data Analysis
Mesh Generation and Topological Data AnalysisMesh Generation and Topological Data Analysis
Mesh Generation and Topological Data Analysis
 
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
 
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
 
Learning with Nets and Meshes
Learning with Nets and MeshesLearning with Nets and Meshes
Learning with Nets and Meshes
 
Topological Inference via Meshing
Topological Inference via MeshingTopological Inference via Meshing
Topological Inference via Meshing
 

O(n log n + m) Meshing Algorithm with Optimal Quality Analysis

  • 1. Meshes and Nets Don Sheehy Joint work with Gary Miller and Todd Phillips
  • 2. Goals 2
  • 3. Goals 2 A new meshing algorithm. O(n log n + m) - Optimal - Output-sensitive
  • 4. Goals 2 A new meshing algorithm. O(n log n + m) - Optimal - Output-sensitive A more general view of the meshing problem.
  • 5. Goals 2 A new meshing algorithm. O(n log n + m) - Optimal - Output-sensitive A more general view of the meshing problem. Some nice theory.
  • 6. Meshing 3 Input: P ⊂ Rd Output: M ⊃ P with a “nice” Voronoi diagram
  • 7. Meshing 3 Input: P ⊂ Rd Output: M ⊃ P with a “nice” Voronoi diagram
  • 8. Meshing 3 Input: P ⊂ Rd Output: M ⊃ P with a “nice” Voronoi diagram Why?
  • 9. Meshing 3 Input: P ⊂ Rd Output: M ⊃ P with a “nice” Voronoi diagram Why? - discretize space
  • 10. Meshing 3 Input: P ⊂ Rd Output: M ⊃ P with a “nice” Voronoi diagram Why? - discretize space - respect the input density
  • 11. Meshing 3 Input: P ⊂ Rd Output: M ⊃ P with a “nice” Voronoi diagram Why? - discretize space - respect the input density - applications: represent functions
  • 12. Meshing 3 Input: P ⊂ Rd Output: M ⊃ P with a “nice” Voronoi diagram Why? - discretize space - respect the input density - applications: represent functions - Finite Element Method
  • 13. Meshing 3 Input: P ⊂ Rd Output: M ⊃ P with a “nice” Voronoi diagram Why? - discretize space - respect the input density - applications: represent functions - Finite Element Method - Topological Data Analysis
  • 14. Overview 4
  • 15. Overview 4 Algorithm
  • 16. Overview 4 Algorithm 1 Order the inputs
  • 17. Overview 4 Algorithm 1 Order the inputs 2 Incremental Updates
  • 18. Overview 4 Algorithm 1 Order the inputs 2 Incremental Updates 3 Refinement
  • 19. Overview 4 Algorithm 1 Order the inputs 2 Incremental Updates 3 Refinement 4 Point Location
  • 20. Overview 4 Algorithm 1 Order the inputs 2 Incremental Updates 3 Refinement 4 Point Location 5 Finishing
  • 21. Overview 4 Algorithm Analysis 1 Order the inputs 2 Incremental Updates 3 Refinement 4 Point Location 5 Finishing
  • 22. Overview 4 Algorithm Analysis 1 Order the inputs 1 Classic Mesh Size Analysis 2 Incremental Updates 3 Refinement 4 Point Location 5 Finishing
  • 23. Overview 4 Algorithm Analysis 1 Order the inputs 1 Classic Mesh Size Analysis 2 Incremental Updates (with a twist) 3 Refinement 4 Point Location 5 Finishing
  • 24. Overview 4 Algorithm Analysis 1 Order the inputs 1 Classic Mesh Size Analysis 2 Incremental Updates (with a twist) 3 Refinement 2 Hierarchical Quality 4 Point Location 5 Finishing
  • 25. Overview 4 Algorithm Analysis 1 Order the inputs 1 Classic Mesh Size Analysis 2 Incremental Updates (with a twist) 3 Refinement 2 Hierarchical Quality 4 Point Location 3 Quality => low complexity 5 Finishing
  • 26. Overview 4 Algorithm Analysis 1 Order the inputs 1 Classic Mesh Size Analysis 2 Incremental Updates (with a twist) 3 Refinement 2 Hierarchical Quality 4 Point Location 3 Quality => low complexity 5 Finishing 4 Range Space Nets
  • 27. Overview 4 Algorithm Analysis 1 Order the inputs 1 Classic Mesh Size Analysis 2 Incremental Updates (with a twist) 3 Refinement 2 Hierarchical Quality 4 Point Location 3 Quality => low complexity 5 Finishing 4 Range Space Nets 5 Ball Cover Lemma
  • 28. Overview 4 Algorithm Analysis 1 Order the inputs 1 Classic Mesh Size Analysis 2 Incremental Updates (with a twist) 3 Refinement 2 Hierarchical Quality 4 Point Location 3 Quality => low complexity 5 Finishing 4 Range Space Nets 5 Ball Cover Lemma 6 Amortize Point Location Cost
  • 29. Metric Nets 5 “Nets catch everything that’s big.”
  • 30. Metric Nets 5 “Nets catch everything that’s big.” Definition 1. Given a metric space X, a metric ε-net is a set N ⊂ X such that 1. x, y ∈ N ⇒ d(x, y) ≥ ε 2. x ∈ X ⇒ ∃y ∈ N : d(x, y) ≤ ε
  • 31. Metric Nets 5 “Nets catch everything that’s big.” Definition 1. Given a metric space X, a metric ε-net is a set N ⊂ X such that 1. x, y ∈ N ⇒ d(x, y) ≥ ε Packing 2. x ∈ X ⇒ ∃y ∈ N : d(x, y) ≤ ε
  • 32. Metric Nets 5 “Nets catch everything that’s big.” Definition 1. Given a metric space X, a metric ε-net is a set N ⊂ X such that 1. x, y ∈ N ⇒ d(x, y) ≥ ε Packing 2. x ∈ X ⇒ ∃y ∈ N : d(x, y) ≤ ε Covering
  • 33. Metric Nets 5 “Nets catch everything that’s big.” Definition 1. Given a metric space X, a metric ε-net is a set N ⊂ X such that 1. x, y ∈ N ⇒ d(x, y) ≥ ε Packing 2. x ∈ X ⇒ ∃y ∈ N : d(x, y) ≤ ε Covering
  • 34. Metric Nets 5 “Nets catch everything that’s big.” Definition 1. Given a metric space X, a metric ε-net is a set N ⊂ X such that 1. x, y ∈ N ⇒ d(x, y) ≥ ε Packing 2. x ∈ X ⇒ ∃y ∈ N : d(x, y) ≤ ε Covering Example: Bounded Euclidean Space
  • 35. Metric Nets 5 “Nets catch everything that’s big.” Definition 1. Given a metric space X, a metric ε-net is a set N ⊂ X such that 1. x, y ∈ N ⇒ d(x, y) ≥ ε Packing 2. x ∈ X ⇒ ∃y ∈ N : d(x, y) ≤ ε Covering Example: Bounded Euclidean Space
  • 36. Metric Nets 5 “Nets catch everything that’s big.” Definition 1. Given a metric space X, a metric ε-net is a set N ⊂ X such that 1. x, y ∈ N ⇒ d(x, y) ≥ ε Packing 2. x ∈ X ⇒ ∃y ∈ N : d(x, y) ≤ ε Covering Example: Bounded Euclidean Space Related to ball packing of radius ε/2.
  • 37. Metric Nets 5 “Nets catch everything that’s big.” Definition 1. Given a metric space X, a metric ε-net is a set N ⊂ X such that 1. x, y ∈ N ⇒ d(x, y) ≥ ε Packing 2. x ∈ X ⇒ ∃y ∈ N : d(x, y) ≤ ε Covering Example: Bounded Euclidean Space Related to ball packing of radius ε/2.
  • 39. Meshes as Metric Nets 6 The underlying metric is not Euclidean (but it’s close).
  • 40. Meshes as Metric Nets 6 The underlying metric is not Euclidean (but it’s close). image source: Alice Project, INRIA
  • 41. Meshes as Metric Nets 6 The underlying metric is not Euclidean (but it’s close). Metric is scaled according the the “feature size”. image source: Alice Project, INRIA
  • 42. Meshes as Metric Nets 6 The underlying metric is not Euclidean (but it’s close). Metric is scaled according the the “feature size”. image source: Alice Project, INRIA
  • 43. Meshes as Metric Nets 6 The underlying metric is not Euclidean (but it’s close). Metric is scaled according the the “feature size”. Quality = bounded aspect ratio image source: Alice Project, INRIA
  • 44. The Greedy Net Algorithm and SVR 7
  • 45. The Greedy Net Algorithm and SVR 7 Add the farthest point from the current set. Repeat.
  • 46. The Greedy Net Algorithm and SVR 7 Add the farthest point from the current set. Repeat. Harder for infinite metric spaces. - Figure out the metric - Decide input or Steiner - Do point location work
  • 47. The Greedy Net Algorithm and SVR 7 Add the farthest point from the current set. Repeat. Harder for infinite metric spaces. - Figure out the metric - Decide input or Steiner - Do point location work Sparse Voronoi Refinement [Hudson, Miller, Phillips 2006]
  • 48. The Delaunay Triangulation is the dual 8 of the Voronoi Diagram.
  • 49. The Delaunay Triangulation is the dual 8 of the Voronoi Diagram.
  • 50. The Delaunay Triangulation is the dual 8 of the Voronoi Diagram.
  • 51. The Delaunay Triangulation is the dual 8 of the Voronoi Diagram. D-ball
  • 52. Quality Meshes 9 D-Balls are Constant Ply Total Complexity is linear in |M| No D-ball intersects more than O(1) others.
  • 53. Point Location and Geometric D&C 10 Idea: Store the uninserted points in the D-balls. When the balls change, make local updates. Lemma (HMP06). A point is touched at most a constant number of times before the radius of the largest D-ball containing it goes down by a factor of 2. Geometric Divide and Conquer: O(n log ∆)
  • 54. Point Location and Geometric D&C 10 Idea: Store the uninserted points in the D-balls. When the balls change, make local updates. Lemma (HMP06). A point is touched at most a constant number of times before the radius of the largest D-ball containing it goes down by a factor of 2. Geometric Divide and Conquer: O(n log ∆)
  • 55. Point Location and Geometric D&C 10 Idea: Store the uninserted points in the D-balls. When the balls change, make local updates. Lemma (HMP06). A point is touched at most a constant number of times before the radius of the largest D-ball containing it goes down by a factor of 2. Geometric Divide and Conquer: O(n log ∆)
  • 56. Point Location and Geometric D&C 10 Idea: Store the uninserted points in the D-balls. When the balls change, make local updates. Lemma (HMP06). A point is touched at most a constant number of times before the radius of the largest D-ball containing it goes down by a factor of 2. Geometric Divide and Conquer: O(n log ∆)
  • 57. Point Location and Geometric D&C 10 Idea: Store the uninserted points in the D-balls. When the balls change, make local updates. Lemma (HMP06). A point is touched at most a constant number of times before the radius of the largest D-ball containing it goes down by a factor of 2. Geometric Divide and Conquer: O(n log ∆)
  • 58. We replace quality with hierarchical quality. 11
  • 59. We replace quality with hierarchical quality. 11
  • 60. We replace quality with hierarchical quality. 11
  • 61. We replace quality with hierarchical quality. 11
  • 62. We replace quality with hierarchical quality. 11 Inside the cage: Old definition of quality.
  • 63. We replace quality with hierarchical quality. 11 Inside the cage: Old definition of quality. Outside: Treat the whole cage as a single object.
  • 64. We replace quality with hierarchical quality. 11 Inside the cage: Old definition of quality. Outside: Treat the whole cage as a single object. All the same properties as quality meshes: ply, degree, etc.
  • 65. With hierarchical meshes, we can add inputs 12 in any order!
  • 66. With hierarchical meshes, we can add inputs 12 in any order!
  • 67. With hierarchical meshes, we can add inputs 12 in any order!
  • 68. With hierarchical meshes, we can add inputs 12 in any order! Goal: Combinatorial Divide and Conquer
  • 69. With hierarchical meshes, we can add inputs 12 in any order! Goal: Combinatorial Divide and Conquer Old: Progress was decreasing the radius by a factor of 2.
  • 70. With hierarchical meshes, we can add inputs 12 in any order! Goal: Combinatorial Divide and Conquer Old: Progress was decreasing the radius by a factor of 2. New: Decrease number of points in a ball by a factor of 2.
  • 71. Range Nets 13 “Nets catch everything that’s big.”
  • 72. Range Nets 13 “Nets catch everything that’s big.” Definition. A range space is a pair (X, R), where X is a set (the vertices) and R is a collection of subsets (the ranges).
  • 73. Range Nets 13 “Nets catch everything that’s big.” Definition. A range space is a pair (X, R), where X is a set (the vertices) and R is a collection of subsets (the ranges). For us X = P and R is the set of open balls.
  • 74. Range Nets 13 “Nets catch everything that’s big.” Definition. A range space is a pair (X, R), where X is a set (the vertices) and R is a collection of subsets (the ranges). For us X = P and R is the set of open balls. Definition. Given a range space (X, R), a set N ⊂ X is a range space ε-net if for all ranges r ∈ R that contain at least ε|X| vertices, r contains a vertex from N .
  • 75. Range Nets 13 “Nets catch everything that’s big.” Definition. A range space is a pair (X, R), where X is a set (the vertices) and R is a collection of subsets (the ranges). For us X = P and R is the set of open balls. Definition. Given a range space (X, R), a set N ⊂ X is a range space ε-net if for all ranges r ∈ R that contain at least ε|X| vertices, r contains a vertex from N . Theorem: [Chazelle & Matousek 96] For ε, d fixed constants, ε-nets of size O(1) can be computed in O(n) deterministic time.
  • 76. Ordering the inputs 14 For each D-Ball, select a 1/2d-net of the points it contains. Take the union of these nets and call it a round. Insert these. Repeat.
  • 77. Ordering the inputs 14 For each D-Ball, select a 1/2d-net of the points it contains. Take the union of these nets and call it a round. Insert these. Repeat.
  • 78. Ordering the inputs 14 For each D-Ball, select a 1/2d-net of the points it contains. Take the union of these nets and call it a round. Insert these. Repeat.
  • 79. Ordering the inputs 14 For each D-Ball, select a 1/2d-net of the points it contains. Take the union of these nets and call it a round. Insert these. Repeat.
  • 80. Ordering the inputs 14 For each D-Ball, select a 1/2d-net of the points it contains. Take the union of these nets and call it a round. Insert these. Repeat.
  • 81. Ordering the inputs 14 For each D-Ball, select a 1/2d-net of the points it contains. Take the union of these nets and call it a round. Insert these. Repeat. Lemma. Let M be a set of vertices. If an open ball B contains no points of M , then B is contained in the union of d D-balls of M .
  • 82. Ordering the inputs 14 For each D-Ball, select a 1/2d-net of the points it contains. Take the union of these nets and call it a round. Insert these. Repeat. log(n) Rounds Lemma. Let M be a set of vertices. If an open ball B contains no points of M , then B is contained in the union of d D-balls of M .
  • 83. The D-Ball Covering Lemma 15 Lemma. Let M be a set of vertices. If an open ball B contains no points of M , then B is contained in the union of d D-balls of M .
  • 84. The D-Ball Covering Lemma 15 Lemma. Let M be a set of vertices. If an open ball B contains no points of M , then B is contained in the union of d D-balls of M . Proof is constructive using Carathéodory’s Theorem.
  • 85. Amortized Cost of a Round is O(n) 16 Watch an uninserted point x. Claim: x only gets touched O(1) times per round.
  • 86. Amortized Cost of a Round is O(n) 16 Watch an uninserted point x. Claim: x only gets touched O(1) times per round. x
  • 87. Amortized Cost of a Round is O(n) 16 Watch an uninserted point x. Claim: x only gets touched O(1) times per round. x
  • 88. Amortized Cost of a Round is O(n) 16 Watch an uninserted point x. Claim: x only gets touched O(1) times per round. y x
  • 89. Amortized Cost of a Round is O(n) 16 Watch an uninserted point x. Claim: x only gets touched O(1) times per round. y x
  • 90. Amortized Cost of a Round is O(n) 16 Watch an uninserted point x. Claim: x only gets touched O(1) times per round. y y touches x => y is “close” to x close = 2 hops among D-balls x
  • 91. Amortized Cost of a Round is O(n) 16 Watch an uninserted point x. Claim: x only gets touched O(1) times per round. y y touches x => y is “close” to x close = 2 hops among D-balls x
  • 92. Amortized Cost of a Round is O(n) 16 Watch an uninserted point x. Claim: x only gets touched O(1) times per round. y y touches x => y is “close” to x close = 2 hops among D-balls Only O(1) D-balls are within 2 hops. x
  • 93. Amortized Cost of a Round is O(n) 16 Watch an uninserted point x. Claim: x only gets touched O(1) times per round. y y touches x => y is “close” to x close = 2 hops among D-balls Only O(1) D-balls are within 2 hops. x x
  • 94. Amortized Cost of a Round is O(n) 16 Watch an uninserted point x. Claim: x only gets touched O(1) times per round. y y touches x => y is “close” to x close = 2 hops among D-balls Only O(1) D-balls are within 2 hops. x x
  • 95. Amortized Cost of a Round is O(n) 16 Watch an uninserted point x. Claim: x only gets touched O(1) times per round. y y touches x => y is “close” to x close = 2 hops among D-balls Only O(1) D-balls are within 2 hops. x x
  • 96. Amortized Cost of a Round is O(n) 16 Watch an uninserted point x. Claim: x only gets touched O(1) times per round. y y touches x => y is “close” to x close = 2 hops among D-balls Only O(1) D-balls are within 2 hops. x Only O(1) points are added x to any D-ball in a round.
  • 97. Amortized Cost of a Round is O(n) 16 Watch an uninserted point x. Claim: x only gets touched O(1) times per round. y y touches x => y is “close” to x close = 2 hops among D-balls Only O(1) D-balls are within 2 hops. x Only O(1) points are added x to any D-ball in a round. O(n) total work per round.
  • 98. Summary 17
  • 99. Summary 17 Meshing
  • 100. Summary 17 Meshing Metric Nets
  • 101. Summary 17 Meshing Metric Nets Geometric D&C
  • 102. Summary 17 Meshing Metric Nets Geometric D&C Range Nets
  • 103. Summary 17 Meshing Metric Nets Geometric D&C Range Nets Ball Covering
  • 104. Summary 17 Meshing Metric Nets Geometric D&C Range Nets Ball Covering Combinatorial D&C
  • 105. Summary 17 Meshing Metric Nets Geometric D&C Range Nets Ball Covering Combinatorial D&C Amortized Point Location
  • 106. Summary 17 Meshing Metric Nets Geometric D&C Range Nets Ball Covering Combinatorial D&C Amortized Point Location Finally, O(n log n + m) point meshing
  • 107. Summary 17 Meshing Metric Nets Geometric D&C Range Nets Ball Covering Combinatorial D&C Amortized Point Location Finally, O(n log n + m) point meshing Thanks.