ball packings and fat voronoi diagrams

68
Ball Packings and Fat Voronoi Diagrams Don Sheehy

Upload: don-sheehy

Post on 11-May-2015

382 views

Category:

Technology


1 download

DESCRIPTION

Here's a toy problem: What is the SMALLEST number of unit balls you can fit in a box such that no more will fit? In this talk, I will show how just thinking about a naive greedy approach to this problem leads to a simple derivation of several of the most important theoretical results in the field of mesh generation. We'll prove classic upper and lower bounds on both the number of balls and the complexity of their interrelationships. Then, we'll relate this problem to a similar one called the Fat Voronoi Problem, in which we try to find point sets such that every Voronoi cell is fat (the ratio of the radii of the largest contained to smallest containing ball is bounded). This problem has tremendous promise in the future of mesh generation as it can circumvent the classic lowerbounds presented in the first half of the talk. Unfortunately the simple approach no longer works. In the end we will show that the number of neighbors of any cell in a Fat Voronoi Diagram in the plane is bounded by a constant (if you think that's obvious, spend a minute to try to prove it). We'll also talk a little about the higher dimensional version of the problem and its wide range of applications.

TRANSCRIPT

Page 1: Ball Packings and Fat Voronoi Diagrams

Ball Packings and

Fat Voronoi Diagrams

Don Sheehy

Page 2: Ball Packings and Fat Voronoi Diagrams

Ball Packings

Page 3: Ball Packings and Fat Voronoi Diagrams

Ball Packings

Packing unit balls into a square:

Page 4: Ball Packings and Fat Voronoi Diagrams

Ball Packings

Packing unit balls into a square:Packing means disjoint interiors.

Page 5: Ball Packings and Fat Voronoi Diagrams

Ball Packings

Packing unit balls into a square:Packing means disjoint interiors.Maximal means no more will fit.

Page 6: Ball Packings and Fat Voronoi Diagrams

Ball Packings

Packing unit balls into a square:Packing means disjoint interiors.Maximal means no more will fit.

Goal: Find a small, maximal packing.

Page 7: Ball Packings and Fat Voronoi Diagrams

Ball Packings

Packing unit balls into a square:Packing means disjoint interiors.Maximal means no more will fit.

Goal: Find a small, maximal packing.

Greedy Algorithm: - Find the biggest empty space. - Add another ball there.

Page 8: Ball Packings and Fat Voronoi Diagrams

Problem:

Given n balls in a s x s box, how many total will there be after running the greedy algorithm?

Page 9: Ball Packings and Fat Voronoi Diagrams

Problem:

Given n balls in a s x s box, how many total will there be after running the greedy algorithm?

Upper Bound

Page 10: Ball Packings and Fat Voronoi Diagrams

Problem:

Given n balls in a s x s box, how many total will there be after running the greedy algorithm?

Upper Bound

Total volume is at most s2.

Page 11: Ball Packings and Fat Voronoi Diagrams

Problem:

Given n balls in a s x s box, how many total will there be after running the greedy algorithm?

Upper Bound

Total volume is at most s2.

s2

!

Page 12: Ball Packings and Fat Voronoi Diagrams

Problem:

Given n balls in a s x s box, how many total will there be after running the greedy algorithm?

Upper Bound

Total volume is at most s2.

(Packing Argument)s2

!

Page 13: Ball Packings and Fat Voronoi Diagrams

Problem:

Given n balls in a s x s box, how many total will there be after running the greedy algorithm?

Upper Bound Lower Bound

Total volume is at most s2.

(Packing Argument)s2

!

Page 14: Ball Packings and Fat Voronoi Diagrams

Problem:

Given n balls in a s x s box, how many total will there be after running the greedy algorithm?

Upper Bound Lower Bound

Total volume is at most s2. Each Voronoi cell is contained in a ball of radius 2.

(Packing Argument)s2

!

Page 15: Ball Packings and Fat Voronoi Diagrams

Problem:

Given n balls in a s x s box, how many total will there be after running the greedy algorithm?

Upper Bound Lower Bound

Total volume is at most s2. Each Voronoi cell is contained in a ball of radius 2.

(Packing Argument)s2

!

s2

4!

Page 16: Ball Packings and Fat Voronoi Diagrams

Problem:

Given n balls in a s x s box, how many total will there be after running the greedy algorithm?

Upper Bound Lower Bound

Total volume is at most s2. Each Voronoi cell is contained in a ball of radius 2.

(Packing Argument) (Covering Argument)s2

!

s2

4!

Page 17: Ball Packings and Fat Voronoi Diagrams

Problem:

Given n balls in a s x s box, how many total will there be after running the greedy algorithm?

Upper Bound Lower Bound

Total volume is at most s2. Each Voronoi cell is contained in a ball of radius 2.

(Packing Argument) (Covering Argument)

Why care about a factor of 4? Because 4 = 2d

.

s2

!

s2

4!

Page 18: Ball Packings and Fat Voronoi Diagrams

Voronoi Aspect Ratio

Page 19: Ball Packings and Fat Voronoi Diagrams

Voronoi Aspect Ratio

Ball Packing

r ! 1, R < 2

Page 20: Ball Packings and Fat Voronoi Diagrams

Voronoi Aspect Ratio

Ball Packing

r ! 1, R < 2R

r< constant

Page 21: Ball Packings and Fat Voronoi Diagrams

Voronoi Aspect Ratio

Ball Packing Meshing

r ! 1, R < 2R

r< constant

Page 22: Ball Packings and Fat Voronoi Diagrams

Voronoi Aspect Ratio

Ball Packing Meshing

r ! 1, R < 2R

r< constant

Good Aspect Ratio Voronoi Diagram

Good Quality Delaunay Triangulation

Page 23: Ball Packings and Fat Voronoi Diagrams

Voronoi Aspect Ratio

Ball Packing Meshing

r ! 1, R < 2R

r< constant

Good Aspect Ratio Voronoi Diagram

Good Quality Delaunay Triangulation

Voronoi Refinement Meshing:While any Voronoi cell has “bad” aspect ratio,add its farthest corner.

Page 24: Ball Packings and Fat Voronoi Diagrams

The Local Feature Size

f(x) = distance to second nearest point of P.

P: inputM: output

Page 25: Ball Packings and Fat Voronoi Diagrams

The Local Feature Size

f(x) = distance to second nearest point of P.

P: inputM: output

Key fact about Greedy Voronoi refinement:

for all vertices v in M.

rv ! f(v) ! krv

Page 26: Ball Packings and Fat Voronoi Diagrams

The Local Feature Size

f(x) = distance to second nearest point of P.

P: inputM: output

Key fact about Greedy Voronoi refinement:

for all vertices v in M.

rv ! f(v) ! krv

The local feature size tells us how big the ball for v is.

Page 27: Ball Packings and Fat Voronoi Diagrams

The Upper Bound

Page 28: Ball Packings and Fat Voronoi Diagrams

The Upper BoundTheorem: |M | < (k+1)d

!d

!B

1f(x)d dx.

Page 29: Ball Packings and Fat Voronoi Diagrams

The Upper BoundTheorem: |M | < (k+1)d

!d

!B

1f(x)d dx.

proof.

Page 30: Ball Packings and Fat Voronoi Diagrams

The Upper Bound

!B

1

f(x)ddx =

"v!M

!Vor(v)

1

f(x)ddx

>"v!M

!bv

1

f(x)ddx

!"v!M

!bv

1

((k + 1)rv)ddx

="v!M

rdv!d

((k + 1)rv)d

= |M |!d

(k + 1)d.

Theorem: |M | < (k+1)d

!d

!B

1f(x)d dx.

proof.

Page 31: Ball Packings and Fat Voronoi Diagrams

The Upper Bound

!B

1

f(x)ddx =

"v!M

!Vor(v)

1

f(x)ddx

>"v!M

!bv

1

f(x)ddx

!"v!M

!bv

1

((k + 1)rv)ddx

="v!M

rdv!d

((k + 1)rv)d

= |M |!d

(k + 1)d.

Theorem: |M | < (k+1)d

!d

!B

1f(x)d dx.

proof.

Page 32: Ball Packings and Fat Voronoi Diagrams

The Upper Bound

Recall: f(v) ! krv.

!B

1

f(x)ddx =

"v!M

!Vor(v)

1

f(x)ddx

>"v!M

!bv

1

f(x)ddx

!"v!M

!bv

1

((k + 1)rv)ddx

="v!M

rdv!d

((k + 1)rv)d

= |M |!d

(k + 1)d.

Theorem: |M | < (k+1)d

!d

!B

1f(x)d dx.

proof.

Page 33: Ball Packings and Fat Voronoi Diagrams

The Upper Bound

Recall: f(v) ! krv.

!B

1

f(x)ddx =

"v!M

!Vor(v)

1

f(x)ddx

>"v!M

!bv

1

f(x)ddx

!"v!M

!bv

1

((k + 1)rv)ddx

="v!M

rdv!d

((k + 1)rv)d

= |M |!d

(k + 1)d.

Theorem: |M | < (k+1)d

!d

!B

1f(x)d dx.

proof.

Claim: If x ! bv,then f(x) " (k + 1)rv.

Page 34: Ball Packings and Fat Voronoi Diagrams

The Upper Bound

Recall: f(v) ! krv.

!B

1

f(x)ddx =

"v!M

!Vor(v)

1

f(x)ddx

>"v!M

!bv

1

f(x)ddx

!"v!M

!bv

1

((k + 1)rv)ddx

="v!M

rdv!d

((k + 1)rv)d

= |M |!d

(k + 1)d.

Theorem: |M | < (k+1)d

!d

!B

1f(x)d dx.

proof.

Claim: If x ! bv,then f(x) " (k + 1)rv.

Page 35: Ball Packings and Fat Voronoi Diagrams

The Upper Bound

Recall: f(v) ! krv.

!B

1

f(x)ddx =

"v!M

!Vor(v)

1

f(x)ddx

>"v!M

!bv

1

f(x)ddx

!"v!M

!bv

1

((k + 1)rv)ddx

="v!M

rdv!d

((k + 1)rv)d

= |M |!d

(k + 1)d.

Theorem: |M | < (k+1)d

!d

!B

1f(x)d dx.

proof.

Claim: If x ! bv,then f(x) " (k + 1)rv.

Page 36: Ball Packings and Fat Voronoi Diagrams

The Upper Bound

Recall: f(v) ! krv.

!B

1

f(x)ddx =

"v!M

!Vor(v)

1

f(x)ddx

>"v!M

!bv

1

f(x)ddx

!"v!M

!bv

1

((k + 1)rv)ddx

="v!M

rdv!d

((k + 1)rv)d

= |M |!d

(k + 1)d.

Theorem: |M | < (k+1)d

!d

!B

1f(x)d dx.

proof.

Claim: If x ! bv,then f(x) " (k + 1)rv.

Page 37: Ball Packings and Fat Voronoi Diagrams

The Lower Bound

Page 38: Ball Packings and Fat Voronoi Diagrams

The Lower BoundTheorem: |M | > 1

kd!d

!B

1f(x)d dx.

Page 39: Ball Packings and Fat Voronoi Diagrams

The Lower BoundTheorem: |M | > 1

kd!d

!B

1f(x)d dx.

proof.

Page 40: Ball Packings and Fat Voronoi Diagrams

!B

1

f(x)ddx =

"v!M

!Vor(v)

1

f(x)ddx

!"v!M

!Vor(v)

1

rdvdx

<"v!M

!kbv

1

rdvdx

="v!M

kdrdv!d

rdv

= |M |kd!d.

The Lower BoundTheorem: |M | > 1

kd!d

!B

1f(x)d dx.

proof.

Page 41: Ball Packings and Fat Voronoi Diagrams

!B

1

f(x)ddx =

"v!M

!Vor(v)

1

f(x)ddx

!"v!M

!Vor(v)

1

rdvdx

<"v!M

!kbv

1

rdvdx

="v!M

kdrdv!d

rdv

= |M |kd!d.

The Lower Bound

Claim: If x ! Vor(v) then f(x) " rv.

Theorem: |M | > 1kd!d

!B

1f(x)d dx.

proof.

Page 42: Ball Packings and Fat Voronoi Diagrams

!B

1

f(x)ddx =

"v!M

!Vor(v)

1

f(x)ddx

!"v!M

!Vor(v)

1

rdvdx

<"v!M

!kbv

1

rdvdx

="v!M

kdrdv!d

rdv

= |M |kd!d.

The Lower Bound

Claim: If x ! Vor(v) then f(x) " rv.

Theorem: |M | > 1kd!d

!B

1f(x)d dx.

proof.

Page 43: Ball Packings and Fat Voronoi Diagrams

!B

1

f(x)ddx =

"v!M

!Vor(v)

1

f(x)ddx

!"v!M

!Vor(v)

1

rdvdx

<"v!M

!kbv

1

rdvdx

="v!M

kdrdv!d

rdv

= |M |kd!d.

The Lower Bound

Claim: If x ! Vor(v) then f(x) " rv.

Theorem: |M | > 1kd!d

!B

1f(x)d dx.

Claim: Vor(v) ! kbv.

proof.

Page 44: Ball Packings and Fat Voronoi Diagrams

!B

1

f(x)ddx =

"v!M

!Vor(v)

1

f(x)ddx

!"v!M

!Vor(v)

1

rdvdx

<"v!M

!kbv

1

rdvdx

="v!M

kdrdv!d

rdv

= |M |kd!d.

The Lower Bound

Claim: If x ! Vor(v) then f(x) " rv.

Theorem: |M | > 1kd!d

!B

1f(x)d dx.

Claim: Vor(v) ! kbv.

proof.

Page 45: Ball Packings and Fat Voronoi Diagrams

!B

1

f(x)ddx =

"v!M

!Vor(v)

1

f(x)ddx

!"v!M

!Vor(v)

1

rdvdx

<"v!M

!kbv

1

rdvdx

="v!M

kdrdv!d

rdv

= |M |kd!d.

The Lower Bound

Claim: If x ! Vor(v) then f(x) " rv.

Theorem: |M | > 1kd!d

!B

1f(x)d dx.

Claim: Vor(v) ! kbv.

proof.

Page 46: Ball Packings and Fat Voronoi Diagrams

!B

1

f(x)ddx =

"v!M

!Vor(v)

1

f(x)ddx

!"v!M

!Vor(v)

1

rdvdx

<"v!M

!kbv

1

rdvdx

="v!M

kdrdv!d

rdv

= |M |kd!d.

The Lower Bound

Claim: If x ! Vor(v) then f(x) " rv.

Theorem: |M | > 1kd!d

!B

1f(x)d dx.

Claim: Vor(v) ! kbv.

proof.

Page 47: Ball Packings and Fat Voronoi Diagrams

Degree BoundsHow many neighbors can any point have?

Page 48: Ball Packings and Fat Voronoi Diagrams

Degree BoundsHow many neighbors can any point have?

!

q!Q

vol(bq) >!

q!Q

vol

"

bp

k

#

= |Q|$rp

k

%d

!d.

Page 49: Ball Packings and Fat Voronoi Diagrams

Degree BoundsHow many neighbors can any point have?

!

q!Q

vol(bq) < vol(3kbp) = (3krp)d!d.

!

q!Q

vol(bq) >!

q!Q

vol

"

bp

k

#

= |Q|$rp

k

%d

!d.

Page 50: Ball Packings and Fat Voronoi Diagrams

Degree BoundsHow many neighbors can any point have?

!

q!Q

vol(bq) < vol(3kbp) = (3krp)d!d.

!

q!Q

vol(bq) >!

q!Q

vol

"

bp

k

#

= |Q|$rp

k

%d

!d.

! |Q| < 3d

Page 51: Ball Packings and Fat Voronoi Diagrams

Degree BoundsHow many neighbors can any point have?

!

q!Q

vol(bq) < vol(3kbp) = (3krp)d!d.

!

q!Q

vol(bq) >!

q!Q

vol

"

bp

k

#

= |Q|$rp

k

%d

!d.

! |Q| < 3d

Total Voronoi Edges < 3d|M|

Page 52: Ball Packings and Fat Voronoi Diagrams

Degree BoundsHow many neighbors can any point have?

!

q!Q

vol(bq) < vol(3kbp) = (3krp)d!d.

!

q!Q

vol(bq) >!

q!Q

vol

"

bp

k

#

= |Q|$rp

k

%d

!d.

! |Q| < 3d

Total Voronoi Edges < 3d|M|

Same tricks as before!(Packing Argument)

Page 53: Ball Packings and Fat Voronoi Diagrams

Fat Voronoi DiagramsIdea: Let the center shift.

Page 54: Ball Packings and Fat Voronoi Diagrams

Fat Voronoi DiagramsIdea: Let the center shift.

Good Aspect Ratio Fat

Page 55: Ball Packings and Fat Voronoi Diagrams

Fat Voronoi DiagramsIdea: Let the center shift.

Good Aspect Ratio Fat

Fat Voronoi Conjecture:

The number of neighbors of any cell in a fat Voronoi diagram is 2O(d).

Page 56: Ball Packings and Fat Voronoi Diagrams

Fat Voronoi diagrams in the plane.

Page 57: Ball Packings and Fat Voronoi Diagrams

Fat Voronoi diagrams in the plane.Here’s the trick.

Page 58: Ball Packings and Fat Voronoi Diagrams

Fat Voronoi diagrams in the plane.Here’s the trick.

Page 59: Ball Packings and Fat Voronoi Diagrams

Fat Voronoi diagrams in the plane.Here’s the trick.

Page 60: Ball Packings and Fat Voronoi Diagrams

Fat Voronoi diagrams in the plane.Here’s the trick.

Page 61: Ball Packings and Fat Voronoi Diagrams

Fat Voronoi diagrams in the plane.Here’s the trick.

Page 62: Ball Packings and Fat Voronoi Diagrams

Fat Voronoi diagrams in the plane.

!q

Here’s the trick.

Page 63: Ball Packings and Fat Voronoi Diagrams

Fat Voronoi diagrams in the plane.

!q

!q

Here’s the trick.

Page 64: Ball Packings and Fat Voronoi Diagrams

Fat Voronoi diagrams in the plane.

!q

!q

2! =

!

q!Q

"q =

!

q!Q

#q

Here’s the trick.

Page 65: Ball Packings and Fat Voronoi Diagrams

Fat Voronoi diagrams in the plane.

!q

!q

2! =

!

q!Q

"q =

!

q!Q

#q

Here’s the trick.

Is this new?

Page 66: Ball Packings and Fat Voronoi Diagrams

Fat Voronoi diagrams in the plane.

!q

!q

2! =

!

q!Q

"q =

!

q!Q

#q

Here’s the trick.

Is this new?

Punchline: Fat Voronoi Conjecture Holds in the plane.

Page 67: Ball Packings and Fat Voronoi Diagrams

Fat Voronoi diagrams in the plane.

!q

!q

2! =

!

q!Q

"q =

!

q!Q

#q

Here’s the trick.

Is this new?

Punchline: Fat Voronoi Conjecture Holds in the plane.

3D?

Page 68: Ball Packings and Fat Voronoi Diagrams

Thank you.