Halfspace range search: An algorithmic application ofk-sets

Discrete & Computational Geometry, Mar 1986

Given a fixed setS ofn points inE3 and a query planeπ, the halfspace range search problem asks for the retrieval of all points ofS on a chosen side ofπ. We prove that withO(n(logn)8 (loglogn)4) storage it is possible to solve this problem inO(k+logn) time, wherek is the number of points to be reported. This result rests crucially on a new combinatorial derivation. We show that the total number ofj-sets (j=1, ...,k) realized by a set ofn points inE3 isO(nk5); ak-set is any subset ofS of sizek which can be separated from the rest ofS by a plane.

A PDF file should load here. If you do not see its contents the file may be temporarily unavailable at the journal website or you do not have a PDF plug-in installed and enabled in your browser.

Alternatively, you can download the file locally and open with any standalone PDF reader:


Halfspace range search: An algorithmic application ofk-sets

Discrete Comput Geom Halfspace Range Search: An Algorithmic Application of k-Sets B. Chazellel 0 1 F. P. Preparata 0 1 0 Coordinated Science Laboratory, University of Illinois , Urbana-Champaign, IL 61801 , USA 1 l Department of Computer Science, Brown University , Providence, RI 02912 , USA Given a fixed set S of n points in E 3 and a query plane ~r, the halfspace range search problem asks for the retrieval of all points of S on a chosen side of ~r. We prove that with O(n(logn)8(loglogn) 4) storage it is possible to solve this problem in O ( k + log n) time, where k is the number of points to be reported. This result rests crucially on a new combinatorial derivation. We show that the total number of j-sets ( j = 1..... k) realized by a set of n points in E 3 is O(nkS); a k-set is any subset of S of size k which can be separated from the rest of S by a plane. *Supported in part by NSF grants MCS 83-03925 and the Office of Naval Research and the Defense Advanced Research Projects Agency under contract N00014-83-K-0146 and ARPA Order No. 4786. **Supported in part by Joint Services Electronics Program under Contract N00014-79-C-0424. 1. Introduction Given a fixed set S of n points in E 3 and a query plane ~r, the halfspace range search problem asks for the retrieval of all points of S on a chosen side of ~r. This problem is solved trivially in O(n) time; we assume, however, that the problem is to be solved in the repetitive m o d e (i.e., the number of queries is arbitrarily large). This allows us to preprocess the data so as to achieve sublinear query time while minimizing the storage required. Specifically, our objective is a query time of the form O(f(n)+ k), where k is the size of the retrieved set; if the storage is S(n), then we speak of an (S(n),f(n)) algorithm. Great attention has been given recently to the complexity class PLOG. This class includes the retrieval problems which admit of (ng(n), f(n)) algorithms, in which both f and g are polylogarithmic functions of n [ 3 ]. Determining whether halfspace range search is in PLOG has been an open problem [ 5 ]; indeed, the best known solutions to date are an ( n , n 0"899) algorithm [ 13 ], and an (n4,1ogn) algorithm [ 7 ]. Note that [ 13 ] gives a method for counting as well as reporting points and can also be used for polyhedral range queries. The main contribution of this paper is to establish that halfspace range search indeed belongs to PLOG. Specifically, we give an (n(log n)S(loglog n) 4, log n) algorithm for this problem. Our solution relies on a new combinatorial result concerning the maximum number of k-sets in E 3. Given a set S of n points in E d, a k-set is a subset of size k of the form h N S, for some open halfspace h. It has been shown that the maximum number of distinct k-sets formed by n points in the Euclidean plane is ~ ( n l o g k ) and O ( n v ~ ) [ 8,10 ]. In E 3, expectedly, the situation is not nearly as good. What is known is a lower bound of ~2(nk log k) [8] and an upper bound of O(n2k) on the total number of j-sets ( j = 1 , 2 . . . . . k) [ 6 ]. This paper complements these results by proving that the total number of j-sets ( j = 1,2 . . . . . k) which can be formed by n points in E 3 is O(nkS). This shows in particular that for any k (1 _<k _<n) and any constant e > 0, there exists an integer i ~ [(1 - e)k, k] such that the number of/-sets is O(nk4). The remainder of this paper is organized in three parts. In the next section we describe our algorithm for halfspace range search; in Section 3 we prove our result on k-sets, and finally give a few closing remarks in Section 4. The Haifspace Range Search Algorithm The crux of our solution is the recourse to duality and to the locus approach; additional sophisticated details are invoked to achieve efficiency. Specifically, we dualize the points of S into an arrangement of n planes in E 3. These n planes determine a partition of E 3 into convex cells, each cell corresponding to a unique subset of S. Similarly, the query plane ~r is dualized into a point q. Halfspace range search is then transformed into a three-dimensional point location problem; the task consists of retrieving the subset associated with the cell of the partition that contains q. We first establish the correctness of the approach; subsequently we shall concern ourselves with the details of the three-dimensional point location. Although our arguments are developed in E 3, for ease of presentation, all figures will represent two-dimensional analogs. We shall use the classical duality transformation between points and planes known as a polarity. This transformation, denoted 8, is defined with respect to the elliptical paraboloid P of equation X 2 + y2 + 2z = O. This paraboloid is also described as a quadratic form [ x , y , z , 1 ] A [ x , y , z , l ] T = O, HalfspaceRange Search with The matrix A is referred to as the polarity matrix [ 12 ]. We define the associated transformation in three-dimensional projective space. Given a point Po with homogeneous coordinates (x 0, Yo, z0, w0), the polar 8(po) ofpo is the plane ~ro whose equation is [x0, Yo, zo, wo]A[x, Y, z, w] T = 0, and similarly, given a plane rr of equation ax + by + cz + dw = 0, the pole 6(~r) of ~r is the point whose (homogeneous) coordinates are [a, b, c, d]A. Given a plane ~r, we wish to characterize its halfspace which contains the origin. We must assume that 7r does not pass through the origin. Then we say that P0 belongs to the positive halfspace of ~r (denoted Po ~ phs(~r)) if [ a , b , c , a ] [ x o , Yo, Zo,Wo]T/aWo > O. The term dwo is a normalizing factor which ensures that (1) depends only on rr and P0 and not on the particular coordinates chosen to represent them. Notice that phs(~r) is the halfspace determined by ~r that contains the origin. We define nhs(~r) in a similar fashion by reversing the inequality in (1). We now consider the smallest isothetic (i.e., with sides parallel to the axes) rectangular range R enclosing S. If we consider eight distinct problem formulations, each corresponding to choosing the origin as a specified vertex of R (along with a proper choice of axes), given a plane ~r: ax + by + cz + dw = 0, whose retrieved set is nonempty, there is at last one formulation where the halfspace range coincides with phs(rr) and ~r intersects the z-axis above the origin (i.e., c / d < 0 ) , so without loss of generality, the range is always phs(Tr), and we assume that all points of S are contained in the positive orthant of E 3 (i.e., for each Po = (xo, Yo, zo, Wo) in S we have Zo/Wo > 0). We choose eight problem formulations, and not fewer, to deal conveniently with singularities. This sets the conditions of the following lemma, which establishes a correspondence result. Lemma 1. Let p o = ( x o , Yo, Zo, Wo) and ~r: ax + b y + c z + d w = O , and assume that c / d < 0 < z o / w o. Then we have po ~ phs(~r) if and only if S(~r) E nhsO$(po)). Proof. The condition c / d < 0 and Zo/Wo > 0 ensure that phs(~r) and nhs(8(po) ) are well-defined. By definition, 8(~r)= [a,b,c, d]A and 8(p0 ) is the plane of equation [x o, Yo, Zo, Wo]A[x, Y, z,w] T = 0. By (1) 8(~r) ~ nhs(8(po) ) means ([Xo, Yo, Zo, wo]A)([a, b, c, d]A)X/Zo c < 0, i.e., [Xo, yo, Zo,wolAAT[a, b,c, a]T/zoC = [xo, Yo, Zo,Wo][a,b,C,a]T/zo c < O, since AA r = I. The lemma follows from (1) by commutativity of the inner product and the fact that ZoC and dwo are of opposite sign. [] B. Chazelle and F, P. Preparata \ \ y T,p2 o , "~-~"'-----~',Z \1', \/sc~l=l"=.p~.~l x ~(P4) ~(P2) ~(Ps) ~(Pl) 5{P3) For each p ~ S, we construct its dual plane 6 ( p ) . The set { 6 ( p ) : p ~ S ) is an arrangement of n planes in E 3 (see Fig. 1 for a two-dimensional analog). This arrangement determines a partition C of E 3 into convex cells, classified according to their dimensionality as regions, facets, edges, and vertices. Each of these convex cells is relatively open, except for the regions, which are open. Let C be the set of regions; we have I f I < 1 + n + (~) + (33 = O(n 3) [ 8 ]. With each cell c is associated a subset S(c) of S, defined as follows: S ( c ) = { p ~ S l c c _ n h s ( 6 ( p ) ) } . T h e correctness of the method is based on the following result: Lemma 2. Let c be a cell of C and rr be a plane in E 3 intersecting the z-axis above the origin; 6(~r) ~ c if and only if S(c) = S n phs(Tr). It is now convenient to organize the arrangement of planes as a collection of polyhedral surfaces ol, 02..... o,, called sheets, and defined as follows (see Fig. 2): o k is the b o u n d a r y b e t w e e n Uis(c)l=k_lC and Uls(c)l=kC. Because of our choice of the paraboloid P and the placement of the set S, we have: Lemma 3. Each member of { o l , . . . , o, } has a unique intersection with a line parallel to the z-axis. Proof. Let L be a vertical line and p a point of S. Since the z-coordinate of p is positive, the intersection of L and 8 ( p ) partitions L into two rays, of which the upper one belongs to phs(8(p)). Since this holds for any p ~ S, the value of IS ( c ) l , for each c intersected by L, is increasing for decreasing values of z. This shows the uniqueness of the intersection of L with ok, for k = 1.... , n. [] L e m m a 3 implies that the sheets o l , . . . , o, are vertically ordered. We now turn our attention to the implementation of the point location of 8(~r) in C, where ~r is the query plane. If 8(7r) = (x*, y*, z*), let L(~r) be the line x = x*, y = y*. An approach, which is brutal but embodies the essential ideas, consists of marching on L(~r) from z = + oo until we reach the cell containing 8(~r) (each sheet ok being traversed by locating (x*, y * ) on the projection of ok on the (x, y)-plane). This approach is unfortunately too expensive to be considered; instead we use the methodology of filtering search [ 1, 2 ], adapting to our purposes the recursive technique of [4]. Specifically, we have a primary search structure represented by a binary tree T. With each node v of T is associated a set U(v) c_ S as well as a dichotomy of U(v) into U(lson[v]) and U(rson[v]). If we let U(root) = S then each level of T describes a partition of S. To each node v corresponds an integer k(v), called the scope at node v. The idea is to form the sheet ok(o) of the plane arrangement defined by the dual of U(v). Let G(v) denote the projection of og(v) on the xy-plane. T h e search will proceed as follows: Step 1. Locate (x*, y * ) in G(v) and obtain a region of G(v). This region is associated with a plane p. Step 2. Let z0 be the z-value of the intersection of L(~r) with p; if z * > z0 complete processing; otherwise recurse on the offsprings of v. Step 3. To complete processing when z* > zo, we must use an auxiliary data structure associated with node v. Let 1 be the smallest integer such that 21 tlog n ] > k ( v ) ; we preprocess the projection of 02, l~og,l (0 < i < l) for efficient planar point location, and as in [ 4 ], we endow each region of these subdivisions with appropriate pointers so that their associated subset can be retrieved in optimal time. The idea is now to search for (x*, y * ) in 02, tlog,l for i = 0,1 . . . . . stopping the iteration as soon as a retrieved point does not lie in phs(~r). This technique, borrowed from [ 1 ], ensures optimal retrieval time. This procedure strictly conforms with the groping search strategy of [ 4 ] (to which the reader is at this point referred for details on the ensuing complexity analysis). If the number of vertices of ok is O(nk ~) for any set of n points, then we obtain an (n(logn)2a+l, logn) algorithm, by setting k ( v ) = [log2n] for every n o d e v ~ T. If we now set k ( v ) = 2h(v) [log n log log n l, where h (v) is the number of trailing zeros in the binary search representation of the level of v (the root is at level 1), we achieve the following result (provided that fl > 1). Theorem 1. There exists an (n(logn)2¢(loglogn)a, logn) algorithm to perform halfspace range search on a set of n points in E 3. We do not elaborate on the construction of the data structure. The inner loop of this procedure will be the computation of the sheets oi; this is done most simply by computing the underlying plane arrangement, which takes O(n 3) time [91. We will show in Lemma 13 (Section 3) that for any k (1 < k < n) and any constant e > 0, there exists an integer i ~ [(1 - e)k, k] such that o~ is O(nk4). The algorithm sketched earlier certainly allows us the leeway necessary to pick only such values of the scope, i.e., a little perturbation in the setting of the scope will not change the validity of the method. This leads to the following result. Theorem 2. There exists an (n(logn)8(loglogn)4,1ogn) algorithm to perform halfspace range search on a set of n points in E 3. In Lemma 5, we will also show that if the points of S are extreme (each is a vertex of the convex hull), then we have fl = 1; this gives us a new result (which we can almost identify with the findings of [ 4 ] on circular range search). Theorem 3. Given a convex polyhedron P with n vertices, there exists an (n(logn loglog n)2, log n) algorithm for reporting which vertices of P lie on a chosen side of a query plane. An Upper Bound on the Maximum Number of k-Sets Our goal in this section is twofold: on the one hand we must establish the result o f L e m m a 13 necessary for Theorem 2; on the other hand we wish to provide a result of independent interest concerning the maximum number of k-sets realized Hatfspace Range Search by a set of n points in E 3. Recall that a k-set is any subset of S of the form h n S, with k = Ih n SI and h an open halfspace of E 3. Let Nk(S ) be the maximum n u m b e r of k-sets; a simple observation shows that N k ( S ) is at most eight times the number of facets of ak (denoted Ok(S ) from now on). This crude estimation comes from the correspondence between the regions c such that IS(c)l = k and the k-sets whose associated halfspaces contain the origin and are delimited by planes crossing the z-axis above the origin. The number of such regions is certainly dominated by the number of facets in ok(S); on the other hand, as seen in the previous section, eight distinct placements of the origin suffice to cover all cases. Let Vk(S) be the number of vertices in ok(S ). Because of the planarity of the underlying graph we have N k ( S ) = O(vk(S)) , whence Lemma 4. For any k (1 < k < [SI), we have l < j < _ k 1_ _ k Let A 1, A 2.... be the convex lower layers of S. These are obtained by iterating on this process: Take the convex hull of S and remove each vertex adjacent to a face of the hull whose normal directed outside has a negative z-value. We assume that A~ is the first layer thus obtained. It has been noted by Edelsbrunner [ 8 ] that the analysis of Lee [ 11 ] for higher-order Voronoi diagrams can be directly applied to bound the complexity of the sheets in the case where S = A1. This implies the following result Lemma 5. I f S = A l then the value of vk(S ) is O ( k ( n - k)). We next prove a sequence of lemmas establishing an upper bound on the quantity Y'-I_<j ~ kvy(S) in terms of n and k. From now on, we will assume that the points of S are in general position. A perturbation argument can be used to show that the quantiiies defined above take on their maximum values when the points are in general position. For consistency, we also wish to assume that each layer has at least three vertices. If the last one does not, we add one or two points arbitrarily close to the point(s) of the layer. This will not affect the bounds we are concerned with. F o r any V ___S, we define Tk(V ) as the set of triangles formed by any three points of V whose supporting plane ~r intersects the z-axis above the origin and has at most k - 1 points of V strictly on the side that contains the origin, i.e., [phs(rr)O V I < k. We also introduce the auxiliary set L k ( V ) , consisting of the edges of the triangles of Tk( V ); L k( V ) = {(a, b) ~ V 213c ~ V; ( a, b, c) Tk(V)}. We prove two technical results concerning the cardinality of these sets. Lemma 6. For any k (1 _<k _<n), we have E l<_j<_k p j ( S ) _< 31Tk(S)l. Proof. Each vertex of a sheet oj(S) (1 ~ j _<k) corresponds to a distinct element of Tk(S ). With the points of S in general position, it is easily seen that the same vertex appears in three consecutive sheets. [] n--2=14 s=11 - - - n--2--k=10 - - k = 4 f /r L e m m a 7. 31Tk(S)t<_2klL~(S)l. Proof. Let Uk be the set of triangles t defined by three points of S with at most k - 1 p o i n t s of S strictly on one side. T o o b t a i n a b o u n d on I UkJ, consider an a r b i t r a r y edge e ~ Lk(S ) and project S on a p l a n e orthogonal to e: S is projected i n t o S ' (ignoring the endpoints of e) and e into a point q (note that i S ' { = n - 2 ) . T h u s we are reduced to a two-dimensional problem, where we must evaluate the n u m b e r of lines passing through q, with at most k - 1 points on one side. C o n s i d e r a p o l a r coordinate system with pole at q such that no point of S ' has p o l a r angle zero. With any point p ~ S ' with polar angle 0 we associate the m o d u l a r interval (0, 0 + ~r). N o t e that this interval appears in [0, 2~r] either as a single interval (if 0 < ~r) or as two intervals [0, 0 - ~r) and (0,2~r] (if 0 > 7r). Let F(O) b e the n u m b e r of intervals containing the value 0 and let s = F(~r) (see Fig. 3). W e restrict the d o m a i n of F to [0, rr], so each interval is n o w anchored either at 0 or at ~r. As a result F ( 0 ) = n - 2 - s a n d F is a staircase function. Our interest in this function lies in the fact that F(O) is precisely the n u m b e r of points to the right of the oriented line with polar angle 0. Consider the g r a p h of F(O) as a f u n c t i o n of 0: We are interested in the p o r t i o n s of the graph of F(O) that lie, respectively, b e l o w and above the lines y = k and y = n - 2 - k. The d e t e r m i n a tion o f the n u m b e r v o f unit steps of F ( 0 ) in these portions is our objective. Clearly, F ( 0 ) has s positive steps and n - 2 - s negative steps. Because of s y m m e t r y we m a y restrict ourselves to the case where ½n - 1 < s < n - 2. Let s o, Sl, a n d s 2 b e the n u m b e r s of positive steps below y = k, between y = k and y = n - 2 - k , a n d above y = n - 2 - k , respectively; let to, q, and t 2 be the c o r r e s p o n d i n g values of the negative steps. N o t e that s o + s 1 + s 2 = s, t o + t 1 + t 2 = n - 2 - s , and v = ( S o + t o ) + ( s 2 + t 2 ) = n - 2 - ( t l + & ) . We must n o w estim a t e the q u a n t i t y (t 1 + sl). If So = to = s2 = t2 = 0, then v = 0. Otherwise, we distinguish a m o n g three cases: 1. s o + t o > 0 and s 2 + t 2 > 0. In this case the g r a p h of F ( 0 ) spans the y-interval [k, n - 2 - k], a n d since s >_ ½n - 1, we have s 1 _> n - 2 - 2k. It follows that t 1 + s 1 >_n - 2 - 2 k , whence v < n - 2 - ( n - 2 - 2 k ) = 2k. 2. s o + t o > 0 and s 2 = t 2 = 0. This implies that n - 2 - s _>k. Moreover, t l > n - 2 - s - k > _ O , and since F(O) goes from y = k to y = s , we also have s x >__s - k. This shows that s 1 + t x > n - 2 - 2k, whence = n - 2 - ( s 1 + t l ) < 2k. 3. s o = t o = 0 and s 2 + t 2 > 0. Analogous to case 2. This shows that every edge of L k ( S ) is adjacent to at most 2k triangles of Uk. Since [Tk(S)I < [Ukl, the proof is now complete. [] T o u p p e r bound ILk(S)I, we refer to the detailed structure of the convex layers Ax, A 2. . . . . Let Tij be the set of all triangles t in Tk(A ~U Aj) with two vertices on A~ and one vertex in Aj. We also define L u to be the set of edges of the triangles in TU, with one endpoint in A~ and the other in Aj. Notice that each m e m b e r of Tk(S ) with two vertices in A~ and one in A j belongs to T,j, but the converse is not true. Indeed, any t ~ T,j has at most k - 1 points of A~ U Aj on the origin's side, but it may have additional ones in S - ( A ~ U Aj). L e m m a 8. ILk(S)I<_E~,jlLul. Proof. Let e be an edge of L k ( S ) and let A~ and Aj be the two layers to which its endpoints belong (with possibly i = j). By defimtion there exists a plane p that contains e and has at most k - 1 points in S on the side of the origin. Let's conceptually remove all points not in A i U Aj, and let's rotate p around e until it hits a third point (no rotation is needed if p contains more than two points of A, u Aj at the start). Since each layer has at least three points, the direction of rotation can always be chosen so as to make sure that p does not cross the origin. If the third point belongs to A i (resp. Aj) then e is a m e m b e r of L u (resp. Lj~). [] L e m m a 9. For any i -4=j, we have ILij[ < 21 Tij I. Proof. Each t ~ Tq (i 4=j ) contributes precisely two edges to L u (but one edge might be adjacent to several triangles). [] L e m m a 10. For any i ~ j, we have ITul ~ 2 k l L , I. Proof. Recall that each triangle t ~ Tq has two vertices in A ~. These two vertices f o r m an edge e, which by the argument given in L e m m a 8, is easily shown to be in L , . As in L e m m a 7, we now project A~ U Aj on a plane perpendicular to e, and apply the same reasoning to complete the proof. [] L e m m a 11. EilLii I =O(nk2). Proof. L , is the set of pairs p, q ~ A~ such that there exists a plane ~r passing through p and q with [A~ c3 phs(~r)l < k. Partitioning L , into groups for which I A ~ N p h s ( r r ) ] = O , 1 . . . . . k - l , we find from L e m m a 5 that each group has O ( k ( [ A i l - k)) elements, which adds up to O(k21Ail). [] N o t e that all layers A~ for i > k can be removed f r o m S and all the previous analysis will still be valid. Indeed, no point in these layers can be of any significance in the determination of Tk(S ). This observation, along with Lemmas 9, 10, and 11, enables us to bound the quantity Ei, jlLij t as follows: ~ l t , j l = i , j < ~ l <_i<_k E l<_i<_k t Z , l + Lemma 13. For any k (1 <_k <_n) and any constant e > O, there exists an integer i ~ [(1 - e)k, k] such that v~(S) = O(nk4). Proof. Using a probabilistic argument, it suffices to show that the average value of vj(S) over the interval [(1 - e)k, k] is O(nk4). But this is obvious from Lemma 12 since this value is dominated by (1/~k)Fa _<j _<kvj(S). [] Theorem 4. The total number of j-sets ( j = 1 , 2 ..... k ) which can be formed by n points in E 3 is O(nkS). Proof. Direct from Lemmas 4 and 12. [] Conclusions The main contribution of this paper is a proof that halfspace range search is in P L O G . The tools required to achieve this result are both algorithmic and combinatorial; in this regard this work illustrates the current trend towards closer interaction between computational geometry and discrete geometry. As has been shown in the past [e.g., 5] the notion of convex layers is a powerful tool in algorithm design. In this work we have shown that it can also be useful for combinatorial purposes. Whether our approach for counting k-sets can be refined using the same tools remains to be seen. Adding to it some of the techniques described in [ 10 ] might give a promising line of attack, however. On the algorithmic side of the halfspace range search problem, it seems that a novel technique for batching together repeated calls on planar point location will have to be discovered if further progress is to be made; at least within the restricted framework of groping search. An obvious weakness of our method is n o t to exploit the fact that sheets at separate levels in the tree originate from the same point set. Once a retrieval problem has been shown to be in P L O G the next question is to determine whether it can be solved optimally, i.e., in (n, log n). Note that this is the case for halfspace range search in two dimensions [ 5 ]. Whether this remains true in three dimensions is an interesting open question. 1. J . L . Bentley and H. A. Maurer , A note on Euclidean near neighbor searching in the plane , Inform. Process. Lett. 8 ( 1979 ), 133 - 136 . 2. B. Chazelle , Filtering search: A new approach to query-answering , Proc. 24th IEEE Annu. Symp. Found. Comput. Sci., ( 1983 ), 122 - 132 (also to appear in J. SIAM on Comput.) 3. B. Chazelle , Criticality considerations in the design of geometric algorithms , Proc. 22nd Annu. Allerton Conf. on Comm., Contr., and Comput . ( 1984 ). 4. B. Chazelle , R. Cole , F. P. Preparata , and C. K. Yap , New upper bounds for neighbor searching , Tech. Rept. CS-84-11 ( 1984 ), Brown Univ. 5. B. ChazeUe , L. J. Guibas , and D. T. Lee , The power of geometric duality , Proc. 24th IEEE Annu. Symp. Found. Comput. Sei ., ( 1983 ), 217 - 225 . 6. R. Cole , M. Sharir , and C. K. Yap , On k-hulls and related problems , Proc. 16th Annu. ACM Syrup. on Theory of Computing , ( 1984 ), 154 - 166 . To appear in SIAM J. on Comput. 7. R. Cole and C. K. Yap , Geometric retrieval problems , Proc. 24th IEEE Annu. Syrup. Found. Comput. Sci., ( 1983 ), 112 - 121 . 8. H. Edelsbrunner , Arrangements and geometric computations, to appear. 9. H. Edelsbrunner , J. O'Rourke , and R. Seidel , Constructing arrangements of lines and hyperplanes with applications , Proc. 24th IEEE Annu. Syrup. Found. Comput. Sci., ( 1983 ), 83 - 91 . 10. P. Erdbs , L. Lov~tsz, A. Simmons , and E. G. Straus , Dissection graphs of planar point sets, in A Survey of Combinatorial Theory , J. N. Srivastava et al., eds., North-Holland ( 1973 ), 139 - 149 . 11. D.T. Lee , On k-nearest neighbor Voronoi diagrams in the plane , IEEE Trans. Comp. , Vol C- 31 , No. 6, June 1982, pp. 478 - 487 . 12. F, P. Preparata and M. I. Shamos , Introduction to Computational Geometry, Springer-Vcdag, to appear. 13. F. F. Yao , D. P. Dobkin , and H. Edelsbrunner , A partition of 3-space with applications , forthcoming report.

This is a preview of a remote PDF: https://link.springer.com/content/pdf/10.1007%2FBF02187685.pdf

B. Chazelle, F. P. Preparata. Halfspace range search: An algorithmic application ofk-sets, Discrete & Computational Geometry, 1986, 83-93, DOI: 10.1007/BF02187685