Sweeping Arrangements of Curves
Jack Snoeyink
Stanford University
John Hershberger
DEC System Research Center
holds or an algorithm works for k-intersecting curves, then it will apply
to any family of algebraic eurves with the k-intersection property.
When calculating arrangements using finite precision arithmetic,
one usually cannot preserve straightness.
Greene and Yao [la]
and Milcnkovic [28] have given algorithms that do preserve the lintersection property for line arrangements.
Finally, Sharir and other researchers in computational geometry have
used Intersection restrictions in applying the theory of DavenportSchiirel sequences to curves [l, 11, 23, 33, 341. This theory has been
an important tool in the analysis of algorithms that deal with algebraic
curves.
Unfortunately,
our positive results extend only to curves with the
Z-intersection property; we cannot nay much about cubic plane curves.
Abstract
We consider arrangements of curves that intersect palrwise in at most
k points. We show that a curve can sweep any such arrangement and
maintain the k-intersection property if and only if k equals 1 or 2.
We apply thii result to an eclectic set of problems: finding boolean
formula for polygons with curved edges, counting triangles and digons
in arrangements of pseudocircles,
and finding extension curves for
arrangements. We also discuss implementing the sweep.
1
Introduction
When is it important that lies in an arrangement are straight, or that
circles in an arrangement are circular? Of course, it depends on the
questions one asks. Many, such as, “What is the minimum number
of triangles in an arrangement of lines,” do not depend on straightness, but only on the fact that two lines intersect in a single point. [25]
One can answer such questions for more general arrangements of pseudolines. Bra&o Griinbaum, in a lecture entitled “The importance of
being straight,” points out that because there are arrangements of pseudolines that cannot be stretched to lines, there are questions in which
straightness is crucial. He says that we cannot yet answer these because
‘most of our tools and methods are general (or vague and imprecise?)
enough to apply to the case of pseudolines.” [20]
In thii paper, we look at sweeping arrangements of curves with interBefore we go further, we define curves, arrangesection restrictions.
ments. and sweeping, and look at reasons to study these objects.
A finite set of curves T partitions a surface into three types of maximal connected regions: vertices are regions contained in two or more
curves of I’, edges are contained in only one curve, and faces are connected regions contained in no curves of I’. We call this partition the
arrangement of I’. An arrangement is simple if no three curves share
a common point. We deal primarily with simple arrangements in this
paper; we will note where our statements apply to non-simple arrangements. Figure 1 illustrates these definitions.
The names given to the sets of the partition suggest that the arrangement of r is
a graph embedded in the plane. It makes
vertex
face
an unusual graph-me
edges are infinite
rays, and many edges can connect a pair
of verticee.
The curves that we consider in this paper lie in the Euclidean plane
or on the sphere, are smooth, have no self-intersections, and are endless
(either closed or bi-infinite). Any two curves intersect in a finite number
of points, at which they cross.
A set of curves T has the k-intersection property if every two of them
intersect in at most k points. If any two curves of l? intersect in exactly
k points, then I’ has the exact k-intersection property.
This topological or combinatorial restriction on the intersection of
curves is different from the restrictions used in the field of computer
graphics. Computer-aided design systems usually place algebraic rcstrictions on curves; for example, they may require that all curves be
lines, conic sections, or cubic plane curves (the components of cubic
spliies). Natural families of algebraic curves satisfy the k-intersection
property for some k, however: limes have the l-intersection
prop
erty, vertical parabolas are 2-intersecting curves, general conic8 are
4-intersecting curves, and cubic plane curves are 9-intersecting. The
topological restriction is more general in the sense that if a property
Permission to copy without fee all or part of this material is granted provided that
the copies are not made or distributed for direct commercial advantage, the ACM
copyright notice and the title of the publication and its date appear, and notice is z&n
that copying is by permissionof the Association for Computing Machinery. To COPY
otherwise, or to republish, requires a fee and/or specific permission.
0 1989 ACM 0-89791-318-3/89/0006/0354
B
If a curve of I? doea not inedge-J
tersect any other curve, we have an edge
with no vertices. With these differences
Fig. 1: A simple arrangein mind, however, it should not cause conment
fusion to think of the arrangement as a
planar graph.
In the past, one studied arrangements of lines and planes in recreational mathematics and because of their relationships to configurations of points and to certain convex polytopea. Grirnbaum collected
many results and conjectures on arrangements of lines and curves in
the plane in his 1972 monograph [22]. Other early results are contamed in [19] and [21]. Griinbaum’s terminology differs slightly from
ours. He diicusses “arrangements of pseudolines,” %rrangements of
curvcs,D and “weak arrangements of curves”; we call them arrangements of curves with the exact l-, exact 2-, and 2-intersection properties, respectively. We shall call l-intersecting curves pscudolincs and
2-intersecting curves pseudocircles. Thii means that two pseudolines
(or two pseudocircles) are not required to intersect in 1 point (or 2
points).
Recently, researchers in computational geometry have found numerous applications for line arrangements in algorithms for geometry and
graphics (see Edelsbrunner’s book [7]). They have also considered arrangements of curves with intersection conditions.
Edelsbrunner et
al. [8] apply Davenport-Schiisel
sequences to prove generaliiations of
the ho&on theorem for arrangements of lines [5, 101 and to construct
such arrangements incrementally in nearly quadratic time. McKenna
and O’Rourke [27] independently proved and used the horizon theorem
for the case of pseudocircles.
$1.50
354
would be satisfactory to have a function of k (and not of n) bound the
number of points of intersection the sweep has with any curve.
Sweeping is important both as a paradigm for developing graphical
and geometric algorithms, and as tool for use in mathematical proofs.
The underlying idea is to determine properties of a collection of objects in a space of dimension d by looking at a series of consecutive
(d - 1) dimensional slices. Sweeping converts a static problem into a
dynamid problem of lower dimension.
As examples of sweep algorithms in the literature, consider the
problem of finding the intersections of n lines or segments in the
plane. Shamos and Hoey 132) showed how to detect an intersection
in O(nlogn) time by sweeping the plane with a line. Bentley and
Ottman [2] extended their ideas and developed a practical algorithm
to report all K intersections between n segments in O((n + K) logn)
time. Mairson and Stolfi [ZS] used a sweeping line to report all X
intersections between two sets of segments, each of which has no aelfintersections, in O(nlogn+X)
time. They also applied their techniques
to segments of r-monotone curve*.
If a straight line sweeps the plane to fmd the intersection points of
a set of segments, then it encounters the points in sorted order in the
direction perpendicular to the sweep. In such a sweep, the logarithmic factors in the time complexity seem inescapable. For infinite lines
Edelsbrunner and Guibas [0] showed that we can avoid the logarithmic
factor by sweeping the plane with a pseudoline. Their algorithm runs in
optimal O(na) time. Chazelle and Edelsbrunner [4] recently developed
an algorithm to report all Ii segment intersections in O(nlogn + X)
time that also sweeps the plane with a pseudoline.
2
3.1 (Sweeping
theorem)
Let I? be s finite
inj;nite CWWI (and &red eurvea, if k > 1) in the plane
have the k-interrection
property. Let e be a EUNC of I’.
lhcn we can sweep r siorting wiih c ond maintain
the
property: If k > 2 ihen arrangementi
e&l Ihat cannot
for sweeping
In the beginning of this section we define sweeping as a continuous
process; later we will see that we can carry it out in discrete steps. We
also define notation that we use in the proofs of section 3.
Let c be an endless curve in the sphere or Euclidean plane with an
orientation, which we depict as left to right. Since c is smooth and has
no self-intersections, it divides the plan; or sphere into two connected
components; one with boundary oriented clockwise, the other counterclockwise. We say that the component with the counterclockwise
orientation is above c and the other component is below. A curve 7
lies above c if the component above c contains 7. When we sweep, we
handle these two components separately.
To sweep the component of the plane or sphere above c, we want to
move c continuously to infinity if the component is unbounded, or to a
point ifit is bounded. Formally, we say that a family of curves indexed
by the positive reals, C = {c,},+
covers the component above c if
s The curve co = c,
. Every point above c (except one, if the component above c is
bounded) lies on exactly one curve c,, and
. The curve c,qis above err whenever fl> Q.
To say that we can aweep the component above e means that a family
of curves C exists that covers the component above c.
Suppose E is a member of a set of k-intersecting curves, I’. We can
sweep the arrangement
of r above e if there is a family of curves C that
covers the component above c, and the set I? UC has the k-intersection
property. Finally, we say that we cau sweep I’ starting from c if we can
sweep above c and below c.
Though we employ thii continuous definition to prove negative results in section 3.3, it is unwieldy for proving positive results. In the
literature, sweeping is investigated as a discrete process by identifying events where the intersection between the sweep and the plane
changes significantly. One-can usually interpolate between two consecutive curves of a discrete sweep in a natural way to obtain a continuous
family that covers the plane or sphere.
In our case, the oriented sweeping curve e intersects the other curves
of I’ in some order; this order changes when c passes a vertex of the arrangement or changes the number of its intersections with some curve.
If we chowe these changes as our events and find the curves of the
sweep where the events occur, then we obtain a discrete set of curves.
We can interpolate between two consecutive curves with the help of
the SchSnflir theorem [31]: Map adjacent curves c and c’ to parallel
lines. Map the curve segments between c and d to non-intersecting
line segments in the strip between the lines. The Schanflies theorem
implies that we can carry out this mapping by a homeomorphism of
the plane or sphere to itself. Under the inverne mapping, the parallel
lines in the strip become a family of curves that interpolate between
c’and c’ and intersect the curves of the arrangement in a consistent
order. By interpolating between each pair of adjacent curves, we can
extend the curves from d discrete sweep to a continuous family that
covers the plane.
We will define local operations that allow us to advance the sweeping
curve past an intersection point of two curves and to add or remove
curves from the set of curves intersected by the sweep, without violating
the k-intersection property.
But first, let us give names to some of
the things that appear along the sweeping curve.
We can represent the portion of the arrangement r that lies on and
above the sweep c e.s a graph G = (V,E). (We assume that c E I’.)
Let A denote the component of the plane or sphere on and above c.
The vertices Vof G are the points in A where two curves intersect.
The edges E are the edges of the arrangement that are contained in A.
To avoid having edges that are not adjacent to vertices, we introduce
an artificial vertex on any curve that has no intersection points. We
An edge (u, oo)
denote the edges in E by (u, u), where u, v E VU(m).
is an infinite ray.
Assume that we are sweeping above c. A point p on a curve 7 is
visible from an edge e of c if there is a face above c whose boundary
contains both p and the edge e. In particular, p is visible from c if p
In the next section we will define precisely what it mews to sweep
arrangements of curves that have the k-intersection property, but let’s
first think about what condition we would want on the sweeping
curve c. In designing algorithms, we would lie the curves of our arrangement to have few intersections with c, since we must keep track
of each intersection. In proofs dealing with a family of k-intersecting
curves, we would like c to fit into the family.
In section 3 we prove the sweeping theorem, which says that we can
always sweep an arrangement of pseudolines or pseudocircles starting from any curve in the arrangement, and cannot always sweep hintersecting curves for k 1 3.
Theorem
Definitions
ret of bi-
or sphere that
If k E {l, 2)
k-intersection
be swept.
In the next section we define local operations by which a sweeping
curve cau advance. For pseudolines (k = 1) and pseudocircles (k = 2)
we can always apply one of the local operations. For k > 2 we indicate
how to construct an arrangement that cannot be swept by a given
curve.
In section 4 we present two applications of the sweep theorem. We
use the pseudoline ca.seto extend the work of Dobkin et al. [6]; we find
a short boolean formula to describe a polygon with curved edges. We
use the pseudocircle case to find a relationship between the minimum
number of digons and triangles in an arrangement of 2-intersecting
curves. This is related to Griinbaum’s conjecture 3.7 [22].
Section 5 defines another type of sweep in the plane: sweeping a
double wedge. We use this sweep to prove an extension theorem for
arrangements that includes Levi’s lemma [25] as a special case.
Theorem 5.1 (Extension theorem) Let I’ be a fide set of CWWI
with the 6-intersec#on property, and P be a sel of k+ 1 pails, not
all on the lame curve. If k E {l, 2) then there is a curve that containa
ihe points of P and hw the k-interneelion property with respect to r.
Ij k > 2 ihen arrangementi
and point reb e&t rucb that any curve
through ihc poink violaler the k-infersection properly.
Section 6 points out that we can easily implement the local operations used ln the proof of the sweeping theorem when we know the
arrangement. When we do not, we can apply the ideas of Edelsbrunner
and Guibas [9] to sweep a set of pseudolines using linear space. We
leave sweeping pseudocircles es an open problem.
The operations that we define in section 2 can also sweep arrangements of (k > 2)-intersecting curves if we do not require the sweep to
have the k-intersection property. But is there some intersection prop
erty that is maintained by such a sweep? For algorithmic purposes, it
355
5. Passing the fIrat ray. If the leftmost curve 7(l) is an infinite ray
with no intersections above the sweep e, then c can move past the
ray and lose one intersection point with 7(l).
lies on a face immediately above c.
Suppose that m of the vertices of G appear on the sweeping curve c.
WC number these vertices with the integers 1,. . . , m in order of their
appearance along e. In thii and the next section, we use the names i,
j, k and 1 for vertices on c, and the names u, v and us for vertices above
the sweep.
If we can apply an operation, we say the sweep can make progress.
A discrete sweep terminates when either there are no curves above the
sweep or the only curves above the sweep are non-intersecting rays. In
these situations, one can continuously sweep above c and maintain the
k-intersection property without di&ulty.
In a non-simple arrangement, we may encounter a number of triangles with a common vertex v above the sweep. We can handle this
either by passing all the triangles simultaneously or by perturbing the
curves (either actually or conceptually) to form a simple arrangement.
Since our theorem will not restrict how the operations are applied,
either of these methodr will work.
i
Fig. 2: A hump (i, j) and a triangle A(k, u, I) in G
Figure 2 illustrates aomc other notation that we will use. If the
intersection of the curve u E I? with c forms the vertex i, then we
define 7(i) = Q. Some edges of the graph G lie on the curve -e
give
these edges special status and denote them with square brackets, for
example, b, j + 11, instead of angle brackets. Thus, if we write (i, j)
we mean the edge from vertex i to vertex j along the curve 7(+7(j),
and not an edge along the curve e.
We also define terms to describe nome special configurations in G. A
hump is an edge (i, j) of G with both i and j on the sweeping curve e.
The hump (i, j) Is empty if it contains no other curves. Clearly, for an
empty hump, ]j - il = 1. The hump pictured is not empty. A triangle
is a pair of edges, (k,v) and (I,v), with two distinct vertices k and 1
both on the sweep and one vertex v above the sweep-we denote this
triangle by A(k, v, I). The triangle A(k, u, I) is empty if it contains no
other curves. For an empty triangle, ]I - k] = 1.
With this notation, we can now define the local operations that move
c forward while preserving the k-iitersection property. The operations,
shown in Figure 3, are:
3
The sweeping
Using the definition
prove:
theorem
of sweeping from the previous section, we now
Theorem 3.1 (Sweeping theorem)
Lei I’ be a finite #et of biinfiniie CUPVCJ(and clorcd curves, if k > 1) in the plane of qhere that
have the k-interJection property. Let c be a curve of I’. If k E { 1,2}
tken WC con moeep I’ Jtarting with c and maintain tke k-inierrection
properly. If k > 2 then arrangementi et& that cannot be swepi.
We establish the pseudoline and pseudocircle cases, k = 1 and k = 2,
by showing that certain local operations can always make progress. In
section 3.3 we present some unsweepable arrangements with 6 > 2.
3.1
Sweeping
Pseudolines
To prove the pseudoline case of the sweep theorem, we show that the
sweep can always make program using three of the operations defined
in section 2.
Tske a loop
Pass a triangle
Lemma 9.1 Any arrangement of bi-infinite CWWIJ r wiih the linterJection property can be #wept Jtariing witk any CUNC 7 E T ruing
three opcratiow
paming a triangle, paJJing the firat ray, and taking
pass a hump
ihe
Take a ray
Fig. 3: Operations
,%‘Jt
P3y.
Proof:
We will ses that the sweep can either paas the first ray, take
the first ray, or pruw some triangle.
Consider the edge (1, u) of the curve 7(I) that intersects the sweep
first. Ifu = 00, then we can pass 7(l). Otherwise the vertex u comes
from the intersection of a curve or with 7( 1).
Suppose that the curve cur does not
intersect the sweep and that the curves
(c,7(l),crl,...,a,}
border an unbounded
-2Je&.k*
face in counterclockwise
order, an illua’
1
trated in Figure 4. We can show by induction that LI, does not intersect the eweep.
Fig- 4’ Or does not inAaaume that these curves are oriented in
terscct the sweep
the counterclockwise direction.
Then the
curve q-r divides ai into two pieces, one to
the left and one to the right. If Q;-I does not intersect the sweeping
curve c, then it separates the right piece of ai from c. The left piece
of 01 must remain in the region bounded by (c,7(1), al,. . . , ori-1);
since vertex 1 is the first vertex on c, the left piece also cannot
intersect e. Therefore, if or does not intersect c, then neither does
a,, and e can take the first ray.
Otherwise ai intersects the sweep at a point L.
Let us call a triple (i, v, j) a half-triangleif
(i, u) is an edge and 7(i)
and 7(j) intersect at u. No curve crosses the edge (i, u) of (is u, j), no
any curve visible in the interval (i, j) crosses c between i and j and
7(j) between v and j. By induction on the sire of the interval (i, j),
we can show that every half-triangle contains an empty triangle.
Pass a my
by which the sweep progresses
1. Taking a loop. Let 7 be a curve that intersects the sweep in at
most k - 2 points. If an edge e of 7 is visible from an edge [i, i + l]
of c, then there is a path from a point on e to a point on [i, i + I]
that intersects no other curves. The sweep c can advance along
this path and intersect the edge e in two places without adding
any other intersections-preserving
the k-intersection property.
2. Passing an empty triangle. If A(i,u,i + 1) is an empty triangle,
then c can move past the vertex v, interchanging the order of 7(i)
and -y(i + 1) along the sweep.
3. Passing an empty hump. If the edge (i, i + 1) is an empty hump,
then c can advance past it and reduce the number of intersections
with 7(i) by two.
4. Taking the first ray. If a bi-infinite curve 7 intersects the sweep in
fewer than k - 1 points and is visible as an infinite ray from edge
[co, l] of c, then c can move forward and introduce one intersection
point with this ray; 7 becomes 7( 1). We can define taking the last
ray in a similar fashion.
356
In the base case, Ii-j1 = 1 and A(i,u, j)
is an empty triangle. Otherwise a curve fi
intersects 7(j) at w mch that (j,w) is an
edge. Since p is visible from j, it intersects
c at k E (i, j). But now (j, UJ,k) is a smaller
i
k
i
half-triangle, which contains an empty triangle by the induction hypothesis.
Fig. 5: An empty trianSince CQ intersects the sweep at L, the gle in a half-triangle
triple (l,u,L) is a half triangle. The sweep
can make progress by passing the empty triangle contained in
(1, u, L). Thii entabliihes the lemma. m
3.2
Sweeping
Pseudocircles
Let’s pause a moment and consider what these first four lemmas tell
us. We have an arrangement r in which the sweep cannot progress.
If we remove any curve 7, then some operation applies. Lemmas
3.4 and 3.6 tell us that, after removing 7, there must be an empty
hump or triangle where there were none before. We also have a notational convenience from lemma 3.4; every curve in l’ can be denoted
7(i) for some vertex i on the sweep.
Next we consider configurations in which removing a curve leaves a
hump or triangle. By finding contradictions to lemma 3.6 or to the
minimality of l?, we can show that most configurations cannot occur.
Lemma 3.7 For any verlez j on fhe #weep, Ihe removal of the curve
-y(j) cannot leave an empty hump or empty triangle with verticesi and k
rdiafying
i < j < 6.
Proof:
By case analysis. We sketch the idea: Lemma 3.6 implies
that the curve 7(j) intersects the triangle or hump that is formed if
7(j) is removed. That intersection point forms a new empty triangle.
To break up the new triangle, i(j) must reenter it-but in doing so,
the curve 7(j) creates another triangle that cannot be avoided. n
To establish the pseudocircle (k = 2) case of the sweep theorem we use
operations that change an even number of intersections. Once again
we ehow that the sweep can always advance.
r udh the 2-intersection
Lemma 3.2 Any arrangement of CUN~B
property can be rwept darting born any curve 7 E l’ by wing three
opcrationr: pawring a Itiangle, pwing a hump, and taking a loop.
We first prove that a t$-infinite curve can sweep an arrangement of
‘l-intersecting curves curves in the the Euclidean plane. We amume
that a counterexample exirts and then derive a contradiction. At the
end of this section, we show that a closed sweeping curve can sweep a
sphere or the Euclidean plane.
For each arrangement in the plane with a bi-infinite aweeping curve
we can form a graph G of the portion on or above the sweep. We define
the .&e of an arrangement with a sweeping curve to be the pair (IVl, n);
that is, the number of vertices on and above the sweep followed by the
number of curves. Now, choose a set to a-intersecting curves I’, including an oriented bi-infinite rweeping curve c, guch that c cannot make
progrer and the sise of the arrangement is lexicographically minimum.
We prove a sequence of lemrnaa about the structure of thk arraagement and wind up with a conttadiction. Thir contradiction implien
that a bi-infinite aweeping curve can always sweep an arrangement of
2-intersecting curves.
Lemma 3.3 Removing an, ewve -y from the arrangement I’ allow
ihc rweep to progrerr.
Proof:
By minimality of the arrangement. a
Lemma 3.4 AII curvc~ in I’ infcrrect the awsepiq
Lemrn~ 3.6 The removal
of a CINC
y(k)
cannot leave a hump.
Proof:
Suppti that the arrangement of r {y(k)} contains the hump (i, j). Consider the
arrangement r’ with only thin hump removed:
r’ = r - {-y(i)}. By lemma 3.3, the sweep
ki
i
can make progress in r’. But 7(i) intersects
only 7(k); therefore, in I”, the curve 7(k) conFig. 6: y(k) cantributes an edge to an empty hump or trianglenot leave a hump
let (k,v) be that edge. In the original arrangement I’, however, 7(i) intersects 7(k) at some
vertex u between k and v. Thus A(i, u, k) is a triangle in r, contradicting lemma 3.6. m
If the removal of a curve 7 does not allow UI to move past a hump
(lemma 3.8) or take an edge (lemma 3.4) then we must have an empty
triangle, A(i, V,j). Since 7 cannot intersect the #weep between i and j
(lemma 3.7), we can denote the triangle in the arrangement l? - {7)
by A(i, v, i f 1). The next lemma will restrict the way 7 can break up
thl triangle.
Lemma 3.9 Suppore that the armagemcnt I’ - (7) har an cmpg Iriangle A(i, V, i+ 1). Then, in lhe original arrangement I’, the face above
thy edge [i, i + l] hu v M a vctieo.
CYIW c.
Proof:
Support that v i-not a vertex of the face above the edge
[i, i + 11. Then the curve 7 must ‘hide” u from that portion of the
sweep by intersecting both legs, (i,v) and (i + 1,~) of the triangle
A(i, V, i + 1). Lemma 3.7 implies that 7 intersects both legs once or
both lega twice.
Prooft
Since the ‘weep cannot make progrem by taking a new
curve, any curve 7 that does not intersect c in not visible from c. But
removing such a curve 7 doee not thazqc c’r ability to make progreaa
Therefore, all curve‘ in the smallest counterexample inkrsect the
sweeping curve c. m
Lemma 3.6 We ten choose a minimum counlerezampk ruch ihat all
of the cwvu of I’ e?e my, fo iajkdy below ulc rulecp c.
Proof:
Map the bi-tinite
moeping curve c ta a line c’ by a continuous mapping of the plane onto it&
cut all curvea below c’ and
uknd them prpeudieularly to infinity, then apply the inverse mapping. When this procedure is applied to a minimum counterexampie, neither the arraqement above the #weep nor the sine t afTected.
Thus, it rqainr
a minimum counterexample. n
From now on, we assume that our unrwecpablc arrangement, r, ia
chosen in accordance with kmma 3.5.
i
i*l
I
i+l
Fig. 7: The curve 7 intersects the legs once. We untangle the trie.ngle.
In both cases we can derive a contradiction by *untangling” the
triangle u showq in figure 7. Untangling eliminates the vertex V,
forming a mmalkr arrangement that can be swept. We omit the
proof to .*n space. .
Lemma 3.6 The arrangement r cannot contain o hrmp ot a Manlk.
*
Proof:
The arrangement certainly cannot contain an empty ttiangle or hump; otherwire the sweep could make progress. Sup
pose, however, that r contains vertices i and j on the sweep,
with i < j, that are the en& of a hump or a triangle. Since none
of the curvee that intersect the awecp between i + 1 and j - 1
intersect the hump or triangle, the smaller arrangement, I” =
{7(i + 1),7(i + 21,.. . I 7(j - I)), lies completely inside the hump or
triangle. But, by minimality, the sweep can make progress in the
arrangement r’. Thii contradicts the fact that I’ ia unsweepable and
establishes the lemma..
357
Suppose two chords, ;;6 and z, intersect. Let CI denote the closed curve including chord ;;i;, and let p denote the
closed curve including chord z. The
non-chordal portion of p goes from the
interior of the closed curve a to the cxterior, so it intersects o an odd number of times. But, by the &intersection
property, it must do so only once.
Therefore, closing off the curves of F
with these chords does not violate the
2-intersection property. w
We have shown that removing any curve 7
from the minimum counterexample I’ must
”
leave an empty triangle and that 7 must inter7
sect only one leg of that triangle. If removing
y leaves A(i, v, i+ 1) then we say that the edge c 2cL
i
ii7
Ii, i + l] is responsible for 7. Notice that each
edge of the sweep is responsible for at most one
Fig. 8: [i, i + l] is recurve.
sponsible for 7
In order to have an edge of the sweep rtsponsible for every one of th; n curves in the set F, we need at least n + 1
vertices on the sweep. Thus, there is a curve that intersects the sweep
twice. We call a curve a loop with respect to c, or, more simply, a loop,
if it intersects c twice and is connected in the above component of the
plane.
The presence of a loop is critical to our argument. If we were sweeping an infinite cylinder, we
would not always have a loop; in fact, there art
unsweepable arrangements of curves that have the
two-intersection property and have no loops. Figure 9 shows an arrangement in which the sweeping
circle, c, cannot make progress. The existence of c
a loop is a property of the plane that prevents the
sweep from becoming stuck.
We omit the proof of the final lemma for the biFig. 9: Cannot be
infinite case.
swept
Lemma
Fig. 10: Closing off curves
with chords
Given an arrangement in the Euclidean
olanc and a closed sweeuinn curve c. em
bed the arrangement in iheaphere according to lemma 3.11. To sweep
the interior of c, simply sweep on the sphere. To sweep the exterior
of c, sweep on the sphere until c reaches the auxiliary curve t. Then
return to the plane, cutting c where it meets t and extending it to infinity. Finish the sweep in the plane with thii bi-infinite sweeping curve.
3.2 is
Thus, a closed sweeping curve can always progress and leestablished.
3.3
Arrangements
There are arrangements
be awept.
that
cannot
be swept
with the J-intersection
property
that cannot
3.10 There eziete s curve 7 whore removal does noi leave s
iriangls.
We define a nesting for loops and look at an innermost loop 7.
By looking at 7 and the interval resonsible for -r we can End a smaller
arrangement in which the sweep can make progress if and only if it
can make progress in the original. But this contradicts the minimality of the original arrangement. w
Proof:
Fig. 11: Unsweepable arrangements of Sintersecting
curves
Consider the arrangements in figure 11. In both of them, the sweep
ing curve e intersects every curve twice. When the sweep first passes
over one of the vertices on the boundary of the shaded region, it intersects one or two curves, each in two additional places-in both instances violating the 3-intersection property. Thus these arrangements
are unsweepablt.
It is not difficult to construct arrangements with the (k > 3)intersection property that have copies of the arrangements of figure 11
stopping progress in triangles or humps. This establishes the final case
of the sweeping theorem.
Lemma 3.3 states that if we remove one curve from the smallcst
counterexample, then some operation applies. Lemmas 3.4 and 3.8,
however, say that the operations of taking a curve or passing a hump
will never apply after removing one curve. Lemma 3.10 proves the
existence of a curve whose removal does not leave a triangle. This
contradiction proves that any arrangement of bi-infinite, 2-intersecting
curves curves in the Euclidean plant can be swept by a curve that
maintains the Zintersection property.
Having established the bi-infinite case, we can use it to prove that
a closed curvt can always make progress. To sweep a sphere with a
closed curve c, simply find a point that lies only on c and remove this
point from the plane. Sweeping this punctured sphere is equivalent to
sweeping the Euclidean plant with a bi-infinite curve.
To sweep an arrangement in the Euclidean plane with a closed curve,
we show how to embed it in an arrangement of 2-intersecting curves
on the sphere. The following lemma shows that we can map the plane
into a region of a sphere bounded by a P-intersecting curve [. Then we
close off the bi-infinite curves outside oft to form an arrangement on
the sphere with the 2-intersection property.
4
Applications
of sweeping
In this section wt apply the sweeping theorem to solve two problems:
finding boolean formule for polygons with curved edges and counting
triangles and digons in arrangements of exactly Zintersecting curves.
4.1
Boolean
formulae
for polygons
The lines supporting the edges of a simple polygon define half-spaces
in the plane. We can describe the set of points in the interior of the
polygon by a boolean formula on these half-spaces. For example, a
convex polygon is the M?JDof the half-spaces defined by its edges. Ptterson [30] showed that every polygon with n edges can be represented
by a monotone formula that uses each half-space once.
Any bi-infinite curve divides the plane into two half-spaces; we can
attempt to find formulae for polygons with curved edges if these edges
are pieces of bi-infinite curves. Define a curved segment to be a simply
connected portion of a curve. We call the points that bound a segment
vertices in this section; segments with only one endpoint we call rays.
A polygonal chain is a sequence of curved segments {sr, ss, . . ., s,,)
such that si and si+l share a common vertex, either 61 and s, are rays
(and the chain is open) or they share a common endpoint (and the
chain is dosed), and no other intersections between segments occur. A
vertex v of a segment s divides a bi-infinite curve into two pieces; we
call the piece not containing the segment the extension of s through v.
Lemma 3.11 The bounded faces of an arrangement of endless curves
wiih the 2-intersection property in the plane can be embedded into s
region bounded by s curve in sn arrangeineni of closed 2-intersecting
curvt~ in the sphere.
Proof:
Draw an auxiliary curve 4 around the arrangement F so
that all the vertices and closed curves of I are on the interior of t
and modify the infinite rays so < intersects each ray once. Take a
solid half-ball H and map < to the rim of H so that the interior of
the curve t is mapped to the rounded surface of the half-ball. Every
bi-infinite curve of l? has two points of intersection with t; connect
these two points by a chord along the Aat surface of the half-ball.
These chords turn the bi-infinite curves of I into closed curves; we
must show that any two closed curves intersect in at most two points.
358
Dobkin et al. [6] gave a simple proof that every polygon with n edges
has a Peterson-style formula--a monotone boolean formula that uses
each edge’s half-space once. Their proof depends on the fact that every polygonal chain has a splitting vertex-a vertex v such that the
(straight-line) extensions of the incident edges through v do not intersect the chain. They split the chain at v, recursively find formula for
the two subchains, and combine them with an AND if u is convex or an
OR if 0 is concave.
We can use the sweep theorem to show that polygonal chains whose
segments are portions of pseudolines also have a splitting vertex.
Theorem 4.1 In any polygonal chain whose segments are connected
portion of distinct pseudolines, there is a vertes B such that the e&e+
rions of the incident segmenti through t) do not intersect the polygonal
chain.
Proof:
Let s = (81, ss, . . . , s,,} be a polygonal chain satisfying
the hypothesis.
If S is closed, sweep its arrangement of pseudolines starting from
a bi-infinite curve. that intersects no curves. Stop when the sweeping
curve e first crosses the chain S. Since all segments of S are bounded,
the sweep first intersects S by passing a triangle and not by taking
or passing the first ray. Hence, the intersection point crossed is a
vertex v of the chain, as shown in figure 12a. The incident segments
both intersect e, so their extensions through v lie wholly on the swept
side of c. The chain S, however, lies on the unswept side, except for
v. Therefore the extensions cannot intersect S.
Lemma 4.1 In an arrangement of closed curves with the ezact 2intersection property, let pi denote the number of i-sided faces. Then
2pa + 3ps 2 4%
Proof: Assume the arrangement is on the sphere. We will find four
digons or triangles on each curve.
Choose a curve e. Map c and one of the hemispheres it defines to
a disk in the plane by the Schhflies theorem. [31] Extend the curves
to infinity outside the disk.
Sweep the diik starting wi+.h c. Since c already intersects 811 of the
curves, it advances by passing a triangle or hump (a digon). Cut c
inside the hump or triangle, and extend the ends to infinity without
crossing any other curves. We can still sweep the disk with this biinfinite curve, so there is another digon or triangle. Similarly, we
find two digom or triangles in the other hemisphere defined by c.
Since we find each digon at most two times and each triangle at
most three times, we have 2pl+ 3~3 2 4n. l
Griinbaum conjectures [22, Conj. 3.71 that every digon-free arrangement of exactly 2-intersecting curves her at least 2n - 4 triangles. Specialieing our result proves there are at least 4n/3 triangles-we suspect
that his conjecture is closer to the truth.
5
Sweeping
wedges
In the previous section our sweeping curves moved forward to sweep
the plane. In thii section we will see how to sweep by rotation about
a point. We uee this sweep to prove the extension theorem, which
extends arrangements of l- and 2-intersecting curves by adding new
curves that psss through specified points.
Theorem 5.1 (Extension theorem) Let l’ be a finite set of cumee
wiih the k-intersection properly, and P be a ret of 6 + 1 poinb, not
all on the same curve. If k E (1,2} then there ie Q curVe that containa
the pointe of P and hw the k-iniersection property with reepect to I’.
If k > 2 then arrsngemente and point aek ezist such thaf any curve
through the points violaier the k-intersection property.
Levi proved the exact k = 1 case of the extension theorem in
1926 [25]. Levi’s extension lemma, M his result is known, has become
an important tool for generalisiag properties of arrangements of lines to
arrangements of pseudoliies. For example, Goodman and Pollack use
it, in concert with their %ircular sequences” [7,17], in a series of papers
that prove duals of Radon’s and Helly’s theorems for pseudolines [16],
prove that all arrangements of 8 pseudolimes are stretchable [13], and
deflne a duality for configurations of points’and pseudolines [12, 151to
establish a conjecture of Burr, Griinbaum, and Sloane [3]. They also
show that no extension lemma can hold for planes in space [14].
As we mentioned in section 4.2, Griinbaum [22] is interested in arrangements of exactly 2-intersecting curves. He says, “Another open
and seemingly hard problem is to find the right analogue for (digonfree) arrangements of curves of Levi’s extension lemma. It is well possible that an appropriate result in this direction would lead to solutions
of some of the other problems mentioned.” The pseudocircle case of
the extension theorem finds a Zintersecting curve, which is not necessarily au exactly 2-intersecting curve-we do not guarantee that our
new curve intersects all other curved.
We establish both the pseudoline and pseudocircle cases of the extension theorem by showing that a bi-infinite curve can sweep a double
wedge in the Euclidean plane. Let us define such a sweep formally
before we give the proofs.
Let c and c’ be oriented bi-infinite
curves that intersect only at a point p.
& :,,:,
.::::
“:..:::i,..
:::::
_/
_ ::’Y:
Curves e and d divide the plane into four
~~~~~~~~~~:
:~~~~~~~’
c
regions bounded by curve segments, as
=I M .::..
”
‘;
i,.~,~~~:~.~~~~~:~:~:~~:
p . :.,:.::p
:
‘.;:i“‘“-’
:cj.:.
.$zi
illustrated in figure 14. We call the re.,. ,.,
%
gion where both segments are oriented
towards p the left wedge, and call the reFig. 14: A double wedge
gion where both are oriented away from
p the right wedge. The left and right wedges together comprise the
double wedge, denoted wedge(c,c’). The wedge wedge(c,d) contains
the curves c and d.
The segment of c bounding the left wedge is the left half of c, that
bounding the right wedge is the right half. We asume that the left
Fig. 12: Sweeping closed and open polygonal chains
If S is open, let I~ be the ray that is the extension of so through its
vertex. Assume that the rays so, 61, and s, appear counterclockwise
in thii order on the line at infinity; if they are reversed, consider
the mirror arrangement. Sweep the arrangement beginning with a
bi-infinite curve c that intersects only & and stop when c intersects
the chain S, as shown in figure 12b.
Recall that we sweep by passing triangles and taking and passing
the first (and not the last) ray. Since the sweep c intersects %, it
cannot cross the ray 4; ray s1 blocks c from crossing s,,. Furthermore, c cannot pass II without intersecting the chain S since q E S.
Therefore c first intersects S by passing a triangle, and the extensions of the segments incident to the triangle’s apex are separated
from the chain S as in the previous case. This proves the theorem..
This theorem, together with the results of [S],
proves that polygons bounded by portions of pseup
R
dolines have Peterson-style form&e.
I3
Polygons bounded by portions of pseudocircles
may require auxiliary curves and variables. In figure 13, the polygon R is contained in the same halfFig’ 13’ ’ has
spaces as the polygon P-to represent one region no formula
without the other, we must separate them with another curve.
4.2
Triangles and digons in arrangements
2-intersecting
curves
of exactly
We can model lines and pseudolines in the projective plane by great
circles on a sphere with opoaite pointsidentified. In UArrangements and
Spreads,” Griinbaum notes that if we cease to identify opposite points
of the sphere, we obtain an arrangement of exactly 2-intersecting curves
with no digons (two-aided faces) [22]. He investigates minimum and
maximum number of triangles in such arrangements and asks what is
the relationship between the number of triangles and number of digons.
We can prove:
359
wedge is below c and the right wedge is above, according to the definitions of below and above given in section 2. We want to rotate c
continuously, moving downward on the left and upward on the right
until c reaches c’.
A fkily of curves, C = {c=}o<asr, indexed by reals from the interval
[0, 11, covers the double wedge wedge(c, c’) if
e The curves co = c and cl = c’,
o Every point in vedge(c, c’) lies on exactly one curve c, except the
point p, which lies on every curve in wcdge(c, I?), and
e For all 0 < Q < p < o’ 5 1, the curve co lies in wedge(c,, c,,)
Suppose that e and d form a wedge wedge(c, c’) and belong to a set
of curves T that has the the k-intersection property. We say that c can
sweep the double wedge wedge(c, d) if there is a family of curves C that
covers wcdge(c, c’), and the set l’UC has the k-intersection property. As
before, we assume that the sweeping curve e is part of the arrangement.
A point Q on a curve -r is visible from an interval I of the sweep c,
if 2 and some point r E I both lie on the boundary of a common face
contained in the double wedge wedoefc. ~‘1.
We can view the sweeping pro&s in another
way. If we remove the point p from the plane,
the resulting surface is topologically equivalent
to a cylinder. The sweeping curve c and its destination c’ each become two b&infinite curves.
Both pieces of c are moving in the same direction
(counterclockwise in figure 15). These two pieces
c’
C
together arc not allowed to intersect any curve
in more than k points; the sweep ends when the
pieces of e reach the pieces of d.
Even though we have defined sweeping as a
continuous operation, we again want to perform
Fig. 15: e on a
the sweep in discrete steps. We use the local opcylinder
erations from section Z-modifying
the “taklmg”
operations to use the new definition of visibility. We prove the cxtcnsion theorem in the next three subsections.
Fig. 16: Surgery on the right wedge finds curve 7
c’c
zr
5.1
Extension
lemma
for pseudolines
We do not need to sweep a double wedge to prove the extension theorem
fdr exactly l-intersecting curves. Levi originally proved hi lemma by
arguing that a curve that connected two points and had the minimum
number of Intersections with other curves had the exact l-intersection
property. See [25] or, for a proof in English, [22, Thm. 3.41. Our proof,
which sweeps a double wedge, handles the l-intersecting curves case
and foreshadows the proof the pseudocircle case.
Suppose we have an arrangement of pseudolmes and points p and
p not on the name pseudoline. If no curve passes through p then WC
add one to the arrangement by sweeping with a bi-infinite curve until
we encounter p. Now, if only one curve passes through p, duplicate
it, reverse its orientation and perturb it so that the original and the
copy intersect only at p and the point g lies in the double wedge of
these curves. Otherwise, g lies in some region bounded by two curves
through p. Orient these two curves so that Q lies in their double wedge.
Lemma 5.1 proves that we can sweep the double wedge containing Q
and maintain the l-intersection property. This establishes the k = 1
case of the extension theorem.
or ray after the surgery. Therefore e can now take a curve 7 that
intersected the left half of c before the surgery.
Look at the right wedge of wedge(c, 7). Since 7 is visible from c as
a ray in this wedge, every pscudolme that intersects the right half of
c also intersects 7 above c.
Returning to wedge(c,c’), perform the same surgery M above on
the left wedge. Lemma 3.1 says that c can advance downward in the
reduced arrangement by passing triangles and passing and taking the
first ray. As before, if we can pass a triangle or a ray, we can also
pass it in the original arrangement. If wc can take the ray of a curve
Q, then Q intersects -f below the sweep. Therefore, a cannot intersect
the right half of oif it did, it would intersect -I above the sweep as
well. This means that c can take Q in the original arrangement.
Therefore, e can advance on the left to sweep the double wedge. n
This completes the proof of the pseudoline case.
5.2
Extension
theorem
for pseudocircles
We will also prove the extension theorem for pseudocircles by sweeping
a double wedge. First, however, we show that we need consider only
closed curves on the sphere. Given an arrangement of pseudocircles in
the Euclidean plane, lemma 3.11 says we can map it to a region ‘R of a
sphere bounded by a pseudocircle and close off all the curves without
violating the Zinterscction property. Let p, Q, and r denote the three
points given by the hypothesis; they too arc mapped into 72. Assume
for the moment that we can find a curve c through p, Q, and r on the
sphere. The curve c intersects the boundary of 7Z in at most two points,
so the portion inside ‘R, that is o’ = cnX, is a simply connected curve.
This curve o’ maps to a a-intersecting curve in the Euclidean plane.
Now, consider the sphere with an arrangement of closed pscudocirclcs
and three points p, Q, aud r-for simplicity, assume no curves pass
through these three points. If we remove r, then we need to find a biinfinite curve that passes through p and q. As in the pseudoline case,
the sweeping theorem says that we can sweep with a bi-infinite curve
and
until we encounter p. Duplicate the sweep, reverse its orientation,
perturb it so that the original and the copy intersect only at p and the
point q lies in the double wedge of these curves. Lemma 5.2 proves
that we can sweep the double wedge containing 2 and establishes the
k = 2 case of the extension theorem.
Lemma 5.2 Let r be a finite ret of p~eudocirclee, all tlored ezcept
two, c and c’, which dejZne a double wedge. The curve c can sweep
wedge(c, c’) using Ihe operationa of passing a Mangle, passing a hump,
and taking a loop,
Lemma 5.1 Given a finite set of pacudolinea l’ that includes two
curves, c and C, that define a double wedge, the curoe c can sweep
wedge(c,d) wing the operationa of pcrssing a triangle and taking or
patsing the first or last my.
In some arrangements, lemma 5.3 pinpoints a place where an operation applies.
In other arrangements, wc find curves that
we call crescents. Crescents have rcglons,
which we call their shadows, in which the
sweep can advance unless some other crcs- Ys2x
o’
cent prevents it. By looking at the strucFig. 17: Two crescents
ture of crescents and their shadows, we will
sea that there is some crescent whose shadow contains no other crcscents. The sweeping lemma for pseudocircles, lemma 3.2, is an important tool in thii proof.
We call a curve a crescent if it is visible from one half of the sweep
and intersects the other half in two points. Keep in mind that all curves
but c and c’ arc closed. We will refer to crescents that intersect the left
(right) half as above (below) crescents.
Crescents are important because:
First apply operations that advance the right half of the
Proofr
sweep c. If e can no longer make progress in the right wedge, then
it will be able to advance in the left wedge.
Assume c cannot advance on the right-no
operation applies in
the right wedge. We perform surgery: Erase everything in the plane
except c and the curve segments in the right wedge, and extend these
segments to bi-infinite curves without adding any intersections. The
only effect of thii surgery that is visible from the right half of c is
that d disappears. Lemma 3.1 says that c can make progress in the
reduced arrangement by passing triangles and passing and taking the
last ray. Since no operation applied in the original arrangement and
the curves visible from c did not change, c cannot pass a triangle
360
Lemma 5.3 If an arrangement
with p and with q,, ~1, . . . , *i-l,
(or outSh&&)).
does noi have both above and below
creaeente, then Lhe rweep can make progress.
the set of Ieoding cwws of i&k-l(r)
Corollaries to this lemma prove the definition of shadows is unambiguous and reveal 5ome structure of the shadows.
Proof: Suppose the arrangement ha5 no above crescents; the other
case is similar. Then perform surgery on the right wedge: erase
everything from the plane except c and the curve segments in the
right wedge, then extend these segments to bi-infinite curves without
adding intersections. (See figure 16.)
Lemma 3.2 says that c can now advance by passing a hump or
triangle or by taking a loop. If a passing operation applies in the reduced arrangement, then it also applies in the original. On the other
hand, no curve visible from the right half of the sweep intersects the
left half, 10 any loop that can be taken in the reduced arrangement
can also be taken in the original. Therefore, c can make progress in
sweeping the double wedge. m
Corollary
5.5 The cona&uc2ion of 2he inner and outer shadows of 7
is well defined.
Proof:
When adding the segment of a curve (Y to an inner shadow
in&, we add the segment “fromp, to the intersection point withhhe
right balfofc nearest intv(inSk).” Lemma 5;4 says that a nest5 with
7. Therefore, both points of me either precede or follow intv(inSk)
and the nearest one in well defined. .
Corollary
rhadow
Assume for now that 7 is a below crescent-it intersects the right
half of the sweep c and is visible from a point p in the left half of c. The
hump of 7 is the portion of 7 above the right half of c. If c could pass
the hump of 7 on the right, it could subsequently take the loop of 7 on
the left. We make the following definitions in an attempt to capture
the set of curve.8 (or curve segments) that prevent c from passing this
hump.
We define the inner and outer shadowy of 7 recursively in the following paragraph. The inner shadow i&h(y) is a set of curve segments,
each having an endpoint that is before the hump of 7 on the right half
of c. The outer shadow out%(~)is a set of curve segments, each having an endpdmt that ie after the hump of 7 on the right half of c. The
The shadow interval of
shadow Sh(r) is the union inSh(y) U o&h(r).
.%, into<&), is the portion of c from the leftmost to the rightmost point
of c n Sh The shadow region of Sh is the largest simply connected rcgion bounded by the curve segments of the shadow Sh and the interval
5.6 Let a be a curse with a point pp Ihal is uiaible from the
interval
intol(Sh(y)).
E’th
I er a ia a crescent,
doe.8 not intersect
c, or connects pm to c within the, shadow region of RI(~).
Proof:
Assume n intersects c and is not a crescent. If Q is first
visible from but does not intersect inb<inSh) (or intv<outSh)),
then
lemma 5.4 saye that Q nests with the leading curve of the shadow.
Thus a will be included in in&+.1 (or outSk+l). .
Now we can show how one crescent can prevent the sweep from
advancing in the shadow of another. We say that an above or below
crescent A stops a below or above crescent B, A@B, if A in visible from
the shadow interval intDqSh(B)).
Lemma 5.7 If no crescent rtops a crescent 7, Ihen the sweep can advance in the shadow region of 3(-y).
Proof: Suppose that no operation applies in intvqSh(ih(r)). As usual,
we perform surgery: erase every curve outside the shadow region
except c and extend all curve segments to infinity without adding
intersections.
The sweep lemma, lemma 3.2, says that c can make progress in
the reduced arrangement. If e could advance by passing a hump or
triangle, then it could do 80 in the original arrangement. Therefore
it can take a loop of a curve Q. Since Q is not a crescent, corollary 5.6
implies that a dots not intersect c. Thns c can take a in the original
arrangement. n
To prove that there is a crescent not stopped by any other crescent,
we show that the 0 relation is acyclic. We omit the proof due to space
constraints.
intd(Sh).
Let in& = out& be the hump of 7. We form the set in&+1 by
adding certain curve segments to in& For every curve Q that intersect6 the right half of c before the interval intvl(inSk) and has a point
pa visible from intsI(inShi), we add the curve segment tromp,, to the intersection point with the right half of c nearest intvi(inSh). If no curves
are added, then we terminate the recursion and set in.%(~) = idk.
Since a finite number of curves intersect c, the recursion eventually
terminates.
We use a similar recursion
for the outer shadow out.%(y),
replacing “before” by “after”
in the previous paragraph.
The leading curve of inner
shadow inSk (outer shadow
out&) is the curve whose
intersection with c is the
first (last) point of intv(inSk)
(intvi(outShi)).
The act of leadFig. 18: The shadows
ing curves for an inner shadow
in.9~ (outer shadow out&) is the set {ho, *1,. . ., xi), where ~j is the
leading curve for id&j (out+).
We have made these definitions for below crescents. For above crescents, we make similar definitions involving the left half of the sweep.
The only difference is that the outer shadow precedes the inner shadow
so that the inner shadow is closer to the vertex of the double wedge
wedge(c, d).
The way curves nest inside each other is important in our proofs. We
say that a curve o ntstswith anon-crescent curve @of the inner shadow
inSh(r) (outer shadow out%(T)) if both points of the intersection ane
lie inside (outside) the closed curve 0. We say that a curve Q nests
inwardly with the below crescent 7 if both points of a fl c lie in the
interval of c between the hump of-y and p, the point from which y is
visible below c. The curve Q nests outwardly with 7 if both points of
n n c lie outside of the hump of 7 and the interval from the hump to p.
Curves that contribute curved segments to a shadow have nesting
properties that are described in the following lemma whose proof.
Lemma 5.0 The 8 relation is acyclic.
Proof: If cycles exist, we can show that the crescents of a minimal
length cycle must neat deeper and deeper. The most deeply nested
crescent, however, cannot stop any other crescent of the cycle. Thii
contradiction shows that no cycle exists. w
This lemma, combined with lemma 5.7, shows that we can make
progress even when crescents exist. Thus, the proof of lemma 5.2 is
complete.
5.3
Arrangements
with
no extension
curves
Figure 19 shown that when we specify k+2 pointa in pseudoline (k = 1)
or pseudocircle (6 = 2) arrangements, an extension curve may not exist.
Fig. 19: No extension curve
In figure 19a, we want to draw a new curve through the three points,
50 one point lies between the other two. But then one of the pseudolines
separates the middle point from the adjacent points-the new curve
intersects this pseudoline at least twice.
In figure 19b, we can assume that the new curve through these four
points is closed. The center point then has two adjacent points and one
Lemma 5.4 Let fl be a cute
whose segment fl is added in forming
the shadow inShi
(or outSh(y)).
Letcr be a curve that intcreecti the
sweep c, buC not in the shadow interval. If a intersects@‘,
then a nests
361
opposite point on this closed curve. One of the pseudocircles separates
the center and its opposite from their adjacent points. The new curve
intersects this pseudocircle in at least four points. Since the pseudocircles of figure 19b also satisfy the 3-intersection property, the above
argument proves that not all arrangements of 3-intersecting curves with
four points have an extension curve.’ We will show how to convert this
to an arrangement of bi-infinite curves in lemma 5.9.
Lemma 8.9 POT every k 2 3, ihere is (LB arrangement of kintersecting curves and k + 1 paints ruch thd cny curve #rough these
points violater the k-intersection ptoperfy.
Prooft
If k > 3 is even, consider arrangements of four curves
constructed after the scheme in figure 20. The figures on the left
show arrangements with the 4 and 6intersection property. Those on
the right indicate how to form arrangements for other even k-curve
segments are drawn to represent the open curves that surround their
pcilmeter.
k-4
k-4i
k-6
k-4i+2
Fig. 20: Arrangements
for even k
We can connect one pair of points by a (curved) segment that
crosses curves 2 timea. Any other segment that connects two points
crosses the curves at least 4 times. To connect all k+l points requires
4k + 2 crozsinge, or an average of k + l/2 crossings per curve. Thus,
any extension curve through the points intersects one of the curves
in more than k points.
Since the extension must cross each curve an even number of timea,
it intersects one of the curves in k+2 points. Thus, the arrangements
of figure 20 also show (k + l)-intersecting curves with no extension
curvts.
For those who are not happy with closed
curves satisfying an odd intersection property,
we can replace each closed curve by three
bi-infinite curves as shown in figure 21. An
extension curve can extend infinitely in only
two of the three, so we can close one without
crossing the extension curve. This reduces the =cIt3
problem to the previous case. .
Fig. 21: Bi-infinite
curves
6
Algorithms
for sweeping
6.1
Implementing
a pseudoline
sweep
When sweeping an arrangement of lines, Edelsbrunner and Guibas can
start with a curve that intersects every lintthey
don’t need to use
takiig or dropping operations. Thus, their problem is to recognize
empty triangles. For thii purpose they keep two data structures that
they call upper and lower horhon trees.
The horison trees could also be called envelope trees because for any
interval [i, i + 11 on the sweep, one tree encodes the lower envelope of
the lines that intersect the sweep before the interval, specifically the
y(i), and the other encodes the upper envelope of the
liies 7(l),...,
lines 7(i + l), . . . , 7(n). (Unfortunately, the upper horiron tree encodes
the lower envelopes.) In thii section, we want to concentrate on the
envelope properties, so we will refer to the trees as lower and upper
envelope trees.
Any empty triangle that occurs in both envelope trees is truly empty.
The lower envelope tree certifies that no lime cuts it from above and
the upper that no line cuts it from below. Since we can pass triangles
in any order, we need only one tree: one can prove that in the upper
envelope tree (lower horiron tree) the uppermost or first triangle cannot
be cut by a line above it. Thus if we always pass the upper triangle in
the upper envelope tree, we can sweep the plane. Overmars and W&l
noticed thii faer ln the dual [29].
For limes, and also for pseudolimes, the envelope treea have linear
sire--once a curve crosses into the envelope, it cannot leave. The initial
trees are easy to construct. Simply add the curves in increasing order
along the sweep to build the lower envelope tree, and in decreasing
order to build the upper envelope tree. The time to update the trees
can be related to the horizon complexity of the limes of the arrangement
(thus the original names) so it amortises to constant time per triangle.
We can now modify the method of Fdelsbrunner and Guibas to use a single envelope
tree to sweep pseudolimes in linear space and
in time proportional to the sire of the arrangea
ment. Initially we need to know the order along
i
the sweep c of the curvts that intersect c. We y
1
also assume that we know the ordering around
Fig. 22: Sweeping
the line at infinity. With this information, we
curves
7(l), . . .,7(i)
can takt rays until we reach a curve that already
intersects the sweep-say it is 7 intersecting the sweep at i. That is,
7 = 7(i).
Wt find the upper envelope tree (lower horison tree) for the curves
The first triangle in this tree is an empty triangle
r’ = {7(l) *. ..,7(i)}.
in tht arrangement r’. Every curve that is visible in the inttrval [oo, i]
of the rweep c must intersect c at or before i to avoid intersecting 7
twice; therefore the first triangle is an empty triangle in l? and c can
pass it. The sweep c can continue to advance until c drops the curve 7.
If the sweep is not yet complete, then c retume to takiig curves.
6.2
Open
problems
for (k > 1)-intersecting
curves
Applying these ideas to sweep pseudocircles seems more difficult. There
are two obvious complications: Since pseudocircles can be closed, we
may have to sweep several connected components of tht graph of their
arrangement. The fact that each curve can intersect the sweep twice
is certain to complicate the description if not the algorithm.
A special case that avoids these two complications is the case in
which the sweep intersects every pseudocircle once. Since passing a
hump and taking a loop change two intersections, lemma 3.2 says that
an arrangement of such curves can be swept by passing triangles. An
algorithm for this case might have application to computing skewed
projections [24, 271.
There are complications even in this case. The envelope trees can
have sise Q(Y?), so we don’t want to store them explicitly. We need
some structure that can store them compactly and allow efficitnt up
dates when two curves change order. We leave this as an open problem.
Another open problem involves sweeping arrangements of kintersecting curves, for k > 2. We can sweep any arrangement by first
applying our local operations until we get stuck, thtn taking curves,
violating the k-intersection property, until other operations apply. In
an extreme case, if the sweep takes all visible edges, then clearly it can
make progress. What intersection property does the sweeping curve
satisfy if we sweep with thii procedure? Bow can such a procedure
curves
If we know the graph that represents the arrangement, then we can
easily implement the local operations defined in section 2. The only
complication could be dealing with separate connected components of
the graph. If we sweep pseudolines or pseudocircles, lemmas 5.1 and 5.2
say that we can apply any operation to make progress-we may even
be able to apply operations in parallel.
Since an arrangement of n curves can have quadratic sise, it is important to ask whether one can perform the sweep when the arrangement
is ‘not known explicitly.
Edelsbrunner and Guibas showed that this
could be done efficiently for line arrangements [9]. Let’s look at their
ideas and try to use them to sweep arrangements of pseudolines and
pseudocircles.
362
[20] B. Griinbaum. The importance of being straight. In Proceedings
of the Tweljih Biennial Seminar of ihe Canadian Mathematical
Congrers on Time Series and Slochaatic Processes; Convezily and
Combino(orics, pages 243-254, 1970.
be implemented if the arrangement iz not known explicitly?
These
questions are important for practical applications to aweeping curves.
References
[21] B. Grtinbaum. Arrangements of hyperplanes. In Proceedings of
the Second Louisiana Conference on Combinalorics, Graph Theory
and Computing, pages 41-106,1971.
[I] P. Agarwal, M. Sharir, and P. Shor. Sharp upper and lower bounds
on the length of Davenport-Schinzel aequencez. Technical Report
332, Department of Computer Science, New York University, 1987.
[22] B. Griinbaum. Arrangementi and Spreads, volume 10 of Regional
Conference Series in MoUemoPer. American Mathematical Society, Providence, RI, 1972.
[2] J. L. Bentley and T. A. Ottman. Algorithms for reporting and
counting intersections.
IEEE l+amaclionz on Computers, C28:643-647, 1979.
[3] S. A. Burr, B. Griinbaum, and N. J. A. Sloane. The orchard
problem. Geometrioz Dedicaliz, 2:397-424, 1974.
[23] S. Hart and M. Sharir. Nonlinearity of Davenport-Schiizel
sequences and of generalized path compression schemes. Combinato&a, 6:151-177, 1986.
[4] B. Chaselle and II. Edelsbrunner. An optimal algorithm for intereecting line aegmcnte in the plane. In Proceedingr of the dgth IEEE
Symposium on Foundations of Computer Science, pages 590-600,
1988.
[24] J. W. Jaromczyk and M. Kowaluh. Skewed projections with an
application to line stabbing in R3. In Proceedings of the &A Ann&l ACM Sytiporium on-C’ompule2ional Geometry, pages 362370, 1988.
[5] B. Chazelle, L. Guibaz, and D. T. Lee. The power of geometric
duality. BIT, 25:76-90, 1985.
[251 F. Levi. Die Teilung der projektiven Ebcne durch Gerade oder
Pscudogerade. Ber. Math. Phys. Kl. Sdchr. Akad. Wiss. Leipzig.,
78:25&267,1926.
[6] D. Dobldn, L. Guibaz, J. Herzhberger, and J. Snoeyink. An cfficient algorithm for finding the CSG reprczentation of a simple
polygon. Compuler Graph& 22(4):31-40, 1988. Proceedings of
SIGGRAPH ‘88.
Algorithms
[‘/‘l H. Edelsbrunner.
Springer Verlag, Berlin, 1987.
in
Combinatorial
P‘4 H.
G. Mairson and J. Stolfi. Reporting line segment intersections. In R. Earnshaw, editor, Theorelical Foundations of Computer Graphic8 and CAD. NATO AS1 Series, F40, Springer Verlag,
1988.
Geomeiry.
[271 M. McKenna and J. O’Rourke. Arrangements of lines in bspace:
A data structure with applications. In Proceedings of the 4th Annual ACM Symposium on Computa#onal Geometry, pages 371380, 1988.
[8] H. Edelsbrunner, L. Guibaz, J. Path, R. Pollack, R. Seidel, and
M. Sharir. Arrangements of curves in the plane-topology,
combinatorics, and algorithms. In Proceedinga of the i5th Znterno~ionol
Colloquium on Automata, Languages and Programming, 1988.
V. J.
1281
Milenkovic. Verifiable Zmpkmenla#onr of Geometric Algorithms Uzing Finite Precision Arithmetic. PhD thesis, CarnegieMellon University, Pittzburg, Penn., 1988. Technical Report
CMU-CS-88-168.
[9] H. Edelsbrunner and L. 3. Guibaa. Topologically sweeping an
arrangement. In Proceedings of the 18th Annual ACM Symposium
on Theory of Computing, pagcz 389-403,1986.
[291 M. H. Overmam and E. Welzl. New methods for computing visibility graphs. In Proceedings of the 4th Annual ACM Symposium
on Computational Geomeity, pages 164-171,1988.
[lo] H. Edelebrunner, J. O’Rourke, and R. Seidel. Constructing arSIAM
rangements of lines and hyperplanez with applications.
Journal on Computing, 15:341-363,1986.
[ll]
[301 D. Peterson. Halfzpace representation of extrusions, solids of revolution, and pyramids. SANDIA Report SAND840572, Sandia
National Laboratories, 1984.
H. Edelzbrunner, J. Path, J. T. Schwartr, and M. Sharir. On
the lower envelope of bivariate functionz and itz applications. In
Proceedings of the 28th IEEE Symposium on Found&one of Computer Science, pages 27-37, 1987.
[12] J. E. Goodman. Proof of a conjecture of.Burr,
Sloane. Dtierete Mathematics, 32:27-35, 1980.
[3ll D. Roltsen. Knots and Linka. Publish or Perish, Berkeley, 1976.
Griinbaum, and
[321 M. I. Shamon and D. Hoey. Geometric intersection problems. In
Proceedingr of the 17th IEEE Symporium on Foundations of Computer Science, pages 208-215, Houston, 1976.
[13] J. E. Goodman and R. Pollack. Proof of Griinbaum’e conjecture of
the stretchability of certain arrangements of pseudoliiee. Joumol
of Combinatorial Xheoty, Setier A, 29:385-390, 1980.
[33] M. Sharir, R. Cole, K. Kedem, D. Leven, R. Pollack, and
S. Slfrony.
Geometric applications of Davenport-Schinzel sequences. In Proceeding8 of the 27th IEEE Symposium on Foundotionu of Computer Science, pages 77-86, 1986.
[14] J. E. Goodman and R. Pollack. Three points do not determine
a (pseudo-) plane. Journal of Combinatorial Theory, Series A,
31:2X&218, 1981.
[34] A. Wiernik and M. Sharir.
Planar realization of non-linear
Davenport-Schinsel sequences by segments. Discrete d Computational Geometry, 3:15-47, 1988.
[15] J. E. Goodman and R. Pollack. A theorem of ordered duality.
Geometr& Dedicdia, 12:63-74, 1982.
[16] J. E. Goodman and R. Pollack. Hclly-type theoremz for pzcudoline
arrangementa in P’. Journal of Combinolorial Theory, Series A,
32:1-19, 1984.
[17] J. E. Goodman and R. Pollack. Semispaces of configurations, cell
complexes of arrangements. Journal of Combinoiorial Theory, Series A, 37, 1984.
[18] D. 1. Greene and F. F. Yao. Finite-resolution computational gtometry. In Proceedings of the .?7th IEEE Symposium on Foundalions of Computer Science, pages 143-152, 1986.
[19] B. Griinbaum.
1967.
Conuez Polytopes. John Wiley k Sons, London,
363