380 likes | 409 Views
Explore the union of simply-shaped bodies in d-space to optimize the boundary formation, crucial for motion planning to avoid obstacles. Combinatorial complexities, previous results in 2D and 3D, forbidden placements, forbidden space, and new optimized bounds discussed. Discover the complexity of enveloping regions and sandwich regions.
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.
Motivation: Motion planning The workspace Input Robot R, a set A = {A1, …, An} of ndisjoint obstacles. The robot and the obstacles are objects in d-space. The robot moves around the obstacles. Goal: Construct the free space The set of all legal placements of R, while translatingRin d-space. collision R does not intersect any of the obstacles in A
The configuration space reference point The robotR is mapped to a point. Each obstacle Aiis mapped to the set: Pi = { x d : R(x) Ai } = Ai(-R(0)) A point p in Pi corresponds to an illegal placement of R and vice versa. The forbidden placements of R The Minkowski sum The expanded obstacle
The free space The free space is the complement of 1 i nPi
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/). 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] . 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
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.
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 three cylinders. Reduce the problem to: How many (intersection) vertices appear on the boundary of the union? 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
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)
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. H’ H w
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.
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. Apply the nearly-quadratic bound of [Agarwal et al. 1996]. v At least one of these cylinders is narrow in .
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 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.
Arrangement of geometric objects Input: S = {S1, …, Sn} a collection of n simply geometric objects in d-space. The arrangementA(S) is the subdivision of space induced by S . The maximal number of vertices/edges/faces of A(S) is: (nd) Each object has a constant description complexity Combinatorial complexity.
The problem decomposition Each prism-cell of meets • At most n large cylinders. • At most n/r small cylinders. Next stage: Show that large cylinders behave as functions within . Process in recursion all the small cylinders.
Quadratic lower bounds Each blue intersection line of a consecutive pair of cylinders in B intersects all the red cylinders in R. R The number of vertices of the union is Ω(n2). B
Wide cylinders behave as functions Theorem: The number of the good vertices in isO*(n2). Main idea: Partition the boundary of the cylinders into canonical strips . A direction is good for a stripif when entering into the cylinder K bounded by in the-direction, we exit before leavingK. The strips behave as functions in the -direction inside .
Bounding the number of the good vertices A direction is good for a vertexvof the union, incident uponthree strips 1, 2, 3, if it is good for each of 1, 2, 3. Key Lemma: Each good vertex vof the union has many good directions . Each good vertex appears on the sandwich region enclosed between two envelopes of thestrips . Overall: O*(n2) . 1 n 2 v 3
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. … N=n/r2, W=n/r N=n/r2, W=n/r N=n/r2, W=n/r … … #good vertices = O*(n2) #bad vertices = O*(n2) … N=O(1), W=n/r N=O(1), W=n/r N=O(1), W=n/r # nodes in bottom of recurrence = O*(n2)