Ball Packings and Fat Voronoi Diagrams
-
Upload
don-sheehy -
Category
Technology
-
view
382 -
download
1
description
Transcript of Ball Packings and Fat Voronoi Diagrams
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.