#### 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.