ball packings and fat voronoi diagrams

Post on 11-May-2015

382 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

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

Ball Packings and

Fat Voronoi Diagrams

Don Sheehy

Ball Packings

Ball Packings

Packing unit balls into a square:

Ball Packings

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

Ball Packings

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

Ball Packings

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

Goal: Find a small, maximal packing.

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.

Problem:

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

Problem:

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

Upper Bound

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.

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

!

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

!

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

!

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

!

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!

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!

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!

Voronoi Aspect Ratio

Voronoi Aspect Ratio

Ball Packing

r ! 1, R < 2

Voronoi Aspect Ratio

Ball Packing

r ! 1, R < 2R

r< constant

Voronoi Aspect Ratio

Ball Packing Meshing

r ! 1, R < 2R

r< constant

Voronoi Aspect Ratio

Ball Packing Meshing

r ! 1, R < 2R

r< constant

Good Aspect Ratio Voronoi Diagram

Good Quality Delaunay Triangulation

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.

The Local Feature Size

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

P: inputM: output

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

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.

The Upper Bound

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

!d

!B

1f(x)d dx.

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

!d

!B

1f(x)d dx.

proof.

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.

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.

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.

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.

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.

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.

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.

The Lower Bound

The Lower BoundTheorem: |M | > 1

kd!d

!B

1f(x)d dx.

The Lower BoundTheorem: |M | > 1

kd!d

!B

1f(x)d dx.

proof.

!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.

!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.

!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.

!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.

!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.

!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.

!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.

Degree BoundsHow many neighbors can any point have?

Degree BoundsHow many neighbors can any point have?

!

q!Q

vol(bq) >!

q!Q

vol

"

bp

k

#

= |Q|$rp

k

%d

!d.

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.

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

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|

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)

Fat Voronoi DiagramsIdea: Let the center shift.

Fat Voronoi DiagramsIdea: Let the center shift.

Good Aspect Ratio Fat

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).

Fat Voronoi diagrams in the plane.

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

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

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

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

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

Fat Voronoi diagrams in the plane.

!q

Here’s the trick.

Fat Voronoi diagrams in the plane.

!q

!q

Here’s the trick.

Fat Voronoi diagrams in the plane.

!q

!q

2! =

!

q!Q

"q =

!

q!Q

#q

Here’s the trick.

Fat Voronoi diagrams in the plane.

!q

!q

2! =

!

q!Q

"q =

!

q!Q

#q

Here’s the trick.

Is this new?

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.

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?

Thank you.

top related