On the Union of On the Union of Cylinders Cylinders in in 3 Esther Esther Ezra Ezra Duke University Duke University
Dec 20, 2015
On the Union of Cylinders On the Union of Cylinders in in 3
EstherEsther EzraEzra
Duke UniversityDuke University
S = {S1, …, Sn} a collection of n simply-shaped bodies in d-space.
The union of S consists of all region of d that are covered by at least one element of S .
Example: Union of triangles in the planeAll portions of the plane that are covered by the triangles.
Union of simply-shaped bodiesUnion of simply-shaped bodies
The union boundary
The union has two holes
The arrangement A(S) is the subdivision
of space induced by S .
The maximal number of
vertices/edges/faces of A(S) : (nd)
The problem:
What is the maximal number of
vertices/edges/faces that form
the boundary of the union of the
bodies in S ?
Trivial bound: O(nd) (tight!).
The Union as a substructure in The Union as a substructure in arrangementsarrangements
Combinatorial complexity.
Union is a substructure of
the arrangement
Previous results in 2D:Previous results in 2D:Fat objectsFat objects
n -fat triangles.Number of holes in the union: O(n) .Union complexity: O(n loglog n) . [Matousek et al. 1994]
Fat curved objects (of constant description complexity)n convex -fat objects.Union complexity: O*(n) [Efrat, Sharir. 2000].
n -curved objects.Union complexity: O*(n) [Efrat, Katz. 1999].
Union complexity is ~ “one order of magnitude” smaller than the arrangement complexity!
Each of the angles
O(n1+) , for any >0 . r
r’
r’/r ,and 1.
r diam(C) ,
D C, < 1 is a constant.
rC
D
depends linearly on 1/ log (1/) . [Pach, Tardos. 2002]
Previous results in 3D:Previous results in 3D:Fat ObjectsFat Objects
Congruent cubesn arbitrarily aligned (nearly) congruent cubes. Union complexity: O*(n2) [Pach, Safruti, Sharir 2003] . Generalization: Arbitrary side-length cubesUnion complexity: O*(n2) [Ezra, Sharir 2007].
Simple curved objects n congruent infinite cylinders.Union complexity: O*(n2) [Agarwal, Sharir 2000].
n -round objects.Union complexity: O*(n2) [Aronov et al. 2006].
Union complexity is ~ “one order of magnitude” smaller than the arrangement complexity!
Each of these bounds is nearly-optimal.
rC
r diam(C) , D C, < 1 is
a constant.
D
The case of infinite cylindersThe case of infinite cylinders
Input:K = {K1, …, Kn} a collection of n infinite cylinders in R3 of arbitrary radii.
What is the combinatorial complexity of the union?
Trivial bound: O(n3).
Conjectured by [agarwal, sharir 2000]:Upper bound: O(n2) (?)
It is crucial that the cylinders are infinite.Otherwise, the union complexity is (n3) .
The vertices of the unionThe vertices of the union
Each vertex v of the union is generated
by the intersection of a triple of cylinders.
Reduce the problem to:
How many (intersection) vertices
appear on the boundary of the union?
# edges + # faces = O(# vertices + n2)
v
Quadratic lower boundsQuadratic lower bounds
T
B
The number of vertices of the union is Ω(n2).
Each (top) intersection line of a consecutive pair of cylinders
in B intersects all the top cylinders in T.
B
T
Envelopes in Envelopes in dd-space-space
Input:
F = {F1, …, Fn} a collection of n
(d-1)-variate functions.
The lower envelope EF of F is the
pointwise minimum of these functions:
EF(x) = min{F F} F(x) , for x d-1 .
[Sharir 1994]
The complexity of the lower envelope
of n simple algebraic surfaces in
d-space is O*(nd-1) .
The lower envelope is monotone.
O*(n2) for d=3 .
The sandwich regionThe sandwich region
[Agarwal et al. 1996, koltun sharir 2003]The complexity of the sandwich region enclosed between the lower envelope of n simple algebraic surfaces in d-space and the upper envelope of another such collection is O*(nd-1) , for d 4.
For d=3, the complexity of the sandwich region is: O*(n2)
Main idea: Main idea: Reduce cylinders to envelopesReduce cylinders to envelopes
• Decompose space into vertical prism cells .
• Partition the boundary of the cylindersinto canonical strips.
• Show that in each cell most of the union vertices v appear on the sandwich region enclosed between two envelopes of the strips.
Apply the bound O*(n2) of [Agarwal et al. 1996].
From cylinders to envelopesFrom cylinders to envelopes
Use (1/r)-cuttings in order to partition space.
(1/r)-cutting: A useful divide & conquer paradigm.
Fix a parameter 1 r n .
(1/r)-cutting is a subdivision of
space into openly disjoint simplicial
subcells , s.t., each cell meets at
most n/r elements of the input .
The 1-dim problem:We have a set of n points on the real line.Choose a random sample R of r log r points :
With high probability, the points in R partition the real line into roughly “equal pieces”.
How to construct How to construct (1/r)-(1/r)-cuttingscuttings
The number of the non-sampled points is n/r,
with high probability!
n/r
Constructing Constructing (1/r)-(1/r)-cuttings:cuttings:
First step:
Construct a (1/r)-cutting in the xy-plane:
1. Project all the cylinders in K onto the xy-plane. Obtain a set of n strips.
Let L be the set of the bounding lines of the projections of K .
Each cylinder is projected to
a strip.
Constructing Constructing (1/r)-(1/r)-cuttings:cuttings:
2. Choose a random sample R of O(r log r) lines of L (r is a fixed parameter).
3. Form the planar arrangement A(R) of R: Each cell C of A(R) is a convex polygon.Overall complexity: O(r2 log2r).
4. Triangulate each cell C.Number of simplices: O(r2 log2r)
Theorem [Clarkson & Shor] [Haussler & Welzl] :Each simplicial cell is crossed by n/r lines of L, with high probability.
C
The cutting propertyThe cutting property
Second step:
5. Lift all the simplices in the z-direction into vertical prisms .Obtain a collection of O(r2 log2r) prisms.
Each prism cell meets only n/r
silhouette-lines of the cylinders in K .
The problem decompositionThe problem decompositionConstruct a (1/r)-cutting for K as above.Fix a prism-cell of .Classify each cylinder K that meets as:
• wide – if the radius of K satisfies: w/2, where w is the width of .
• narrow - otherwise.
Main goal:• Wide cylinders behave as functions within .• The number of narrow cylinders in is small ( n/r ):
A narrow cylinder in must have a silhouette-line crossing .
HH’
w
Classification of the union vertices
Each vertex v of the union that appears in is classified as:
• Good - if all three cylinders that are incident to v are wide in . v lies in the sandwich region enclosed between two envelopes.
• Bad - otherwise.
Framework:• Construct a recursive (1/r)-cutting for K .
• Most of the vertices of the union become good at some recursive step.
• Bound the number of bad vertices by brute forceat the bottom of the recursion. O*(n2) .
Apply the nearly-quadratic bound of
[Agarwal et al. 1996].
Overall bound:O*(n2)
The recursion treeThe recursion tree
N = n, W = 0
N n/r, W n N n/r, W n N n/r, W n1
r22
= 3 Partitioning 3 into O*(r2) prisms: Some narrow become wide.
…
Dispose of overall O*(n2) good vertices.
Nn/r2, Wn/r Nn/r2, Wn/r Nn/r2, Wn/r ……
Dispose of overall O*(n2) good vertices.
N=O(1), Wn/r N=O(1), Wn/r N=O(1), Wn/r
… #good vertices = O*(n2)
#bad vertices = O*(n2)
The overall bound is: O*(n2) .# nodes in bottom of recurrence = O*(n2)
Previous results in 3D:Previous results in 3D:Fat ObjectsFat Objects
Fat tetrahedran -fat tetrahedra of arbitrary sizes.Union complexity: O*(n2) [Ezra, Sharir 2007].
Special cases: n arbitrary side-length cubes.Union complexity: O*(n2) .
n -fat triangular (infinite) prisms, having cross sections of arbitrary sizes.Union complexity: O*(n2) .
n -fat triangles.A simpler proof that shows a bound of O*(n) .
Each of these bounds is nearly-optimal.
fat
Extend the notion of “fatness”Extend the notion of “fatness”A cylinder is not fat!
A wider definition for fatness:We can sweep K with a plane h whose 2D cross section with each K K is always fat.
The 2D cross section is a set of fat ellipses.
Lemma:Let K’ K be a subset of K that captures most of the union vertices.Then we can sweep K’ with a plane h whose 2D cross section with each K K’ is always fat.
h
h
h is the xy-plane.
Envelopes in Envelopes in dd-space-space
Input:
F = {F1, …, Fn} a collection of n (d-1)-variate functions.
The lower envelope EF of F is the pointwise minimum of these functions.
That is, EF is the graph of the following function:
EF(x) = min{F F} F(x) , for x d-1 .
The lower envelope is monotone.
The complexity of envelopesThe complexity of envelopes
[Sharir 1994]
The complexity of the lower envelope
of n simple algebraic surfaces in
d-space is O*(nd-1) .
For d=3, the complexity of
the lower envelope: O*(n2)
The 1-dim problem:We have a set of n points on the real line.Choose a random sample R of r log r points :
With high probability, the points in R partition the real line into roughly “equal pieces”.
How to construct How to construct (1/r)-(1/r)-cuttingscuttings
The number of the non-sampled points is n/r,
with high probability!
n/r
The number of narrow cylinders in a single prism-cell
K
l1
l2
l1
l2
2
The silhouette-lines of K do not meet .
The projection onto the xy-plane.
Claim: A narrow cylinder K in must have a silhouette-line crossing .
w
Conclusion: By the cutting properties, meets only a small number of narrow cylinders.
Wide cylinders behave as functions Wide cylinders behave as functions inside inside
Main idea:Partition the boundary of the cylinders into canonical strips .
A direction is good for a strip if when entering from into the cylinder K bounded by in the -direction, we exit before leaving K.
Key lemma:Each strip of a wide cylinder has many good directions.
There is a common good direction ,for which all strips behave as functions.
The strips behave as functions in the
-direction inside .
Construct the envelopes in the
-direction.
From technical reasons.
Wide cylinders behave as functions Wide cylinders behave as functions inside inside
Main idea:Partition the boundary of the cylinders into canonical strips .
A direction is good for a strip if when entering from into the cylinder K bounded by in the -direction, we exit before leaving K.
is good for a vertex v of the union,if it is good for each of its three incident strips.
The strips behave as functions in the
-direction inside .
From technical reasons.
1
2
3
v
Wide cylinders behave as functions Wide cylinders behave as functions inside inside
Key lemma:
Each vertex v incident to three wide cylinders has many good directions.
There is a common good direction ,for which all strips behave as functions.
Construct the envelopes in the
-direction.
Wide cylinders behave as functions Wide cylinders behave as functions inside inside
Main idea:Partition the boundary of the cylinders into canonical strips .
A direction is good for a strip if when entering from into the cylinder K bounded by in the -direction, we exit before leaving K.
Key lemma:Each strip of a wide cylinder has many good directions.
There is a common good direction ,for which all strips behave as functions.
The strips behave as functions in the
-direction inside .
Construct the envelopes in the
-direction.
From technical reasons.
The overall analysisThe overall analysis
• Construct a recursive (1/r)-cutting for K .
• Most of the vertices of the union become good at some recursive step.
• Bound the number of bad vertices by brute forceat the bottom of the recursion.
The overall bound is: O*(n2) .
The recursion treeThe recursion tree
N = n, W = 0
N n/r, W n N n/r, W n N n/r, W n1
r22
= 3 Partitioning 3 into O*(r2) prisms: Some narrow become wide.
…
Dispose of overall O*(n2) good vertices.
Nn/r2, Wn/r Nn/r2, Wn/r Nn/r2, Wn/r ……
Dispose of overall O*(n2) good vertices.
N=O(1), Wn/r N=O(1), Wn/r N=O(1), Wn/r
… #good vertices = O*(n2)
#bad vertices = O*(n2)
The overall bound is: O*(n2) .# nodes in bottom of recurrence = O*(n2)
The case of congruent cylinders:
A simple proofSimplifying the proof of [Agarwal, Sharir 2000]:Since all cylinders have equal radii,all cylinders K meeting are either wide or narrow within .
Each bad vertex v in must be incident to a triple of narrow cylinders!(v cannot be incident to both wide and narrow cylinders.)
Does not hold for cylinders with arbitrary radii
The case of congruent cylinders
• Construct a recursive (1/r)-cutting for K (r - a sufficiently large constant).Number of cells in the cutting: O(r2) .Each cell meets at most:
• n wide cylinders of K . n/r narrow cylinders of K.
• Bound # good vertices in each before applying a new recursive step.
1. Bound # bad vertices by brute-force at the bottom of the recursion.
U(n) = O*(n2) + O*(r2) U(n/r)
Solution: U(n) = O*(n2) .
Number of (bad) vertices on the
union boundary.