Academia.eduAcademia.edu

Point location in zones of k-flats in arrangements

1996, Computational Geometry

DOI to the publisher's website. • The final author version and the galley proof are versions of the publication after peer review. • The final published version features the final layout of the paper including the volume, issue and page numbers. Link to publication General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain • You may freely distribute the URL identifying the publication in the public portal. If the publication is distributed under the terms of Article 25fa of the Dutch Copyright Act, indicated by the "Taverne" license above, please follow below link for the End User Agreement:

Point location in zones of k-flats in arrangements Citation for published version (APA): Berg, de, M. T., Kreveld, van, M. J., & Snoeyink, J. (1991). Point location in zones of k-flats in arrangements. (Universiteit Utrecht. UU-CS, Department of Computer Science; Vol. 9109). Utrecht: Utrecht University. Document status and date: Published: 01/01/1991 Document Version: Publisher’s PDF, also known as Version of Record (includes final page, issue and volume numbers) Please check the document version of this publication: • A submitted manuscript is the version of the article upon submission and before peer-review. There can be important differences between the submitted version and the official published version of record. People interested in the research are advised to contact the author for the final version of the publication, or visit the DOI to the publisher's website. • The final author version and the galley proof are versions of the publication after peer review. • The final published version features the final layout of the paper including the volume, issue and page numbers. Link to publication General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain • You may freely distribute the URL identifying the publication in the public portal. If the publication is distributed under the terms of Article 25fa of the Dutch Copyright Act, indicated by the “Taverne” license above, please follow below link for the End User Agreement: www.tue.nl/taverne Take down policy If you believe that this document breaches copyright please contact us at: [email protected] providing details and we will investigate your claim. Download date: 04. Jun. 2020 Point Location in Zones of k-Flats in Arrangements M. T. de Berg, M. van Kreveld, J. Snoeyink RUU-CS-91-09 April 1991 Utrecht University Department of Computer Science Padualaan 14, P.O. Box 80.089, 3508 TB Utrecht, The Netherlands, Tel. : ... + 31 - 30 - 531454 Point Location in Zones of k-Flats in Arrangements M.T. de Berg, M. van Kreveld, J. Snoeyink Technical Report RUU-CS-91-09 April 1991 Department of Computer Science Utrecht University P.D.Box 80.089 3508 TB Utrecht The Netherlands ISSN: 0924-3275 Point Location in Zones of k- Flats in Arrangements* Mark de Berg Marc van Kreveld Jack Snoeyinkt Abstract Let A( H) be the arrangement of a set H of n hyperplanes in d-space. A k-flat is defined to be a k-dimensional affine subspace of d-space. The zone of a k-flat 1 with respect to H is the closure of all cells in A(H) that intersect I. In this paper we study some problems on zones of k-flats. Our most important result is a data structure for point location in the zone of a k-flat. This structure uses O(nLd/2J+f + n Hf ) preprocessing time and space and has a query time of O(log2 n). We also show how to test efficiently whether two flats are visible for each other with respect to a set of hyperplanes. 1 Introduction The subdivision of d-space into connected pieces - usually called faces - of various dimension, induced by a set H of hyperplanes, is called the arrangement A( H) of H. This concept was introduced to computational geometry by Edelsbrunner, O'Rourke and Seidel [8] (see also [7]). They showed how to construct an arrangement optimally, and proved the so-called zone theorem, a combinatorial bound on the maximum complexity of the zone of a hyperplane. The zone of a hyperplane h consists of all faces of cells in A(H) that are supported by h. See Figure 1 for an example in 2-space. The zone of the line h consists of all bold-face segments and vertices, together with the shaded cells. Zones are important in several contexts, as the efficiency of some algorithms depends on the size of zones. In [8], the bound on the complexity of the zone of a hyperplane guarantees optimal construction time of arrangements in d-space. In [3], a bound on the complexity of the vertical decomposition of the zone of a plane in 3-space is used to improve range searching in some cases. As a third application, observe that the zone of a hyperplane h defines exactly the region that is visible from h, where the other hyperplanes are the obstacles. Therefore, zones are suitable for solving some visibility problems. Lately, an upper bound on the zone 01 algebraic hypersurlaces has been shown [1]. This result has the following important application to lines in 3-space. To distinguish between the O(n 4 ) isotopy classes induced by n lines, the Plucker coordinates of a line and the Plucker hypersurface in 5- space can be used. The total complexity of the zone of the Plucker hypersurface is O( n410g n), which gives an O(nHf) size data structure that solves the problem of distinguishing between isotopy classes of lines [2]. 'This research was supported by the ESPRIT Basic Research Action No. 3075 (project ALCOM). Research of the first author was also supported by the Dutch Organization for Scientific Research (N.W.O.). Authors address: Department of Computer Science, Utrecht University, P.O. Box 80.089, 3508 TB Utrecht, the Netherlands. tOn leave from the Department of Computer Science of the University of British Columbia. 1 h Figure 1: The zone of a line h in the plane. In this paper we generalize the notion 'zone of a hyperplane' to 'zone of a k-flat', where a k-flat is defined to be the intersection of d - k hyperplanes with linearly independent normal vectors (0 ~ k ~ d - 1), see [7]. Definition 1 The zone of a k-flat f with respect to H, denoted by zone(H, /), is the subarrangement of A(H) formed by the closure of all cells of A(H) that are intersected by f. Thus for a point p, the zone(H,p) is the convex polytope formed by the intersection of the closed halfspaces that contain p and are bounded by the hyperplanes of H. For a hyperplane h, the zone(H, h) is the zone of a hyperplane as defined in [7,8]. We concentrate on algorithmic aspects of zones of k-flats rather than the combinatorial side. We obtain an efficient algorithm for point location in the zone of a k-flat. The data structure has preprocessing time and space O(n ld/ 2J+( + nk+() (for any f > 0), where n is the size of the set H of hyperplanes. Notice that the first term of the size of the structure is close to the size of one single cell in the arrangement, and the second term is close to the number of cells in the k-flat itself. For almost all k this is considerably less than the size of the zone itself! With this structure it is possible to determine in O(log2 n) time if a query point lies in the zone and, if so, in which cell of the zone it lies. The problems of point location in a full arrangement and in a convex polytope have been studied before [4,5]. The preprocessing time and space of these structures is O(nd+() and O(n ld/ 2J+(), respectively. The query time is O(logn). We also investigate the following problem: Given a kl-flat h, a k2-flat 12, and a set H of n hyperplanes in d-space, determine whether hand 12 can see each other with respect to H. In other words, determine whether there are points PI E hand P2 E 12, such that the segment PIP2 does not properly intersect any hyperplane in H. We obtain efficient algorithms 2 for this problem using two techniques of reducing the dimension of the problem, together with linear programming and the structure for point location in the zone. The precise bounds of the algorithm are given in Corollary 1. Both our point location and visibility algorithms are based on sampling. Lately this technique has been used to solve a variety of problems [2,3,4,5,9, 14]. The rough idea of random sampling is as follows. Let H be a set of n hyperplanes in d-space. Choose a random subset R of H of size r. Consider the arrangement A(R), and triangulate it (that is, partition the cells into simplices). The triangulated arrangement has complexity O(rd), and with high probability, any simplex is intersected by only O(nlogr/r) hyperplanes of H. This property can be used to define subproblems of the original problem recursively. For a more detailed treatment of random sampling and its applications we refer to [4, 5]. Recently, the following important result on sampling has been shown. A sample R of size r < n l - 6 , for any fixed 0 > 0, can be constructed deterministically in O( nrd ) time, such that any simplex in the triangulated arrangement A(R) is intersected by only O(n/r) hyperplanes of H [10]. The main feature of our algorithms lies in the fact that we do not triangulate A(R) in d-space, but in the k-flat. This causes the efficiency of the algorithms. The rest of this paper is organized as follows. In Section 2 we show some easy properties and notation for zones of k-flats. In Section 3 the algorithm for point location in the zone of a k-flat is given, and its correctness proved. Section 4 deals with visibility among k-flats. Conclusions and open problems are given in Section 5. 2 Basic properties In this section we present some easy properties on zones of k-flats. We start with a lemma that gives an alternative definition of the zone of a k-flat, and which will be used in the next section. We also give an upper bound and a lower bound on the maximum size of the zone, Lemma 1 A point q lies in the zone of a k-flat f with respect to H if and only if there is a point p in f such that the line segment pq does not properly intersect any hyperplane of H. o Proof: Follows immediatly from the convexity of the cells in A(H). Such a point p is called a witness for q. The lemma shows that zones are useful for visibilty problems, where the obstacles are hyperplanes. Lemma 2 For the maximum complexity of the zone of a k-flat f with respect to a set H of n we have: z~(n) n(n L(d+k)/2J) andz~() O(min(nLd/2J+k, n d- 1 )). hyperplanesind-space, z~(n), = = Proof: Observe that there are O(nk) cells in the zone of a k-flat. Each cell has complexity O(nLd/2J) by the upper bound theorem [7]. Furthermore, the zone of a (d - I)-flat has complexity O( n d - 1 ) [7, 8].1 This proves the upper bound. To prove the lower bound, construct a grid-like structure using k groups of hyperplanes perpendicular to the k-flat j, and perpendicular to hyperplanes in other groups. Each group lWe are aware of the fact that the original proof in [7, 8] is not correct. Recently, this proof has been repaired, and new proofs for the zone theorem have been found. 3 has size Ln/(2k)J. Clearly, there are 0(nk) cells intersected by f. Consider a (d - k)-flat 9 perpendicular to f. Construct a polytope in 9 with n/2 facets, and with 0( n L(d-k)/2J) vertices (see [7]). Place the polytope such that the intersection between f and 9 is a point in the interior of the polytope. Then choose for each facet a hyperplane that contains it, and which is parallel to the k- flat f. Every vertex of the polytope extends to a k- flat parallel to f, and each one of them is in the boundary of each cell of the grid-like structure. Therefore, the zone of f contains 0( nl(d+k)/2J) k-faces. 0 The construction for the lower bound in the above lemma results in a degenerate arrangement of hyperplanes. This restriction can easily be removed by a slight perturbation of each hyperplane. To actually construct the zone of a k-flat, one could construct the full arrangement A(H) and then remove the faces that are not in the zone. There are alternative ways to compute the zone of a k-flat that are more efficient. However, in Section 3 we give a superior technique to perform point location in the zone without actually constructing it. For the sake of completeness we define the notion 'zone of a polytope P in a k-flat'. This will be important in the next section. Definition 2 The zone of a polytope P in a k-flat f with respect to H is the subarrangement of A(H) formed by the closure of all cells of A(H) that intersect P. 3 Point location in the zone For a set H of n hyperplanes and a k-flat f in d-space, the problem of point location in the zone is defined as follows. Preprocess Hand f, such that for any given query point q, one can determine efficiently whether q lies in zone(H, f) and, if so, in which cell of the zone q lies. If q lies on the boundary of one or more cells of the zone, then one of these cells should be found. Point location in the zone of a polytope P in a k-flat f is defined analogously. In this section we solve these problems using sampling. The algorithm returns a witness if the query point lies in the zone. This witness is such that it uniquely determines a cell of the zone that contains this query point. Rather than constructing the whole zone, we construct a tree that uses considerably less preprocessing time and space. Let H be a set of hyperplanes and let f be a fixed k-flat in d-space. Then H denotes the set {Ii" I Ii" = h n f where h E H}, and A(H) is the arrangement in f formed by H. Construct a sample R of size r, where R C H, and r is a sufficiently large constant. We triangulate the arrangement A(R), for instance with a bottom-vertex triangulation. The triangulated arrangement A(R) consists of O(rk) simplices, and R can be constructed deterministically such that each simplex is intersected by O(n/r) (k - l)-flats of H, and, thus, hyperplanes of H. Each simplex s partitions H into two subsets HII and H!. The subset HII contains the hyperplanes of H that properly intersect s, and H! contains the remaining hyperplanes. Notice that R ~ H;. Let CII be that cell of A(H!) that contains the interior of the simplex s. An illustration of these definitions is given in Figure 2, where the upper part of the cell C II in 3-space is shown. The planes hI and h2 are in H~ , and they contribute to CII. The plane h3 is in H II , because it intersects the shaded triangle s properly. 4 Figure 2: Situation for a 2-ftat in 3-space: the polytope c" for the shaded triangle. Lemma 3 (i) II a point q lies in zone(H, f) then there is a simplex s in the triangulated arrangement A(R) such that q lies in cB • (ii) For all simplices s in the triangulated arrangement A(R), such that q E cB , we have: q E zone(H, f) il and only il q E zone(H" , Inc,,). Proof: (i) Suppose that q lies in zone(H, f). By Lemma 1 there is a witness q' E I, such that the line segment qq' does not properly intersect any hyperplane of H. Consequently, q and q' lie in the same cell of A(H). Let s be the simplex in the triangulated arrangement A(R) that contains q'. Then q E cB , because q and q' lie in the same cell of A(H), and this cell is contained in cll • (ii) Let s be a simplex in the triangulated arrangement A(R), such that q E cll • =>: Suppose that q E zone(H, f). Then there is a witness q' E I, such that the line segment qq' does not properly intersect any hyperplane of H. Because q E C Il , so must q'. Thus q' E In CIl , and no hyperplane of Hs ~ H properly intersects the line segment qq'. Hence, q'is a witness for q, and q lies in zone(HB , I nCB)' <¢=: Suppose that q lies in zone(H s, I nCB)' Then there is a witness q' E Inc", such that the line segment qq' does not intersect any hyperplane of H" properly. Because q and q' both lie in C B , and all hyperplanes in H; do not intersect CIIl it follows that the line segment qq' does not properly intersect any hyperplane of H = Hs U H;. Furthermore, q' E f n c" ~ I, thus q' is a witness for q, and q E zone(H, f). o When we consider the zone of a polytope P in a k-flat I we define Ap(H) to be that subarrangement of A(H) that is the closure of all cells of A(H) that have a non-empty intersection with P. Lemma 3 remains valid after replacing I by P and A by Ap. 5 Lemma 3 gives the recursive property on which the structure for point location in the zone of f is based. The structure for zone(H, f) is a tree T of degree O( r k ). Let 0 be the root of T. The root 0 has one child "fa for every simplex s in the triangulated arrangement A(R). With "ftJ we store the simplex s and an associated structure for deciding whether a point lies in CtJ. The child "ftJ is the root of a recursively defined tree for zone(HtJ, I). If the number of hyperplanes in H is smaller than some constant, we do not take a sample, but we store the full arrangement A(H). This recursive definition does not completely correspond to the recursive property of Lemma 3 (ii): the subtree rooted at "fa is defined for zone(HII,f) instead of for zone(Ha , fnca). To remedy this, we will fill in witnesses at some cells in the arrangements stored in the leaves in such a way, that any query point finds a witness if and only if it lies in the zone. To this end, impose an arbitrary order on the children of each node. A query with a point q should continue in the first child "fll for which the query point lies in the polytope Ca. To finish the preprocessing, consider the arrangement A(H), and for each cell, take one point p in its interior. Locate p in the arrangement of the leaf where the search ends, and store p as a witness with the cell of this arrangement that contains p. (It may take too much preprocessing time to search with p for all children for which p E clI .) A query with a point q is performed as follows. Start at the root o. Find the first child "fa (with respect to the chosen order on children) for which p lies in Ca; this is determined by searching in the associated structure of each child of o. Continue the search recursively at this child. If q does not lie in CII for any child, then q does not lie in the zone. If the current node is a leaf, then we locate q in a cell in the associated arrangement. If there is a witness stored at the cell, then q lies in the zone and we return this witness. Otherwise, q does not lie in the zone. The filling in of witnesses is correct, because a query point that lies in the zone will follow the same path down T as its witness. A query point that does not lie in the zone will, at some point, take a different path down T than any witness. Theorem 1 For any f > 0, a set H ofn hyperplanes and a k-flat f (or polytope P in a k-flat) in d-space can be preprocessed in O(nLd/2J+l + n k+l ) time and space, such that point location queries in the zone can be performed in 0(1og2 n) time. Proof: Testing whether a query point lies in a convex cell determined by the intersection of n halfspaces in d-space can be performed in o (log n) time, after O( nLd/2J+l) preprocessing time and space (for any f > 0), see [4J. Therefore, the initial preprocessing Sen) of our structure satisfies the following recurrence: Sen) = O(rk). S(n/r) + O(rk). 0(nLd/2J+l) S(O(l)) = 0(1). 2 This solves to S( n) = O( n Ld/ J+l + nk+l) preprocessing for any f > 0, if r is a large enough constant. Additionally, O(nk) queries, each taking 0(log2 n) time (see below) are required to fill in the witnesses in T. The query time Q( n) satisfies the following recurrence: Q(n) = Q(n/r) + O(rk) . O(1og n) Q(O(1)) = 0(1), 6 D which solves to Q(n) = O(log2 n) time. 4 Visibility among k-ftats Since the zone of a k-flat f defines the region from which f is visible (without looking through a hyperplane), it is natural to use zones to solve visibility problems in arrangements of hyperplanes. In particular, we consider the problem: given a kl-flat ft and a k2-flat 12, with kl ~ k2' can ft and 12 see each other? Definition 3 Flats ft and 12 are visible (for each other) with respect to H if and only if there are points ql E ft and q2 E 12 such that the segment ql q2 does not properly intersect any hyperplane of H. The points ql and q2 are called witnesses. Before we consider solutions that use our query structure, we note some useful facts about affine spaces. Recall that a k-flat is an affine space of dimension k, which is the translation of a linear subspace spanned by k linearly independent vectors. The join of flats ft and 12 is the affine space of smallest dimension that contains both flats. The join of a kl-flat and a k2-fiat has dimension at most kl + k2 + 1; it is formed by taking the linear subspace spanned by the vectors defining fiats ft and 12, together with a vector from a point in ft to a point in h. This set of vectors is translated to contain a point in ft. The next lemma shows that if kl and k2 are small compared to the dimension d, then one can solve the visibility problem in the join of ft and h. Lemma 4 Given an instance of the visibility problem with kl-flat and k 2-flat in d-space, we can ensure that d ~ kl + k2 + 1 in linear time. Proof: The join of a kl-flat and a k2-fiat is an affine subspace of dimension d' ~ kl + k2 + 1 that contains both fiats. Since any line segment in d-space that is a witness to visibility is contained in the join, it is enough to solve the problem in the join. To reduce the hyperplane equations to this subspace in linear time is straightforward. D The lemma above can also be used when the visibility problem for polytopes in k-flats is considered. If one is investigating the visibility of entire fiats, one can always reduce dimension of the space and possibly the dimension of the flats to the case where d = kl + k2 + 1. Lemma 5 Given an instance of the visibility problem with a k1-flat and a k 2-flat in d-space, if kl + k2 + 1 f; d then one can find in linear time an equivalent instance of the visibility problem with fewer dimensions. Proof: If d > kl + k2 + 1, then Lemma 4 can be used to reduce the dimension. If d < kl + k2 + 1, then the join of the k1-flat ft and the k2-flat 12 has dimension strictly less than kl + k2 + 1; either the flats intersect or the vectors that define them are not linearly independent. We can test intersection in constant time. If ft and 12 do not intersect, we find a direction v that is contained in both flats (by Gaussian elimination) in constant time. Let us call v the vertical direction. We can partition 7 ~ top Figure 3: illustration of the proof of Theorem 5. the set of hyperplanes into the vertical hyperplanes H1." those containing a line parallel to v, and the non-vertical hyperplanes H non - v = H - Hv. Notice that every non-vertical hyperplane intersects every vertical line. In linear time, we can project the fiats It and 12 and the vertical hyperplanes Hv in the direction v to form an instance of the visibility problem with a (kl - I)-fiat fL a (k2 - 1)of hyperplanes in (d - I)-space. We can show that this reduced problem fiat f~ and a set H~ is equivalent to the original: If f{ and f~ can see each other, then there are witness points q~ and q~ for the reduced problem. The vertical lines that project to q~ and q~ are contained in It and 12; any two points on these lines can see each other with respect to Hv. Furthermore, above some height top, both lines are above all hyperplanes of H non - v . Choose two points, ql and q2, above top as witnesses that these lines see each other with respect to H non - v (see Figure 3). Thus the fiats It and h see each other with respect to H. We can determine this height top in linear time. On the other hand, if the fiats fi and f~ cannot see each other, then It and 12 cannot see each other with respect to Hv ~ H. D We present three methods for solving the visibility problem. These methods should be used after reducing the dimension with the above lemma, if possible. We first show how to use linear programming to determine visibility in D( n k1 +I) time using D( n k1 ) space. When kl = k2 our point location structure gives a better solution with D( n k1 +£) space and time. Finally, when kl = k2 - 1 we obtain a solution - by one more use of sampling - that is somewhat more efficient. 8 First the linear programming solution. In d-space, a point p = (Xl, X2, .•• ,Xd) is contained in a hyperplane h if al Xl + ... + adxd = bh , where (al, ... , adf is the normal vector of h. By definition, a given k-flat is the intersection of d - k hyperplanes with linearly independent normal vectors. Thus, a point p in a k-flat satisfies the matrix equation M . p = b, where the rows of M are the normal vectors of the hyperplanes defining the k-flat, and b is the column vector with the corresponding bh'S. With such a matrix representation of a k-flat, we can prove: Theorem 2 Let H be a set of n hyperplanes in d-space, let II be a kl-flat and let 12 be a k 2 -flat. One can decide in O( n k1 +1) time and O( nkl) space whether II and 12 see each other with respect to H. Proof: The hyperplanes H partition the kl-flat II into O(nkl) cells. We can construct them in O(nkl) time and space by building the arrangement of H = {Ii I Ii = h n II where h E H} in the flat II. For a given cell, take a candidate witness point ql from its interior. For each hyperplane hE H, choose the sign of the hyperplane equation so that the halfspace {p I (a}, ... , ad)·p ~ bh} contains ql; expressed as an n X d matrix inequality, MH . ql ~ bH. We now wish to find a witness q2 E 12 that lies in the intersection of these halfspaces. Thus, we wish to find a feasible solution to MH . P ~ bH and the matrix equation defining 12, which is M/2 . P = b/2. This is a linear program with n + d - k2 equations in d variables; it can be solved by techniques of Meggido [11, 12] in O(n) time (see also [14]). Repeating this for each cell determines if fl and 12 can see each other in O(n k1 +l ) time and 0 (n k1 ) space. 0 When both flats have the same dimension, our query structure gives a better solution than the linear programming approach. Theorem 3 Let H be a set of n hyperplanes, and II and 12 two k-flats in d-space. For any time whether the two k-flats can see each other with respect E > 0, one can decide in O( nk+~) to H. Proof: By Lemma 4, we can assume that d ::; 2k + 1. Let II and 12 be the two k-flats. Pre+ nk+~) = O(nk+~) process II and H for point location queries in the zone of II in O(nLd/2J+~ time and space. Then construct in 12 the arrangement of H = {Ii I Ii = h n 12 where h E H}. Choose one point in the interior of each cell, and perform a point location query in the zone with it. Flats II and 12 can see each other if and only if at least one of the chosen points of 12 lies in the zone of II. 0 The approach of Theorem 3 gives an O( n Ld/ 2J+t: +n k2 10g 2 n) time method to test visibility among a kl-flat II and a k2-flat 12, with k2 > kt . We improve upon this with a sampling based algorithm. We choose a single sample of size r = 0(n l / 2 ). Let R be a sample of size r of the set H = {Ii I Ii = hnii where h E H}. Triangulate A(R), and determine for each simplex s the subset HII of H of hyperplanes that properly intersect .:::.. Let_H~ = H - H II , let ell be the cell of A(H~) that contains s, let CII = CII n 12, and let H = {Ii I Ii = h n 12 where hE H}. 9 Lemma 6 (i) If q2 is a witness in 12, then any point q~ (ii) For any simplex s in the triangulated arrangement A(R): in s lies a witness ql if and only if there is a point q2 E CII C 12 such that q2 E zone( H II, s). in the same cell of A(1l) is a witness in h. Proof: (i) is an easy consequence of the definition of visibility, and of the convexity of the cells in A( H). (ii) =>: Assume ql is a witness in s C It. Then by definition there is a witness q2 E 12, and ql and q2 lie in the same cell of A(H). In particular, they lie in the same cells in A(H;) and in A(Hs). Hence, q2 lies in zone(HII,s). Let s be a simplex in the triangulated arrangement A(R), and assume q2 E Cs and (ii) ~: q2 E zone(HII,s). The last assumption implies that there is a point ql E s, such that the segment qlq2 does not intersect any hyperplane of H II . Since ql Ese Cs and q2 E CII, no hyperplane of H; intersects ql q2. 0 For every simplex s of the triangulated arrangement A(R), we construct a structure for point location in zone(Hs,s), as in the previous section. Furthermore, we compute a relevant set of points in 12 with which to query. This set will contain all vertices of the arrangement A(Hs) that lie in cll , together with the vertices that are obtained by intersecting the boundary of Cs with A(HII). IT the simplex s contains a witness, then one of the vertices will lie in zone(HI!' s). We compute the cell CII and preprocess it in O(nLk2/2J+£) preprocessing time and space for O(logn) point location [4,5]). Then we compute all O«n/r)k2) vertices of the arrangement A(HII ), and perform a point location query in CI! to find the ones in this cell. To find the vertices on the boundary of CII' we do the following. Take every possible subset of i (0 $ i $ k2 - 2) hyperplanes of HI!' and consider the (k2 - i)-flat formed by them. Compute the vertices that lie in the intersection of CII with the (k2 - i)-flat, using the dual of a (k2 - i)-dimensional convex It remains to compute the vertices hull algorithm that takes logarithmic time per fa~[13]. that are the intersections of k2 - 2 hyperplanes of HII with CII , which are 2-dimensional convex polygons. The remaining vertices that we have to compute are intersections of these polygons with one more hyperplane. Hence, we preprocess these polygons in linear time for O(log n) line intersection queries [6]. W~uery each polygon with the lines that are the intersections of all the other hyperplanes of HI! with the 2-flat containing the polygon. This gives us the vertices that lie in one hyperplane of H~ and k2 - 1 hyperplanes of H II . (We have to take this extra effort, because in I-space, the computation of the convex hull is not roughly proportional to its size, as is the case in all other dimensions.) To summarize, we find a set of O«n/r)k, + ~' ( n;r ) nUk,-;)f2J) = O((n/r)k, + nlk,/2J + nUk,+ll/2J/r) points, and it takes logarithmic time to obtain each point. We query with every point of the set in the point location structure for zone(HII's). IT any query is successful, then fl and 12 are visible with respect to H. When all simplices s have been processed, and no query was successful, then It does not contain a witness, thus It and 12 are not visible with respect to H. 10 Theorem 4 Let H be a set of n hyperplanes, II a k1-ftat and h a k 2-ftat in d-space, where 1 ~ kl ~ k 2. For any f > 0, one can decide whether II and h can see each other with respect to H in time O(nkl/2+~). Proof: By Lemma 4, we can assume that d ~ kl + k2 + 1. For a sample R of r hyperplanes, the triangulated arrangement A(R) has O( rkl ) simplices. A sample R can be constructed in time O(nrkl-l) such that any simplex s is intersected by O(nlr) hyperplanes of H [10]. Thus, the size of Hs is O(nlr). For every simplex s, the point location structure for the zone is constructed in O((nlr) Ld/2J+( + (nlr)k 1 +() time, by Theorem 1. We can preprocess the cell cs for point location in time O( n Lk2 / 2J+() [5]. To find all the vertices and to query with them in the point location structure for zone(Hs, s) takes time 0(( nlr )k2 +nlk2/2j +nl(k2+ 1 )/2j Ir ).0(log2 n). Adding it all up, the time T( n) taken by the algorithm is T(n) = O(nrkl-l) + O(rkl). [0((nlr)Ld/2J+(+ (nlr)k 1 +( + nLk2/2j+( + (nlr) k2 Iog 2 n + nLk2/2j log2 n + nl(k2+1)/2j log2 nlr]. The first term is dominated by the others. Furthermore, k2 2: kl and k2 2: ld/2 J. If we take 0 l' = c· n 1 / 2 for an appropriate constant c, we get T(n) = 0( n kl/2+k2/2+(). The sampling method is asymptotically faster than the linear programming solution when k2 - 1 ~ kl ~ k 2. All time and space bounds still hold when we consider polytopes in flats rather than whole flats. To summarize the results of this section, we state: Corollary 1 For any fixed f > 0, one can check if a k1-ftat and a k 2-ftat can see each other with respect to a set of n hyperplanes in d dimensions in time O(n k1 +f ) O( n k1 +1/2+f) O(nkl +1) 5 if kl = k2 if kl = k2 - 1 always. Conclusions and open problems In this paper we introduced the notion of a zone of a k-flat in an arrangement of hyperplanes in d-space, and studied two algorithmic aspects. Firstly, we presented a structure for o (log2 n) time point location in the zone, which in many cases uses less space than the zone itself. Secondly, an efficient algorithm was given to determine whether two flats are visible for each other with respect to a set of hyperplanes. Some open algorithmic problems that remain are the optimal construction of the zone itself, and the improvement of our algorithms. One can also think of a generalization to arrangements of hyperspheres or curves. The main open combinatorial problem is to find sharp upper and lower bounds on the complexity of the generalized notion of the zone. Acknowledgements The authors thank Otfried Schwarzkopf for helpful discussions. 11 References [1] Aranov, B., and M. Sharir, On the Zone of an Algebraic Surface in a Hyperplane Arrangement, manuscript, 1991. [2] Chazelle, B., H. Edelsbrunner, 1. J. Guibas, M. Sharir, and J. Stolfi, Lines in Space: Combinatorics and Algorithms, Techn. Rep. CS-TR-294-90, Dept. of Compo Science, Princeton University, 1990. [3] Chazelle, B., M. Sharir, and E. Welzl, Quasi-Optimal Upper Bounds for Simplex Range Searching and New Zone Theorems, Proc. 6th ACM Symp. on Compo Geom. (1990), pp. 23-33. [4] Clarkson, K.L., New Applications of Random Sampling in Computational Geometry, Discr. (3 Compo Geom. 2 (1987), pp. 195-222. [5] Clarkson, K.L., and P.W. Shor, Applications of Random Sampling in Computational Geometry II, Discr. (3 Compo Geom. 4 (1989), pp. 387-422. [6] Dobkin, D.P., and D.G. Kirkpatrick, Fast Detection of Polyhedral Intersection, Theor. Compo Science 27 (1983), pp. 241-253. [7] Edelsbrunner, H., Algorithms in Combinatorial Geometry, Springer-Verlag, 1987. [8] Edelsbrunner, H., J. O'Rourke, and R. Seidel, Constructing Arrangements of Lines and Hyperplanes with Applications, SIAM J. Comput. 15 (1986), pp. 341-363. [9] Haussler, D., and E. Welzl, €-Nets and Simplex Range Queries, Discr. (3 Compo Geom.2 (1987), pp. 127-151. [10] Matousek, J., Approximations and Optimal Geometric Divide-and-Conquer, manuscript, 1990. [11] Meggido, N., Linear-Time Algorithms for Linear Programming in R3 and Related Problems, SIAM J. Comput. 12 (1983), pp. 759-776. [12] Meggido, N., Linear Programming in Linear Time when the Dimension is Fixed, J. ACM 31 (1984), pp. 114-127. [13] Seidel, R., Constructing Higher-Dimensional Convex Hulls at Logarithmic Cost per Face, Proc. 18th STOC (1986), pp. 404-413. [14] Seidel, R., Linear Programming and Convex Hulls Made Easy, Proc. 6th Symp. on Compo Geom. (1990), pp. 211-215. 12