Academia.eduAcademia.edu

Sweeping arrangements of curves

1989, Proceedings of the fifth annual symposium on Computational geometry - SCG '89

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.

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