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