340 likes | 467 Views
On the Union of Cylinders in 3 Esther Ezra Duke University. Union of simply-shaped bodies. S = {S 1 , …, S n } 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:
E N D
Union of simply-shaped bodies S = {S1, …, Sn} a collection of n simply-shaped bodies in d-space. The union of Sconsists of all region of d that are covered by at least one element of S. Example: Union of triangles in the plane All portions of the plane that are covered by the triangles. The union has two holes The union boundary
The Union as a substructure in arrangements Union is a substructure of the arrangement The arrangementA(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 inS? Trivial bound:O(nd) (tight!). Combinatorial complexity.
Previous results in 2D:Fat objects Each of the angles 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! depends linearly on 1/ log (1/). [Pach, Tardos. 2002] r’/r , and 1. r O(n1+), for any>0. r’ r diam(C) ,D C, < 1is a constant. C r D
Previous results in 3D:Fat Objects Congruent cubes narbitrarily aligned (nearly) congruent cubes. Union complexity: O*(n2)[Pach, Safruti, Sharir 2003] . Generalization: Arbitrary side-length cubes Union complexity:O*(n2)[Ezra, Sharir 2007]. Simple curved objects ncongruent 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. r diam(C) ,D C, < 1is a constant. C D r
The case of infinite cylinders Input: K = {K1, …, Kn} a collection of n infinite cylinders in R3of 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 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 bounds T Each (top) intersection line of a consecutive pair of cylinders in B intersects all the top cylinders in T. B The number of vertices of the union is Ω(n2). T B
Envelopes in d-space The lower envelope is monotone. Input: F = {F1, …, Fn} a collection of n (d-1)-variate functions. The lower envelopeEF 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 nsimple algebraic surfaces in d-space isO*(nd-1). O*(n2)ford=3.
The sandwich region [Agarwal et al. 1996, koltun sharir 2003] The complexity of the sandwich region enclosed between the lower envelope of nsimple algebraic surfaces in d-space and the upper envelope of another such collection is O*(nd-1), ford 4. For d=3, the complexity of the sandwich region is:O*(n2)
Main idea: Reduce 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 regionenclosed between two envelopes of the strips. Apply the bound O*(n2) of[Agarwal et al. 1996].
From 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 mostn/relements ofthe input .
How to construct (1/r)-cuttings 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”. n/r The number of the non-sampled points is n/r, with high probability!
Constructing (1/r)-cuttings: First step: Construct a (1/r)-cutting in the xy-plane: • 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 (1/r)-cuttings: • Choose a random sample R of O(r log r) lines of L (r is a fixed parameter). • Form the planar arrangement A(R) of R: Each cell C of A(R)is a convex polygon.Overall complexity: O(r2 log2r). • 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 property Second step: • 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 cylindersin K .
The problem decomposition Construct a (1/r)-cutting forKas 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 asilhouette-line crossing . H’ H 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 tree = 3 Partitioning 3into O*(r2) prisms: Some narrow become wide. Dispose of overall O*(n2) good vertices. N = n, W = 0 r2 2 1 N n/r, W n N n/r, W n N n/r, W n Dispose of overall O*(n2) good vertices. … Nn/r2, Wn/r Nn/r2, Wn/r Nn/r2, Wn/r … … #good vertices = O*(n2) #bad vertices = O*(n2) … N=O(1), Wn/r N=O(1), Wn/r N=O(1), Wn/r # nodes in bottom of recurrence = O*(n2) The overall bound is: O*(n2) .
Previous results in 3D:Fat Objects fat Fat tetrahedra n-fat tetrahedra of arbitrary sizes. Union complexity: O*(n2)[Ezra, Sharir 2007]. Special cases: n arbitrary side-length cubes. Union complexity:O*(n2) . n-fattriangular (infinite) prisms, having cross sections of arbitrary sizes. Union complexity:O*(n2) . n-fattriangles. A simpler proof that shows a bound of O*(n) . Each of these bounds is nearly-optimal.
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 is the xy-plane. h
Envelopes in d-space Input: F = {F1, …, Fn} a collection of n (d-1)-variate functions. The lower envelopeEF 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 envelopes [Sharir 1994] The complexity of the lower envelope of nsimple algebraic surfaces in d-space isO*(nd-1). For d=3, the complexity of the lower envelope:O*(n2)
How to construct (1/r)-cuttings 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”. n/r The number of the non-sampled points is n/r, with high probability!
The number of narrow cylinders in a single prism-cell Claim:A narrow cylinder K in must have asilhouette-line crossing . The silhouette-lines of K do not meet . The projection onto the xy-plane. l2 2 K l2 w l1 l1 Conclusion: By the cutting properties, meets only a small number of narrow cylinders.
Wide cylinders behave as functions inside Main idea: Partition the boundary of the cylinders into canonical strips . A direction is good for a stripif when entering from into the cylinder K bounded by in the-direction, we exit before leavingK. Key lemma: Each stripof a wide cylinder has many good directions. There is a common good direction , for which all strips behave as functions. From technical reasons. The strips behave as functions in the -direction inside . Construct the envelopes in the -direction.
Wide cylinders behave as functions inside Main idea: Partition the boundary of the cylinders into canonical strips . A direction is good for a stripif when entering from into the cylinder K bounded by in the-direction, we exit before leavingK. is good for a vertexvof the union, if it is good for each of its three incident strips. From technical reasons. The strips behave as functions in the -direction inside . 1 2 v 3
Wide cylinders behave as functions inside Key lemma: Each vertex v incident to threewide 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 inside Main idea: Partition the boundary of the cylinders into canonical strips . A direction is good for a stripif when entering from into the cylinder K bounded by in the-direction, we exit before leavingK. Key lemma: Each stripof a wide cylinder has many good directions. There is a common good direction , for which all strips behave as functions. From technical reasons. The strips behave as functions in the -direction inside . Construct the envelopes in the -direction.
The 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 tree = 3 Partitioning 3into O*(r2) prisms: Some narrow become wide. Dispose of overall O*(n2) good vertices. N = n, W = 0 r2 2 1 N n/r, W n N n/r, W n N n/r, W n Dispose of overall O*(n2) good vertices. … Nn/r2, Wn/r Nn/r2, Wn/r Nn/r2, Wn/r … … #good vertices = O*(n2) #bad vertices = O*(n2) … N=O(1), Wn/r N=O(1), Wn/r N=O(1), Wn/r # nodes in bottom of recurrence = O*(n2) The overall bound is: O*(n2) .
The case of congruent cylinders: A simple proof Simplifying 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: • nwide cylinders ofK . • n/r narrow cylinders of K. • Bound # goodvertices in each before applying a new recursive step. • Bound # badvertices 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.