Circumscribing Polygons and Polygonizations for Disjoint Line Segments

Given a planar straight-line graph $G=(V,E)$ in $\mathbb{R}^2$, a \emph{circumscribing polygon} of $G$ is a simple polygon $P$ whose vertex set is $V$, and every edge in $E$ is either an edge or an internal diagonal of $P$. A circumscribing polygon is a \emph{polygonization} for $G$ if every edge in $E$ is an edge of $P$. We prove that every arrangement of $n$ disjoint line segments in the plane has a subset of size $\Omega(\sqrt{n})$ that admits a circumscribing polygon, which is the first improvement on this bound in 20 years. We explore relations between circumscribing polygons and other problems in combinatorial geometry, and generalizations to $\mathbb{R}^3$. We show that it is NP-complete to decide whether a given graph $G$ admits a circumscribing polygon, even if $G$ is 2-regular. Settling a 30-year old conjecture by Rappaport, we also show that it is NP-complete to determine whether a geometric matching admits a polygonization.


Introduction
Reconstruction of geometric objects from partial information is a classical problem in computational geometry.In this paper we revisit the problem of reconstructing a simple polygon (alternatively, a triangulated simple polygon) P when some of its edges have been lost.Given a set V of n points in the plane, a polygonization of V is a simple polygon P whose vertex set is V .It is easy to see that, unless all points are collinear, V has a simple polygonization.The number of polygonizations is exponential in n, and there has been extensive work on determining the minimum and maximum number of polygonizations for n points in general positon as a function of n (see [7] and [19] for the latest upper and lower bounds, and [11] for a survey on this and related problems).
A natural generalization of this problem is to augment a given planar straight-line graph 1 (PSLG) G = (V, E) into a simple polygon or a Hamiltonian PSLG.In particular, three variants have been considered: A simple polygon P on vertex set V is a polygonization if every edge in E is an edge of P ; a circumscribing polygon if every edge in E is an edge or an internal diagonal in P ; and a compatible Hamiltonian polygon if every edge in E is an edge, an internal diagonal, or an external diagonal in P .
Hoffmann and Tóth [10] proved that every plane straight-line matching admits a compatible Hamiltonian polygon, unless all segments are collinear, in which case no such polygon exists.Grünbaum [9] constructed an arrangement of 6 disjoint segments that does not admit a circumscribing polygon; see Fig. 14 (an earlier construction of size 16 is in [21]).However, a circumscribing polygon is known to exist when (i) each segment has at least one endpoint on the boundary of the convex hull [13], or (ii) no segment intersects the supporting line of any other segment [14].Pach and Rivera-Campo [16] proved in 1998 that every set of n disjoint segments contains a subset of Ω(n 1/3 ) segments that admits a circumscribing polygon; no nontrivial upper bound is known.
Rappaport [17] proved that it is NP-complete to decide whether G can be augmented into a simple polygon.In the reduction, G consists of disjoint paths, and Rappaport conjectured that the problem remains hard even if G is a perfect matching (i.e., disjoint line segments in the plane).In the special case that G is perfect matching and every segment has at least one endpoint on the boundary of the convex hull, then an O(n log n) time algorithm can compute a polygonization (or report that none exists [18]).If S is a set of n ≥ 3 parallel chords of a circle, then neither S nor any subset of 3 or more segments from S admits a polygonization (so the analogue of the problem of Pach and Rivera-Campo [16] has a trivial answer in this case).In a related result, Ishaque et al. [12] proved that n disjoint line segments in general position, where n is even, can be augmented to a 2-regular PSLG (i.e., a union of disjoint simple polygons).

Our Results:
• We prove that every set of n disjoint line segments in general position contains a subset of Ω( √ n) segments that admit a circumscribing polygon (Theorem 1 in Section 2).This is the first improvement over the previous bound of Ω(n 1/3 ) [16] in the last 20 years.
• While we do not have any nontrivial upper bound for circumscribing polygons proper, we relate that problem to the extensibility of disjoint line segments to disjoint rays.For every n ∈ N, we construct a set of n disjoint line segments in the plane such that the size of any subset extensible to disjoint rays is O( √ n) (Section 3).
• We prove that it is NP-complete to determine whether a given set of disjoint cycles in the plane admits a circumscribing polygon (Theorem 13 in Section 4).The reduction is from Hamiltonian paths in 3-connected cubic planar graphs.
• We prove that it is NP-complete to determine whether a given set of disjoint line segments admits a polygonization (Theorem 20 in Section 5).This settles a 30-year old conjecture by Rappaport [17] in the affirmative.
We conclude with a few open problems and three-dimensional generalizations in Section 6.
Further Related Previous Work.Hamiltonicity has fascinated graph theorists and geometers for centuries.Some planar graph results hold for PSLGs as well (i.e., planar graphs with a fixed straight-line embeddings).Hamiltonicity is NP-complete for planar cubic graphs [8], but can be solved in linear time in 4-connected planar graphs [5], and all 4-connected triangulations (i.e., edge-maximal planar graphs) are Hamiltonian [22].In terms of augmentation, a non-Hamiltonian triangulation cannot be augmented to a Hamiltonian planar graph by adding edges or vertices.However, Cardinal et al. [3,Theorem 5] proved that every planar graph on n vertices can be transformed into a Hamiltonian planar graph by subdividing at most (n − 3)/2 edges, with one vertex each, and by adding new edges.See also the surveys [6,15] on Hamiltonicity of planar graphs and their applications.

Large Subsets with Circumscribing Polygons
For every integer n ≥ 2, let f (n) be the maximum integer such that every set of n disjoint segments in the plane in general position contains a subset of f (n) segments that admit a circumscribing polygon.Pach and Rivera-Campo [16] proved that f (n) = Ω(n 1/3 ).By building up on this result, we improve the bound to Ω( √ n).
Theorem 1.Every set of n ≥ 2 disjoint line segments in the plane in general position contains a subset of Ω( √ n) segments that admit a circumscribing polygon.
The remainder of this section is dedicated to proving this statement.We start with a brief overview of our approach for a set S of n line segments.
• In Section 2.1 we show how to select a subset of Ω( √ n) segments to be included in a circumscribing polygon (cf.Fig. 1).The main property of the selected segments is that they are stabbed by few vertical lines and their slopes are monotonically increasing or decreasing when ordered along their intercepts along those lines.Ultimately, our circumscribing polygon will contain at least a quarter of the selected segments.
• Our initial candidate polygon will be the convex hull of the selected segments.In most cases, though, the convex hull is not a circumscribing polygon.Thus, we introduce four elementary operations, called ChopWedges, BuildCap, Dip, and ShearDip.These operations each make local changes to the candidate solution and increase the number of segment endpoints visited by the solution.In Section 2.2, we describe all four operations and describe the invariants of the polygons that we maintain in the course of the algorithm.
• With the invariants in place, we can describe an algorithm.It successively invokes the four elementary operations and returns a circumscribing polygon for a constant fraction of the Ω( √ n) selected segments.The algorithm proceeds in four phases and is described in Section 2.3.

Selecting a Subset of Segments
Let S be a set of n ≥ 2 disjoint line segments in the plane.We may assume without loss of generality that none of the segments is vertical, and all segment endpoints have distinct x-coordinates.For a subset S ⊆ S, a halving line is a vertical line such that the number of segments in S strictly contained in the left and right open halfplanes bounded by differ by at most one.In particular, each halfplane contains at most |S |/2 segments from S .
We partition S recursively as follows.Find a halving line for S, and recurse on the nonempty subsets of segments lying in each open halfplane determined by .Denote by T the recursion tree, which is a binary tree of depth at most log n.We denote by V (T ) the set of nodes of T , and by V i (T ) the set of nodes at level i of T for i = 0, 1, . . ., log n .Associate each node v ∈ V (T ) to a halving line v and to the subset S v ⊆ S of segments that intersect v without intersecting the halving lines associated with any ancestor of v.This defines a partition of S into subsets S v , v ∈ V (T ).
For every v ∈ V (T ), sort the segments in S v by the y-coordinates of their intersections with the line v ; and let Q v ⊆ S v be a maximum subset of segments that have monotonically increasing or decreasing slopes.By the Erdős-Szkeres theorem, we have |Q v | ≥ |S v | for every v ∈ V (T ).For a refined analysis, we consider the union of the sets Q v for v ∈ V i (T ) for i = 0, . . ., log n , and then take one such union of maximal cardinality.
We need some additional notation.For every v ∈ V (T ), let By the Erdős-Szekeres Theorem, we have (1).
Let i * ∈ {0, 1, . . ., log n } be an index where M = µ i * , and put We further partition S 0 into two subsets as follows.Let V < i * (resp., V > i * ) be the set of nodes in V i (T ) such that the slopes in Q v monotonically increase (resp., decrease).Let S 1 be the larger of We may assume, by a reflection in the y-axis if necessary, that S 1 = {Q v : v ∈ V > i * }; see Fig. 1 for an example.

Algorithm Invariants and Elementary Operations
Pach and Rivera-Campo [16] proved that an arrangement of disjoint line segments admits a circumscribing polygon if they are (1) stabbed by a vertical line, and (2) have monotonically increasing or decreasing slopes (in particular, each Q v , v ∈ V (T ), admits a circumscribing polygon).
In contrast, we construct a circumscribing polygon for the union of all Q v , v ∈ V i * (T ), separated by vertical lines.Note that our construction will be a circumscribing polygon for a large subset S 2 ⊆ S 1 (not the whole set S 1 ).
For ease of presentation, we introduce new notation for Overview.We construct a circumscribing polygon for a subset S 2 ⊆ S 1 incrementally, while maintaining a polygon in the segment endpoint visibility graph of S 1 .We use a machinery developed in [10], with several important new elements.Initially, let P be the boundary of conv( S 1 ), where conv denotes the convex hull.Intuitively, think of polygon P as a rubber band, and stretch it successively to visit more segment endpoints from S 1 , maintaining the property that all segments in S 1 remain in the closed polygonal domain of P .A key invariant of P will be that if P visits only one endpoint of some segment in S 1 , then we can stretch it to visit the other endpoint (a strategy previously used in [10,13]).This tool allows us to produce a circumscribing polygon for a subset of S 1 .We ensure that P reaches an endpoint of at least a quarter of the segments in S 1 .To do this, we use the fact that each set Q v , v ∈ V > i * , is sorted along the halving lines in decreasing order by slope, and we ensure that P reaches the left endpoint of at least a quarter of the segments (later, we stretch P to visit the right endpoints).At the end, we define S 2 to be the set of segments in S 1 visited by P (i.e., we discard the remaining segments lying in the interior of P ).
We maintain a polygon with the properties listed in Definition 2 below.There are a few important features to note: P is not necessarily a simple polygon in intermediate steps of the algorithm: it may be a weakly simple polygon that does not have self-crossings; it has clearly defined interior and exterior; and it can have repeated vertices.Specifically, each vertex can repeat at most twice (i.e., multiplicity at most 2), and if its multiplicity is 2, then one occurrence is a reflex vertex and the other is convex.Furthermore, all such reflex vertices can be removed simultaneously by suitable shortcuts (cf.property (F5) below) to obtain a simple polygon.We need to be very careful about reflex vertices in P : for each reflex vertex in P , we ensure either that it will not become a repeated vertex later, or that if it becomes a repeated vertex, its reflex occurrence can be removed by a suitable shortcut.
Invariants.As in [10], we maintain a weakly simple polygon, called a frame (defined below).A weakly simple polygon is a closed polygonal chain P = (v 1 , . . ., v k ) in counterclockwise order such that, for every ε > 0, displacing the vertices by at most ε can produce a simple polygon.Denote by P the union of the interior and the boundary of P .A weakly simple polygon may have repeated vertices.Three consecutive vertices (v i−1 , v i , v i+1 ) define an interior angle ∠(v i−1 , v i , v i+1 ), or ∠v i , which is either convex (less than or equal to 180 • ) or reflex (more than 180 • ).
The following definitions summarizes the properties that we maintain for a polygon P .It is based on a similar concept in [10]: we do not allow segments to be external diagonals (cf.(F2)) and relax the conditions on the possible occurrences of reflex vertices.Reflex vertices play an important role.We distinguish two types of reflex vertices: A reflex vertex v of a frame P is safe if the (unique) line segment in S incident to v subdivides the reflex angle ∠v into two convex angles; otherwise v is unsafe (see Fig. 2 for examples).Definition 2. A weakly simple polygon P = (v 1 , . . ., v k ) is called frame for a set S of disjoint line segments in the plane, if (F1) every vertex of P is an endpoint of some segment in S; (F2) P , the union of the interior and the boundary of P , contains every segment in S; (F3) every vertex of P has multiplicity at most 2; (F4) if a vertex of P has multiplicity 2, say v i = v j , then one of ∠v i or ∠v j is convex (and the other is reflex); (F5) if (v i , . . ., v j ) is a maximal chain of reflex vertices of P that each have multiplicity 2, then ) is a simple polygon that is disjoint from the interior of P (cf.Fig. 2); Elementary Operations.Let S be a set of disjoint line segments in general position, and let P be a frame.For S we define four elementary operations that each transform P into a new frame.The first operation is the "shortcut" that eliminates reflex vertices of multiplicity 2, and increases the area of the interior.The remaining three operations each increase the number of vertices of the frame (possibly creating vertices of multiplicity 2) and decrease the area of its interior.For shortest path and ray shooting computations, we consider the line segments in S and the current frame P to be obstacles.For a polygonal path (a, b, c) that does not cross any segment in S, we define the convex arc carc(a, b, c) to be the shortest polygonal path between a and c that is homotopic to (a, b, c).Operation 1. (ChopWedges(P )) Refer to Fig. 3(c-d).Input: a frame P .Action: While there is a vertex of multiplicity 2, do: let (v i , . . ., v j ) be a maximal chain of reflex vertices of P that each have multiplicity 2, and replace the path (v i−1 , v i , . . .v j , v j+1 ) in P by a single edge v i−1 v j+1 .
Operation 2. (BuildCap(P, , b)) Refer to Fig. 3(a-c) Input: a frame P , an orientation ∈ {−1, +1}, and vertex b is of multiplicity 1 in P such that b the endpoint of ab ∈ S, where a is not a vertex of P .Let c be the neighbor of b in polygon P in orientation (where ccw= 1, cw= −1), and assume ∠abc is convex.Action: Replace the edge bc of P with the polygonal path ba + carc(a, b, c).Input: a frame P , a segment ab ∈ S such that neither a nor b is a vertex of P , and the ray − → ba hits an edge of P that is not a segment in S. Action: Assume that − → ba hits edge uv of P at the point x.Replace the edge uv of P with the polygonal path carc(u, x, a) + carc(a, x, v).Operation 4. (ShearDip(P, a, x)) Refer to Fig. 4(c-d).Input: a frame P , a segment endpoint a in the interior of P , and a point x in the interior of an edge of P that is not a segment in S such that ax does not cross P or any segment in S. Action: Let uv be the edge of P that contains x.Replace the edge uv of P with the polygonal path carc(u, x, a) + carc(a, x, v).
Operations 1 and 2 have been previously used in [10,13]; it was shown that if all reflex vertices in P have been created by BuildCap operations, then (F5) automatically holds [10,Sec. 2].It is also not difficult to see that if all reflex vertices in P have been created by Dip operations, then (F5) holds.However, this property does not extend to a mixed sequence of BuildCap and Dip operations, and certainly not for ShearDip operations.We maintain (F5) by a careful application of these operations, using the fact that each set Q i (i = 1, . . ., r) is stabbed by a vertical line.
Note that Operations 1-4 can only increase the vertex set of the frame (the ChopWedges operation decreases the multiplicity of repeated vertices from 2 to 1, but maintains the same vertex set).Initially, P = ∂conv(S), and so all vertices of conv(S) remain vertices in P in the course of the algorithm.In particular, the leftmost and rightmost segment endpoint in S are always vertices in P (with multiplicity 1 by (F4)).These vertices subdivide P into an upper arc and a lower arc.As a convention, the leftmost (resp., rightmost) vertex is part of the lower arc (upper arc).When our algorithm invokes the BuildCap operation at a vertex v, we use BuildCap(P, (v), v).
We can now justify the distinction between safe and unsafe reflex vertices.
Lemma 3. Let v be a reflex vertex of multiplicity 1 in a frame P such that v is safe.Then after any sequence of the above four operations, v becomes a convex vertex or remains a safe reflex vertex of the frame, in both cases the multiplicity of v remains 1.
Proof.Each operation creates at most one new reflex vertex, which has multiplicity 1; and possibly many convex vertices along the convex arcs, which may have multiplicity 1 or 2. However, each point can be an interior vertex of at most one convex arc.Consequently, the multiplicity of a vertex v can possibly increase from 1 to 2 if it is first a reflex vertex of multiplicity 1, and then visited for a second time (by a convex arc) as a convex vertex; see Fig. 3(c) and Fig. 4(d) for examples.If v is a safe reflex vertex, then it cannot be an interior vertex of a convex arc, and so its multiplicity cannot increase from 1 to 2. Since each operation decreases the interior of the frame, the interior angle of the frame at v can only decrease.Consequently, v either becomes a convex vertex or remains a safe reflex vertex.
Additional Invariants for Vertical Lines.In this section, we assume that our instance S is the set S 1 = r i=1 Q i constructed in Section 2.1.The first two phases of our algorithm will maintain the following additional properties (F6)-(F7) for frames of S 1 .We make this distinction because we use Definition 2 and the elementary operations introduced here for a different class of input in Section 3.
(F6) The vertical line L i , i ∈ {1, . . ., r − 1}, crosses P exactly twice: once in the upper arc and once in the lower arc.
(F7) The line i , i ∈ {1, . . ., r}, crosses the lower arc (resp., upper arc) of P an odd number of times, and the y-coordinates of the intersection points with the lower arc (resp., upper arc) are monotonically decreasing in a counterclockwise traversal of P .

Algorithm Description
With the operations and invariants described above we can proceed to describe our algorithm.Our algorithm has four phases described below.We define a default orientation for every (current and future) vertex v of the frame P : if v is in the lower arc, then (v) = 1, otherwise (v) = −1.(We shall make some exceptions to this default assignment after Phase 1.) Phase 1: Left Endpoints.Initially, the frame P is the boundary of the convex hull conv( S 1 ).
In the first phase of our algorithm, we use operations BuildCap and Dip as follows: 1. Initialize P := ∂conv( S 1 ).
2. While condition (a) or (b) below is applicable, do: (a) If there exists a segment ab ∈ S such that the left endpoint a is a vertex of P , but the right endpoint is not, then set P := BuildCap(P, (a), a).
(b) Else if there exists a segment ab ∈ Q i for some i ∈ {1, . . ., r} such that a is the left endpoint, a lies in the interior of P , and − → ba hits an edge uv where uv ∈ S 1 , and the left endpoint of uv is an endpoint of some segment in Q i , then set P := Dip(P, a, b).

Return P , and terminate Phase 1.
An example is shown in Fig. 5. First we show that Phase 1 returns a frame.Instead of addressing property (F5) directly, we establish the stronger property (R1) defined below.Lemma 4. All operations in Phase 1 maintain (F1)-(F7) and the following property.
) is disjoint from the interior of P .
Proof.Phase 1 applies a sequence of BuildCap and Dip operations.Both operations automatically maintain (F1) and (F2).Both operations create at most one new reflex vertex in P (at vertex a and b, respectively).In both cases, the reflex vertex has not been previously a vertex, so every reflex vertex has multiplicity 1 at the time it is created.A reflex vertex may be visited in a subsequent operation as a convex vertex, but at most once.This establishes (F3) and (F4).
Each operation BuildCap(P, (a), a) maintains (F6): it stretches P from one endpoint to the other endpoint of a segment ab ∈ S 1 ; both endpoints lie between two consecutive lines L i−1 and L i .We show that (F6) is also maintained by each operation Dip(P, a, b).To see this, recall that a is the left endpoint of a segment ab ∈ Q i , and so the point x where ray − → ba hits the frame P is to the left of a.The algorithm applies operation Dip(P, a, b) if x lies on an edge uv of P , and the left endpoint of uv, say u, is an endpoint of some segment in Q i .Therefore, a, b, and x are all between the lines L i−1 and L i .Thus, carc(u, x, a) does not cross these lines.If v is between L i−1 and L i , then so is carc(a, x, v); otherwise carc(a, x, v) crosses the same vertical lines L j , j ≥ i, that edge uv crossed before the operation, each at most once.
Each operation BuildCap(P, (a), a) maintains (F7): Assume the operation introduces a new pair of crossings with the vertical line i at ab ∩ i and carc(a, b, c) ∩ i , where c is the neighbor of a in orientation (a).If a is on the lower arc, then (a) = 1 by convention, and carc(a, b, c) ∩ i is below ab ∩ i .Otherwise a is on the upper arc, then (a) = −1 and carc(a, b, c) ∩ i is above ab ∩ i .In both cases, (F7) is maintained.
We show that (R1) implies (F5).Note that initially, P has no reflex vertices, so all reflex vertices are created by an operation in Phase 1.By Lemma 3, the multiplicity of safe vertices of P remains 1.Let (v i , . . ., v j ) be a maximal chain of reflex vertices that each have multiplicity 2 in P .By (R1), i = j, and the chain consists of a single unsafe reflex vertex v i .(R1) further implies that (v i+1 , v i , v i−1 ) is a simple polygon disjoint from the interior of P .
It remains to show that all operations in Phase 1 maintain (R1).Each operation creates at most one new reflex vertex.First, consider a reflex vertex created by an operation Dip(P, a, b).It creates a reflex vertex at a, which is safe by construction, and it never becomes an unsafe reflex vertex by Lemma 3. It follows that every unsafe reflex vertex of P in the course of Phase 1 has been created by a BuildCap operation.Second, consider a reflex vertex created by an operation BuildCap(P, (a), a).Without loss of generality, assume that a is in the lower arc of P , hence (a) = 1.Refer to Fig. 6.The operation creates an unsafe reflex vertex at b, which is the right endpoint of ab ∈ S 1 .Vertex b is incident to two edges of the frame: ab and bc , where c is first vertex of carc(b, a, c) after b.Vertex a cannot be an unsafe reflex vertex of P by (R1), since it is the left endpoint of segment ab ∈ S 1 .Segment ab remains an edge of the lower arc P in the remainder of Phase 1, since neither operation modifies such edges of P .If c is an interior vertex of carc(b, a, c), then it is a convex vertex of P , and remains convex.Assume that c = c, and note that c cannot be an unsafe reflex vertex or else it would have been created in a previous BuildCap operation, which would imply that bc ∈ S 1 , contradicting ab ∈ S 1 .At the end of operation BuildCap(P, (a), a), the polygon conv(a, b, c ) is empty and lies in the exterior of P , so vertex b satisfies (R1) at that time.
We show that if an unsafe reflex vertex v i of P satisfies (R1) in the course of Phase 1, it continues to satisfy (R1) in the remainder of Phase 1.We may assume that v i = b is the right endpoint of ab ∈ S 1 , v i−1 = a, and v i+1 = c .As noted above, ab remains and edge of P in Phase 1, and neither a nor c can become an unsafe reflex vertex.Since c is on the lower arc of P , we have (c ) = (a), and subsequent BuildCap operations cannot modify bc .However, a subsequent Dip operation may modify bc .Suppose Dip(P, a , b ) is the first such operation, and ray − → b a hits bc at x .This operation replaces bc by carc(b, x , a ) and carc(a , x , c ), where a is a safe reflex vertex, and all interior vertices of carc(b, x , a ) and carc(a , x , c ) are convex.Denote by a the neighbor of b in carc(b, x , a ).We need to show that conv(a, b, a ) lies in the exterior of P after the operation, or equivalently, that a is to the right of the line through ac .
By condition (b) in Phase 1, we have a b ∈ Q i .Therefore, a is on the left side of i .Since the segments in Q i are sorted in decreasing order by slope, both a and x are below the line through ab, consequently carc(b, x , a ) lies in the triange formed by the lines through ab, a b , and ax .The line through a b crosses both bc and ac , hence a is to the right of the ac , as required.This completes the proof that (R1) is maintained.
The next lemma helps identify the segments in Q i , i ∈ {1, . . ., r}, whose left endpoints are not in P .
Lemma 5. Let P be the frame returned by Phase 1.Let i ∈ {1, . . ., r}, and let Q i = {a j b j : j = 1, . . ., |Q i |} be sorted in increasing order by the y-coordinates of a j b j ∩ i .If a j is a vertex in the lower (resp., upper) arc of P , then so is a j for all j < j (resp., j > j).
Proof.Assume that a j is a vertex in the lower arc of P (the argument is analogous when a j is in the upper arc).Suppose, for contradiction, that the lower arc of P does not contain a j for some 1 ≤ j < j.By (F2), a j is in the interior of P , and so − −− → b j a j hits a segment in S 1 or an edge of P .We claim that it hits an edge uv of P such that uv / ∈ S 1 and the left endpoint of uv is an endpoint of some segment in Q i .It follows that the algorithm would have applied Dip(P, a j , b j ) and P would contain a j , contradicting the assumption.
To prove the claim, note that Q i is sorted by slope and so − −− → b j a j does not cross any segment in Q i .Since j < j, point a j is above the line through b j a j .By (F2), the lower arc crosses i at some point p i below i ∩ a j b j .Let γ be the portion of the lower arc of P between a j and p j .By (F7), the ray − −− → b j a j crosses γ.By (F6), γ is in the right halfplane bounded by L i−1 .Since all segments in S 1 between L i−1 and L i are in Q i , the ray − −− → b j a j hits some edge uv of P , where uv / ∈ S 1 .The edge uv can cross neither a j b j nor γ (it may be an edge of γ), therefore the left endpoint of uv is to the left of i , hence it is an endpoint of a segment in Q i .By Lemma 5, the line segments in S 1 whose left endpoints are not in P form a continuous interval.That is, for every i ∈ {1, . . ., r}, there is a set of consecutive indices and only if the left endpoint of a j b j is not in P .Let I = {i ∈ {1, . . ., r} : M i = ∅}, S i = {a j b j : j ∈ M i } for all i ∈ I, and S = i∈I S i .
Phase 2: Middle Segments.In Phase 2, we use the ShearDip and Dip operations to reach the left endpoints of at least quarter of the segments in S , followed by BuildCap operation to reach the right endpoints of those segments if necessary.For all i ∈ I, let a t(i) be the leftmost left endpoint of a segment in the set S i , and denote this segment by a t(i) b t(i) .Refer to Fig. 5.We show (in Lemma 6 below) that a ShearDip(P, a t(i) , x i ) operation can stretch the frame to reach a t(i) from some suitable point x i on an edge of P .We would like to choose all points x i on the same (upper or lower) arc of P .We decide which arc we use by comparing the number of segments in S i above and below a t(i) b t(i) for all i ∈ I.The set of segments above and below are A and B, respectively, defined as follows: If |A| ≥ |B|, then we reach the vertices a t(i) from the upper arc for all i ∈ I; otherwise we reach them from the lower arc.Without loss of generality, assume that |A| ≥ |B|.
The operations ShearDip(P, a t(i) , x i ) may create unsafe reflex vertices at a t(i) , i ∈ I.We need to ensure that a t(i) will not become an interior vertex of any carc created by subsequent BuildCap operations.We can protect a vertex a t(i) , i > 1, from a subsequent carc by ensuring that edges of the lower arc that cross the line L i−1 do not change in phases 2-3 of the algorithm.We can guarantee this property for only some of the edges of the lower arc by setting the orientations (v) for vertices of the frame that are right endpoints of segments in S 1 .Let f 1 , . . ., f h be the edges of the lower arc that cross any of the lines L 1 , . . ., L r−1 , ordered from left to right; note that h ≤ r − 1 as edge may cross several vertical lines.Now let then we apply ShearDip(P, a t(i) , x i ) for all i ∈ J; otherwise for all i ∈ I \ J. Without loss of generality, assume that We now assign orientations to the endpoints of the some edges f j as follows.If v is the right (resp., left) endpoint of an edge f j , where j is odd, then let (v) = −1 (resp., (v) = 1).Recall that the default orientation for all other vertices is (v) = 1 if v is on the lower arc of P , and (v) = −1 otherwise.
Before presenting Phase 2 of the algorithm, we need to specify the points x i for all i ∈ J. Consider the vertical upward ray from a t(i) , and let u i be the first point on the ray that lies in the upper arc of P or on a segment in Q i .If u i is in an edge of the upper arc, but not in a segment in Q i , then let x i := u i .Otherwise, u i lies in some segment ab ∈ Q i , which is either an edge or an internal diagonal of P .Let a 0 a be the edge on the upper arc that precedes a (in clockwise order).The following lemma shows that we can choose a point x i in the interior of a 0 a.Lemma 6.There exists a point x i in the interior of a 0 a such that a t(i) x i does not cross P or any segment in S 1 .
Proof.We first claim that the interior of the triangle ∆(a t(i) u i a) is disjoint from segments in S 1 .Suppose, to the contrary, that segment a b ∈ S 1 , with left endpoint a , intersects the interior of ∆(a t(i) u i a), By construction, a t(i) b t(i) , ab ∈ Q i , then ∆(a t(i) u i a) lies between L i−1 and L i , and a b ∈ Q i .This means that a b crosses i .The triangle ∆(a t(i) u i a) is strictly left of i .Therefore a b must cross the boundary of ∆(a t(i) u i a).However a b can cross neither a t(i) u i (by construction) nor au i (as au i ⊂ ab).Hence a b must cross the edge a t(i) a of ∆(a t(i) u i a), and in particular the left endpoint a is in the interior of ∆(a t(i) u i a).Since a t(i) is the leftmost left endpoint of a segment in Q i that is not a vertex in P , we know that a is a vertex of P .By (R1), a is a convex or safe reflex vertex in P .
Consider a maximal subchain of P that intersects the interior of ∆(a t(i) u i a).As the frame cross neither a t(i) u i nor au i ⊂ ab, both endpoints of such a subchain are on the side a t(i) a of ∆(a t(i) u i a).Consequently, its farthest vertex from a t(i) a is a reflex vertex of P .Without loss of generality, this reflex vertex is a .Since a b crosses the side a t(i) a of ∆(a t(i) u i a), it cannot subdivide the reflex angle of P into two convex angles.Hence, a cannot be a convex or safe reflex vertex of P .This contradiction completes the proof of the claim.
It follows that the edges of P are disjoint from the interior of ∆(a t(i) u i a).In particular, edge a 0 a is disjoint from the interior of ∆(a t(i) u i a).By (R1), a is either a convex vertex or a safe reflex vertex of P .In either case the angular domain ∠a 0 ab is convex, hence it contains a t(i) a.As no three segment endpoints are collinear, there exists a point x i in the interior of a 0 a (in some neighborhood of a) such that a t(i) x crosses neither P nor any segment in S 1 .
Phase 2 proceeds as follows: 1.For all i ∈ J, do: set P := ShearDip(P, a t(i) , x i ).

While condition (a) or (b) below is applicable, do:
(a) If there exists a segment ab ∈ S i such that the left endpoint a is a vertex of P , but the right endpoint is not, then set P := BuildCap(P, (a), a).
(b) Else if there exists a segment ab ∈ Q i for some i ∈ {1, . . ., r} such that ab lies in the interior of P , a is the left endpoint, and − → ba hits an edge uv where uv ∈ S i , and the left endpoint of uv is an endpoint of some segment in Q i , then set P := Dip(P, a, b).
(R2) every vertex a t(i) , i ∈ J, has multiplicity 1 in P ; (R3) if v i is an unsafe reflex vertex of P and v i / ∈ {a t(j) : j ∈ J}, then v i is the right endpoint of a segment in S 1 , vertices v i−1 and v i+1 are convex or have multiplicity 1 and the triangle Proof.The ShearDip operations can be performed independently.They each maintain (F1)-(F4) and (F6)-(F7) of the frame.We show that they also maintain (F5).The ShearDip operations introduce reflex vertices at a t(i) for all i ∈ J. Importantly, these operations do not modify the lower chain of P .By Lemma 4, P has property (R1) at the beginning of Phase 2. Consequently, after performing all ShearDip operations in Phase 2, (R1) holds for all unsafe reflex vertices with the possible exception of a t(i) , i ∈ J, which have multiplicity 1.This implies (R2)-(R3), hence (F5).
The while loop of Phase 2 is similar to Phase 1, but we need to prove that the multiplicity of every vertex a t(i) , i ∈ J, remains 1.Specifically, we show that the changes incurred by BuildCap and Dip operations in the while loop are limited to regions that do not contain the vertices a t(i) .For all i ∈ J, let L − i be a polyline that consists of x i a t(i) and a vertical line from a t(i) to the lower arc of P .Operation ShearDip(P, a t(i) , x i ) creates two convex arcs incident to a t(i) , on opposite sides of L − i : The interior vertices of the carc on the left of L − i are to the left of a t(i) , and by (R1), they cannot be left endpoints of segments in Q i .Therefore this carc is not involved in subsequent BuildCap or Dip operations for any segment in Q i .That is, the impact of these operations is confined to the region to the right of L − i and left of L − j , where j > i is the next index in J (if it exists).This further implies that the multiplicity of a t(i) remains 1 in the remainder of Phase 2, hence (R2) is maintained.
Analogously to the proof of Lemma 4, all BuildCap and Dip operations in the while loop maintain (F1)-(F4) and (F6)-(F7).They also maintain (R1) for unsafe reflex vertices other than a t(i) , i ∈ J, which implies (R2).The combination of (R2) and (R3) yields (F5).Lemma 8.At the end of Phase 2, P visits both endpoints of all segments in i∈J A i .Consequently, P visits both endpoints of at least quarter of the segments in S 1 .
The set S 1 from Fig. 5, and frame P at the end of Phase 2. Vertex v has multiplicity 2.
Proof.The proof of the first claim is analogous to the proof of Lemma 5. To prove the second claim, note that a t(i) is a vertex of the upper arc of P for all i ∈ J. Consequently a j , for all j > t(i), is also part of the upper arc.The BuildCap operations in the while loop of Phase 2 ensure that if a left endpoint of a segment a j b j ∈ Q i is a vertex of P , then so is the right endpoint.
Phase 3: Right Endpoints.At the end of Phase 2, P visits both endpoints of every segment in i∈J A i .However, it may visit only one endpoint of some segments in i∈I\J A i and B \ A. In this phase, we use BuildCap operations to ensure that P visits both endpoints of these segments.Recall that we have already specified the orientation (v) for every vertex v of the frame P , depending on whether v is the left or the right endpoint of a segment in S 1 .Phase 3 proceeds as follows.
1.While condition (a) below is applicable, do (a) If there exists a segment ab ∈ S i such that one endpoint, say b, is a vertex of P , but the other endpoint is not, then set P := BuildCap(P, (b), b).
At the end of Phase 3, we obtain a frame P that contains, for each segment, either both endpoints or neither endpoint; see Fig. 7. Some vertices may have multiplicity 2, but the multiplicity of the special vertices a t(i) , for all i ∈ J, remains 1.
We establish (R2).Similarly to Phase 2, the impact of any BuildCap(P, (b), b) operation, where b is a vertex of the upper arc, is confined to the region to the right of L − i and left of L − j , where j > i is the next index in J (if it exists).We show that the same holds if b is a vertex of the lower arc of P .Note that Phase 2 modifies only the upper arc of P , and so the lower arc at the beginning of Phase 3 is is the same as at the end of Phase 1. Suppose, to the contrary, that Phase 3 modifies an edge that crosses L − i , for some i ∈ J. Let BuildCap(P, (b), b) be the first such operation.Letting c be the neighbor of b in the frame in (b) orientation, BuildCap(P, (b), b) replaces edge bc of P with the polygonal path ba + carc(a, b, c).By the choice of a t(i) , if a segment in S 1 crosses the vertical line through a t(i) , it is in Q i and both of its endpoints are vertices of the frame at the end of Phase 1. Consequently, b cannot be the left endpoint of a segment in Q i , and so bc crosses the vertical line L i−1 .At the beginning of Phase 3, L i−1 crosses only one edge of the lower arc by (F6), say f j , where j is odd by the definition of J.However, the BuildCap operations in Phase 3 do not modify edge f j due to carefully chosen orientation (b).Indeed, if b is to the left of L i−1 , then (b) = −1, otherwise (b) = 1.In either case, both b and c are on the same side of L i−1 , and bc does not cross L i−1 .This completes the proof that Phase 3 maintains (R2).
) of the frame.Assume, without loss of generality, that the reflex vertex v i is created after v i+1 in a BuildCap operation.Before the operation, the triangle (v i+2 , v i+1 , v i−1 ) is disjoint from the interior of P .Then the quadrilateral (v i+2 , v i+1 , v i , v i−1 ) is also disjoint from the interior of P after the operation, hence at the end of Phase 3.This confirms that Phase 3 maintains (F5).
Lemma 10.Let P be the frame at the end of Phase 3. If one endpoint of a segment in S 1 is a vertex in P , then so is the other endpoint.
Proof.The claim trivially holds when the while loop terminates.
Phase 4: Obtaining a Simple Polygon.In the last phase of our algorithm, we set P := ChopWedges(P ).This is a valid operation by (F5).The resulting frame P is a simple polygon whose vertex set is the same as at the end of Phase 3. By Lemma 10, if one endpoint of a segment in S 1 is a vertex in P , then so is the other endpoint.Consequently, P is a circumscribing polygon for a set of segments in S 1 , which we denote by S 2 .By Lemma 8, we have | S 2 | ≥ | S 1 |/4.This completes the proof of Theorem 1.

Disjoint Segments versus Disjoint Rays
In this section, we give two sufficient conditions for an arrangement of disjoint segments to admit a circumscribing polygon.Both conditions involve extending the segments.(C1) A set S of n disjoint line segments is extensible to rays if there exists a set R of n disjoint rays, each of which contains a segment from S; see Fig. 8(left).
(C2) A set S of n disjoint line segments admits escape routes if there exists an ordering and orientation of the segments S = {a i , b i : i = 1, . . .n} such that if we shoot a ray from b i in direction − − → a i b i for i = 1, . . ., n, then each ray either goes to infinity or intersects a previous ray (without crossing any segment in S); see Fig. 8(right).Clearly, (C1) implies (C2), but the converse is false in general.We can test (C1) in O(n log n) time.Indeed, there are two possible extensions for a segment, which can be encoded by a Boolean variable, and pairwise disjointness can be expressed by a 2SAT formula.However, we do not know whether condition (C2) can be tested efficiently.Here we show that (C1) and (C2) each imply the existence of a circumscribing polygon.
Theorem 11.If S is a set of disjoint line segments satisfying (C2), then there is a circumscribing polygon for S.
Proof.By (C2), we may assume that S = {a i b i : i = 1, . . .n} such that if we shoot a ray from b i in direction − − → a i b i for i = 1, . . ., n, then each ray either goes to infinity or intersects a previous ray.We call the part of the ray − − → a i b i from b i to the first point where it intersects a previous ray or ∂conv(S) the extension of segment a i b i .
Given the ordering and orientation of the segments in S, we construct a circumscribing polygon using the following algorithm, using the operations BuildCap and Dip introduced in Section 2; see Fig. 9 for an example.

For i = 1 to n:
If b i is not a vertex of P , then set P := Dip(P, b i , a i ).

For i = 1 to n:
If a i is not a vertex of P , then set P := BuildCap(P, 1, b i ).

Return P .
We show that polygon P maintains (F1)-(F5) from Definition 2 (note that (F6)-(F7) are no longer applicable); and it also maintains the following invariant: (F8) After operation Dip(P, b i , a i ) (for i = 1, . . ., n), the extension of segment a i b i lies in the exterior of P .
Indeed, operations BuildCap and Dip always maintain (F1)-(F4).For i = 1, . . ., n, (F8) follows from (C2) and the definition of the Dip operation; and it guarantees the correctness of subsequent Dip operations.For (F5), note that each Dip(P, b i , a i ) operation creates a unique reflex vertex at b i , and it is safe.At the end of the for loop of Dip operations, the vertices of P are either convex vertices or safe reflex vertices.It remains to consider the for loop of BuildCap operations.
Each BuildCap(P, 1, b i ) operation creates a unique reflex vertex at a i , which is unsafe and incident to both a i b i and some edge a i c i .Since a i b i ∈ S, subsequent operations BuildCap(P, 1, b j ), i < j, modify neither a i b i nor a i c i .Consequently, b i and c i are each convex or safe reflex vertices of P before operation BuildCap(P, 1, b i ).As the operation can only decrease the interior angles at existing vertices, b i and c i remain convex or safe reflex vertices in the remainder of the algorithm.This means that the maximum chain of unsafe reflex vertices of P that that contain a i consists of a single vertex a i .As the triangle conv(a i , b i , c i ) is in the exterior of P after the operation BuildCap(P, 1, b i ), (F5) is maintained, as required.By (F5), the final ChopWedges operation is correct, and the algorithm returns a circumscribing polygon for S.
The above results link the circumscribing polygon problem to the problem of extending line segments to rays.We now give an upper bound for the latter problem that seems to imply that the lower bound of the former problem (Theorem 1) is tight.
Lemma 12.For every n ∈ N, there is a set S of n disjoint line segments in the plane such that the cardinality of every subset S ⊆ S that admits an escape route is Proof.First, assume that n = k 2 for some k ∈ N (we will consider the other case later).Consider the circle C of unit radius centered at the origin, and place k points a 1 , . . ., a k in clockwise order along the arc of C lying in the first quadrant (refer to Fig. 10).For every i ∈ {1, . . ., k}, create a line segment a i b i of length 4 tangent to C such that a i is its left endpoint; let S 0 = {a i b i : i = 1, . . .k}.
Finally, for every i ∈ {1, . . ., k}, let C i be a circle of unit radius passing through b i and tangent to a i b i .We create k − 1 additional segments that are almost parallel to a i b i .That is, the difference in slopes between any two of them is at most ε (for some ε small enough so that none of the segments cross).We make these segments all of equal length (4 units) and all tangent to C i .Let S i represent the k segments tangent to C i (i ∈ {1, . . ., k}).This completes the construction for a set of segments S = k i=1 S i .Notice that if we pick a sufficiently small ε > 0 no two segments will cross.Let Q ⊂ S be a subset of segments that admit escape routes.We claim that |Q| < 2k.Indeed, let i 1 < . . .< i k be the indices such that Q ∩ S i j = ∅ (for all j ≤ k).
First note that Q ∩ S i j can contain only one segment for all j < k: the left extension of each segment in Q ∩ S i j must hit any segment in Q ∩ S i j+1 , thus all segments in Q ∩ S i j must be directed to the right.However, if |Q ∩ S i j | ≥ 2, then the right extensions of one of these segments hits another segment in the same set.Therefore |Q ∩ S i j | = 1 (for all j ≤ k).
Overall, we have k different groups S i , each with k segments.Any subset that admits an escape route contains at most one segment from all but one group and can potentially contain all segments of the last one.Since there are k groups, the result follows.
To complete the proof it remains to consider the case in which n is not a perfect square.The key trick is that our construction is hereditary (that is, even if we remove a few segments from our construction, the same upper bound holds).Thus, given n ∈ Z, apply the construction described above for k = √ n .This construction will have √ n 2 ≥ n segments.Remove segments arbitrarily until only n remain, and apply the same argument to any subset that admits an escape route.This will give an upper bound of 2k − 1 = 2 √ n − 1 as claimed.

Hardness for Circumscribing Polygons
In this section we prove that it is NP-hard to decide whether a given set of disjoint line segments admits a circumscribing polygon.We start by proving NP-hardness for circumscribing a set of disjoint straight-line cycles (Section 4.1), and then modify this reduction so that it works for disjoint line segment, as well (Section 4.2).

Hardness for Disjoint Straight-Line Cycles
Garey et al. [8, p. 713] proved that Hamiltonian Path in 3-Connected Cubic Planar Graphs (HP3CPG) is NP-complete.They reduce from 3SAT, and their reduction produces 3-connected planar graphs in which any Hamiltonian path connects two possible vertex pairs.This implies that the problem remains NP-complete if one endpoint of a Hamiltonian path is given.Since the graph is 3-regular, the problem remains NP-complete if the first (or last) edge of a Hamiltonian path is given.We call this problem Hamiltonian Path in 3-Connected Planar Cubic Graphs with Start Edge (HP3CPG-SE): Given a 3-connected cubic planar graph G = (V, E) and an edge uv ∈ E, decide whether G has Hamiltonian path whose first edge is uv.We reduce HP3CPG-SE to deciding whether a given PSLG admits a circumscribing polygon.
Theorem 13.It is NP-complete to decide whether a given PSLG admits a circumscribing polygon, even if the PSLG is regular-degree-2.
Proof.Let G = (V, E) and uv ∈ E be an instance of HP3CPG-SE.We construct a PSLG G = ( V , E) in four steps below, and then show that G has a Hamiltonian circuit containing uv if and only if G admits a circumscribing polygon.
Construction of a PSLG G = ( V , E).Let G = (V, E) be a 3-connected cubic planar graph, uv ∈ E, and let n = |V |.We construct a PSLG G = ( V , E) as follows.
Step 1.We first modify G in the neighborhood of vertex u, and then specify a straight line embedding as follows.Refer to Fig. 11.Subdivide each of the three edges incident to u into a path of length 2, where uv is subdivided into (u, u , v).Apply a Y ∆-transform at u, which creates a triangular face incident to u , denoted ∆ u = ∆(abu ).Let G 1 be the resulting graph.Note that G 1 is a 3-connected cubic planar graph, and G contains a Hamiltonian path starting with uv if and only if G 1 contains a Hamiltonian path starting with (a, b, u , v).
We construct an embedding of G 1 in which the outer face is ∆ u .Using a result by Chambers et al. [4], G 1 admits a straight-line embedding in R 2 such that (1) ∆ u is the outer face, (2) every interior face is strictly convex, (3) every vertex has integer coordinates, and (4) the coordinates of the vertices are bounded by a polynomial in n, which does not depend on G 1 .Such embedding can be computed in polynomial time.(The method in [4] improves Tutte's spring embedding [20], which may require coordinates exponential in n.) Step 2. We call an edge of G 1 external if it bounds the outer face, and internal otherwise.Let δ be the feature ratio of G 1 , i.e., the minimum distance between a vertex and a nonincident edge.Delete the internal edges adjacent to a and b; and denote by G 2 the resulting PSLG.
Step 3. In this step, we split each internal vertex of degree-3 in G 2 into three vertices via a Y ∆transform, creating a new triangular face ∆(w 1 w 2 w 3 ).Refer to Fig. 12.To do so, simultaneously rotate the supporting line of every internal edge about the midpoint of the edge in general, and about the endpoint u in case of edge u v, by the same angle θ.Since w has degree 3, the supporting lines of edges incident to w will intersect at three different points: w 1 , w 2 , and w 3 .We choose the angle θ to be the maximum rotation so that w 1 , w 2 , and w 3 are still within δ 2 distance from the original location of w for all internal vertices w in G .Let C w be the circle obtained by dilating the inscribed circle of ∆(w 1 w 2 w 3 ) by 1  2 from its center.Place a new edge w 4 w 5 on the horizontal diameter of C w .Denote by G 3 the resulting PSLG.
Step 4. We define visibility for a PSLG as follows: Two points in the plane are visible if the line segment between them is disjoint from the interior of opaque faces, where we consider the triangles obtained by Y ∆-transforms to be transparent, and all other faces opaque.Opaque faces are shown gray in Figs.11(d) and 12(b).
Simultaneously shrink the opaque faces of G 3 using their straight skeleton by half of the minimum amount that would create a new visibility relation between a pair of vertices.We assume that vertices w 1 , w 2 , and w 3 remain incident to the opaque faces in which they are strictly convex corners: in particular, each vertex belongs to a unique opaque face.Note that w 4 and w 5 are only visible from w 1 , w 2 , and w 3 .We call the pair of parallel edges that used to be collinear a corridor, and the triangle ∆(w 1 w 2 w 3 ) a chamber (which is no longer a face).Denote by G = ( V , E), the resulting PSLG.This concludes the construction of G. Equivalence.We claim that an HP3CPG-SE instance G with edge uv is positive if and only if G admits a circumscribing polygon.Assume G admits a Hamiltonian path starting with edge uv.Then G 1 contains a Hamiltonian path P 1 that starts with (a, b, u , v).We obtain a circumscribing polygon P of G incrementally as follows.Initialize P to be the convex hull of G. Refer to Fig. 13(a).For each degree-2 vertex w in P 1 , add to P both edges of each of the two corridors corresponding to the edges in P 1 incident to w.Without loss of generality, assume that one edge from each of the two corridors is incident to vertex w 3 .If w corresponds to a chamber, add the path (w 1 , w 5 , w 4 , w 2 ) to P (which connect the other two edges of the corridors).Refer to Figs. 13(b-c).For the last vertex w in P 1 , if w corresponds to a chamber, w.l.o.g., let w 2 and w 3 be the endpoints of the corridor that corresponds to the edge in P adjacent to w. Add to P the path (w 3 , w 4 , w 5 , w 2 , w 1 ).Else, add the edge connecting the endpoints of such corridor.By construction, every opaque face is in the interior of P .Every edge of G is either an edge of P 1 or a corridor in the interior of P .Hence, P is a circumscribing polygon.
Figure 13: A circumscribing polygon P at endpoints of corridors and a solution to the reduction in Fig. 11.The shaded area is in the interior of P .Now assume that G admits a circumscribing polygon P .Note that the interior of an opaque face must be in the interior of P , or else some edge bounding the opaque face would be an external diagonal.Let I be the (closed) convex hull of a corridor (recall that a corridor consists of two parallel edges of P ).The corridors are constructed so that all visibility edges that intersect I are induced by the four vertices of I. Furthermore, the number of edges of P in I is exactly 0 or 2, or else one of the adjacent opaque faces would be in the exterior of P (in case P has 3 edges in I) or such edges would induce a cycle (in case P has 4 edges in I).If I contains two edges of P , then either these are the edges of the corridor, or they are adjacent.If they are adjacent, one of them is a diagonal of I and the other is an edge of the corridor; we call such an adjacent pair of edges a spike.
We define the degree of a chamber as the number of incident corridors in which both edges are edges of P .We claim that the degree of every chamber is 1 or 2. To prove the claim, consider a chamber in which the vertices are labelled w 1 , . . ., w 5 as in Fig. 12(c).Notice that w 4 and w 5 are visible from only three other vertices, and so P must contain a path connecting two of the three vertices through the interior of the chamber.Assume, without loss of generality, that such a path is (w 2 , w 4 , w 5 , w 1 ) as in Fig. 13 (a).It follows that the degree of a chamber cannot be three, or else w 1 and w 2 would have degree 3 in P .Since the path (w 2 , w 4 , w 5 , w 1 ) is adjacent to the rest of the circuit P , it must have edges intersecting the convex hull I of some corridor incident to the chamber.If the degree of a chamber is zero, it can only be adjacent to spikes.Then (w 2 , w 4 , w 5 , w 1 ) and the adjacent spikes form a cycle that does not span all vertices of G, which is a contradiction.This completes the proof of the claim.
Consider a chamber of degree two, with vertices labeled as in Fig. 12(c).Without loss of generality, P contains the corridors incident to w 1 and w 3 , and w 2 and w 3 as in Fig. 13 (a).Neither of the edges in the corridor incident to w 2 and w 3 can be in P or else either w 1 or w 2 would have degree 3 in P .Consequently, P intersects each chamber of degree 2 exactly twice: once by the single-vertex path (w 3 ) and once by (w 2 , w 4 , w 5 , w 1 ).Then, such chamber cannot be adjacent to any spikes.Now consider a chamber of degree one such that P contains the corridor incident to w 1 and w 3 as in Fig. 13 (b).Then, P contains a path from w 2 to w 3 containing the edge w 4 w 5 (as in Fig. 13 (b)), or a path from w 1 to w 3 containing the edge w 4 w 5 .In the first case, it is possible that the chamber is incident to a spike (w 1 , v, w 2 ) where v is not a vertex in the chamber.In the latter, w 2 is not visited locally by the subset of P intersecting the chamber and, therefore, must be visited by a spike adjacent to an adjacent chamber.Since these are the only possible occurrences of spikes, we can modify any solution by shortcutting spikes of the form (w 1 , v, w 2 ) to edges w 1 w 2 in the first case, and, in the latter case, modifying P to traverse the chamber as in Fig. 13 (b).Hence, from now on we may assume that P does not contain any spikes.
For a circumscribing polygon P of G, we define a subgraph P 1 of G 1 as follows: If both edges of a corridor belong to P , then let the edge corresponding to the corridor be in P 1 .Since the degree of each chamber in G is 1 or 2, every interior vertex of G 1 has degree 1 or 2 in P 1 , hence P 1 is a union of paths.A path that is not adjacent to the corridor incident to u will induce a cycle.Hence, there can be at most one path.Since every chamber must be visited by P , this path visits every vertex except for a and b.Then, we can easily obtain a Hamiltonian path of G 1 starting with (a, b, u , v); and a Hamiltonian path starting with edge uv in the original graph G.

Hardness for Disjoint Line Segments
In this section, we modify the constructions from Section 4.1 and extend our hardness result to the case of disjoint line segments.In the previous reduction, disjoint cycles are used to trace out the convex faces of an embedding of a graph G.To simulate a convex cycle with a geometric matching, we create turn gadgets that simulate the corners of a convex polygon.
Fig. 14 depicts an arrangement of 6 disjoint line segments, which we call a diode, that, by itself, does not admit a circumscribing polygon [9].The visibility relationships within a doide that guarantee this property are the following.Since polygonizations are affine invariants, a nondegenerate affine image of a diode does not admit a polygonization, either.
Using two affine copies of the diode as subconfigurations we can now construct a turn gadget.Fig. 15 shows this construction, but, for clarity, the positions of the points are not accurate.We first describe the important visibility properties in the gadget, and then show how to obtain coordinates for the points in order to achieve them.We refer to the points in the left diode as d 1 , . . ., d 12 as in Fig. 14, and to the points in the right diode as d 1 , . . ., d 12 .We refer to points in {p 1 , q 1 , a, b} as access points, and to points in the two diodes, c 1 , c 2 , c 3 , or c 4 as interior points.We construct the gadget so that (V3) interior points can only see other interior points and access points; (V4) d 2 (d 2 ) sees p 1 (q 1 ), but not q 1 (p 1 ); Construction of the Turn Gadget.Each turn gadget is constructed by replacing a vertex w i of a chamber ∆(w 1 w 2 w 3 ) as shown in Fig. 16.We simultaneously perform the steps below for every chamber vertex w i .We describe the construction for w 1 ; refer to Fig. 16(a).Let ε be one tenth of the feature ratio of the graph G. Let a and b be points on the edges incident to w 1 at distance ε from w 1 .If we consider w 1 transparent, by construction, the only vertex that can (partially) see the left side of segment a b is w 2 .Let e be the intersection of the supporting line of w 1 w 2 and a b .By Figure 15: Turn gadget construction, e must lie in the interior of the segment from the midpoint of a b to b .We shrink the two edges incident to w 1 creating new endpoints p 1 and q 1 at distance δ > 0 from w 1 .We choose δ > 0 to be the maximum value so that, for every turn gadget, if any new endpoint (at distance δ from some vertex in V ) outside of a turn gadget sees a point c ∈ ab, then |ce| ≤ 1 3 min{|ea |, |eb |} (in Fig. 16(b), δ is the radius of the dotted circles).At each turn gadget, the upper bound for δ can be expressed as a bounded-degree rational function of the coordinates of the gadget, therefore the minimum over all turn gadgets is also bounded-degree rational function over the coordinates of the vertices in V .Assume, without loss of generality, that a b is horizontal and w 1 lies above its supporting line.Add a segment ab ⊂ a b by shrinking a b so that a (b) is at distance at most 1  3 min{|ea |, |eb |} from a (b ).By construction, there is a triangle T 1 (T 2 ) on top of ab whose interior can only be seen by p 1 , q 1 , a, and b.Let T 1 be the maximum triangle in T 1 so that it has a vertical side, i.e., whose supporting line is perpendicular to ab, so that p 1 is on or to the right of such supporting line; and define T 2 analogously.As long as we construct the diodes in the interior of T 1 and T 2 , (V3) is satisfied and all remaining necessary visibility constraints (constraints (V1)-(V2) and (V4)-(V7) become local, i.e., the positions of the points depend only on other points of the gadget).Since the constraints translate to linear inequalities, where each line is spanned by two vertices, we can compute the coordinates of all the interior points of the turn gadget in polynomial time.Fig. 16(c) illustrates linear constraints by gray lines.
Properties of the Turn Gadget.The following four lemmas establish the key properties of a turn gadget.We show that if a set of disjoint line segments S contains a turn gadget, then in every circumscribing polygon for S, there is a polygonal chain between p 1 and q 1 that visits all vertices of the gadget, and no other vertices (Lemma 17).We begin with a lemma that handles only one diode in the turn gadget.Lemma 14.Let S be a set of disjoint line segments that contains a turn gadget with properties (V1)-(V7).Every circumscribing polygon P for S contains a path P on its boundary with one endpoint at a and the other at d 1 or d 2 and whose interior vertices are exactly {d 3 , . . ., d 12 }.
Proof.Refer to Fig. 17 for examples of P. Let B be a the minimal path on the boundary of P containing {d 3 , . . ., d 12 } such that its endpoints are in {d 1 , d 2 , a}.By (V6), B exists and must contain only points in the left diode and a. Further, the two endpoints of B cannot be d 1 and d 2 or else one could obtain a circumscribing polygon of a diode by removing a (if present) from B, since the triangle ∆(ad i d j ) formed by a and any pair of vertices in the diode visible from a is empty.However, as noted above, a diode does not admit a circumscribing polygon [9].It follows that one endpoint of B is a.Let v be the vertex in B adjacent to a.Note that v / ∈ {d 1 , d 2 }, else we could omit a from B, contradicting the minimality of B. Then B = P as required.Recall that every segment in S is either an edge or an internal diagonal of a circumscribing polygon P .The union of P and S forms a plane graph that subdivide the plane into faces.Clearly, each face is either in the interior or the exterior of P .We define the left side (resp., right side) of a directed segment ab ∈ S as the face of this graph on the left (resp., right) of ab., the left side of d 5 d 6 is in the interior of P .This implies that the f is in the exterior of P .Now d 3 d 4 must be an edge of P , or it would be an external diagonal, and so P contains all edges of the face f , which is a contradiction.When both edges incident to d 7 are in the closed halfplnae on the left of d 7 d 8 , the argument is analogous by the symmetry of the diode.
Lemma 16.Let S be a set of disjoint line segments that contains a turn gadget satisfying (V1)-(V7).In every circumscribing polygon P for S, the left side of ab is in the exterior of P , hence ab is an edge of P .
Proof.Suppose, for contradiction, that the left side of ab is in the interior of P .Let P be the path described in Lemma 14 from a to d 1 or d 2 .Note that both d 1 d 2 and d 1 d 2 are edges of P by Lemma 15.
Let v and v be the two neighbors of a in P that are in P and not in P, respectively.Then v = d 2 , otherwise P ∪ (v, d 2 , d 1 ) would be a closed polygon in P ; and v = d 2 otherwise the path (v, d 2 , d 1 ) is part of P and the left side of ab is the same as the right side of d 2 d 1 , contradicting Lemma 15.It follows that the left side if ab and the right side of av are the same face of P ∪ S, and so by assumption the right side of av is in the interior of P (cf.Fig. 17 middle, where v = d 8 ).
We claim that the other endpoint of P is d 1 (and not d 2 ).Suppose, to the contrary, that P is a path from a to d 2 .The last edge of P is d 1 d 2 by Lemma 15.As P traverses both av and d 1 d 2 in the same direction, the interior of P is on the right side of both.This means that the left side of d 2 d 1 is in the interior of P , which contradicts Lemma 15.
By a symmetric argument for the right diode, we conclude that there must be a subpath P on the boundary of P from b to d 1 going only through vertices of the right diode.By (V5), c 3 and c 4 can only be adjacent to c 1 and c 2 .If the left side of ab is in the interior of P , then c 1 c 2 is an external diagonal.This contradicts our initial assumption, and concludes the proof.
Lemma 17.Let S be a set of disjoint line segments that contains a turn gadget satisfying (V1)-(V7).Every circumscribing polygon P for S must contain a chain between p 1 and q 1 whose interior vertices are exactly the vertices in the interior of the gadget and the edge ab; furthermore, the right side of p 2 p 1 and q 1 q 2 are in the interior of P .
Proof.By (V3), the interior points of a turn gadget can see only access points, i.e., {p 1 , q 1 , a, b}.By Lemma 14, a and b are each adjacent to some interior point and, by Lemma 16, ab is an edge of P .It follows that P contains the required chain.See Fig. 17 (right) for an example.Also by Lemma 16, the right side of every edge in the directed path from p 1 to q 1 is in the interior of P .If the right side of p 2 p 1 (q 1 q 2 ) is in the exterior of P , then p 2 p 1 (q 1 q 2 ) is an external diagonal, a contradiction.
Construction of the Reduction.Let G be a PSLG constructed in the proof of Theorem 13 (Section 4.1).Recall that G consists of line segments and opaque faces which are the interior of circuits.There are exactly two reflex vertices in the outer opaque face (the one that intersects the boundary of the convex hull of G), and all other opaque faces are convex.We will replace the convex angles of all opaque faces as described in the construction of the turn gadget with two differences at a few special vertices, that we describe next.chambers are unchanged from the instance described in Section 4.1, and due to Lemma 17, in any circumscribing polygon of S the turn gadgets must behave just as the corners of polygons in the reduction used to prove Theorem 13, i.e., we can consider the points in the gadget as a single point.Thus, it remains only to show that the two reflex angle gadgets also behave as the corners of a polygon in circumscribing polygon of S.
We first claim that if r 1 r 2 / ∈ S, then r 1 r 2 / ∈ E(P ).Refer to Fig. 18.Suppose, for contradiction, that r 1 r 2 / ∈ S and r 1 r 2 ∈ E(P ).Note that r 1 and r 2 are the only reflex vertices of an opaque polygon in the graph G. Since r 1 r 2 / ∈ S, the edge r 1 r 2 partitions this opaque face into two faces, each of which has at least one additional (convex) vertex.The convex vertices of G have been replaced by turn gadgets in the instance S. By Lemma 17, all vertices in turn gadgets are in subpaths of P whose endpoints are visible to neither r 1 nor r 2 .By Lemma 16, both sides of r 1 r 2 are in the interior of P , which is a contradiction.This proves the claim.
By construction, r 1 and r 2 see each other, but r 1 and r 2 do not.Further, by Lemma 17, points r 1 , r 1 , r 2 , and r 2 cannot be adjacent to points of a turn gadget other than those labeled p 1 and q 1 .We now show that if S admits a circumscribing polygon, then we may assume that it contains the edges r 1 r 1 and r 2 r 2 .Suppose, for contradiction, that there is a circumscribing polygon P , but r 1 r 1 / ∈ E(P ).Let s 1 and s 1 , respectively, be the neighbors of r 1 and r 1 in S and consider the adjacent turn gadget as shown in Fig. 18(a).Since r 1 r 1 / ∈ E(P ), vertex r 1 (r 1 ) must be adjacent to at least one vertex in {p 1 , p 2 , q 1 , q 2 , s 1 } ({p 1 , p 2 , q 1 , q 2 , s 1 }).We distinguish cases: • If r 1 q 2 ∈ E(P ) or r 1 s 1 ∈ E(P ), then this edge blocks visibility for r 1 to all possible neighbors (other than s 1 ), and r 1 cannot have two neighbors in P .
• If r 1 q 1 ∈ E(P ), then this edge would block all but one visibility edge for r 1 , and would imply r 1 q 2 ∈ E(P ).Then the only possible second neighbor of r 1 in P is s 1 .In this case, we can modify P by expanding r 1 q 1 to the path (r 1 , r 1 , q 1 ) and shortcutting the path (s 1 , r 1 , q 2 ) to s 1 q 2 .
• If r 1 p 1 ∈ E(P ), then the right side of p 1 r 1 is in the interior (exterior) of P because of Lemma 17 applied for the turn gadget between at p 1 (s 1 ), which is a contradiction.
The symmetric claims also hold for neighbors of r 1 .By exclusion, the only remaining possibility is that P contains the paths (s 1 , r 1 , p 2 ) and (s 1 , r 1 , q 2 ).However, since P must visit p 1 , this implies p 2 p 1 ∈ E(P ).Then the path (s 1 , r 1 p 2 , p 1 ) in P contradicts Lemma 17 for vertices s 1 and p 1 , as the interior of P should be on the same side of every edge of P .We have shown that if P is a circumscribing polygon for S, then r 1 r 1 ∈ E(P ).By symmetry the same holds for r 2 and r 2 , completing the proof that the reflex angle gadgets behave as the corners of a polygon in any circumscribing polygon.
As already discussed in the descriptions of the gadgets, the reduction can be computed in polynomial time and by Lemma 18 we have the following result.
Theorem 19.It is NP-complete to decide whether a set of disjoint line segments admits a circumscribing polygon.

Simple Polygonizations of Disjoint Segments
Rappaport [17] proved that it is NP-hard to decide whether a given PSLG G = (V, E) admits a polygonization: The reduction from Hamiltonian Path in Planar Cubic Graphs (HPPCG) produces an instance in which G is a union of disjoint paths, each edge in E is horizontal or vertical, and the vertices in V have integer coordinates, bounded by a polynomial in n = |V |.Rappaport [17] raised the question whether the problem remains NP-hard when G is a perfect matching (i.e., a set of disjoint line segments in the plane).In this section, we settle this problem (Theorem 20).Specifically, we modify Rappaport's reduction, and describe the connection gadget made of disjoint line segments that simulates a pair of adjacent line segments.
Description of the Connection Gadget.We later provide the details on how to construct the gadget.Refer to Fig. 19.Given a PSLG G = (V, E), with a vertex p 2 ∈ V of degree  Construction of the Connection Gadget.We now describe the placement of the points of the connection gadget that ensures (i)-(ii).Let δ be the feature ratio of G, defined as the minimum distance between a vertex and a nonincident edge of G. Let α be the smallest angle between two adjacent edges in G, and set ε = δ sin −1 ( α 4n ), where n is the number of vertices in G.We describe now the position of auxiliary lines.Refer to Fig. 20.The dashed line 1 connects the pair of points in p 1 p 2 p 3 that are ε apart from p 2 .This line will contain vertices p 9 and p 8 .Let W be the cone of angle α from p 2 placed so that its bisector coincides with the bisector of ∠p 1 p 2 p 3 .Divide W into 2n cones with equal angle.By definition of ε, if we place a disk of radius ε at each vertex of G, each disk can intersect only two α 2n cones.By the pigeonhole principle, one of these cones w will contain no such disks.The visibility of p 2 inside w is either empty or the interior of an edge containing points that are more than ε apart from the endpoints.Let 2 and 3 be the supporting lines of the rays defining w, and let 4 be the bisector of w.Let a (resp.b) be the intersection point between 1 and 4 (resp., 2 ), and c be the intersection point of the circle of radius δ centered at p 2 and 3 that is in the boundary of w.We place vertex p 2 at the intersection of ac and p 1 p 2 .Let t be the intersection point of 2 and ac, and let d (resp., e) be the point in p 1 p 2 (resp., p 2 p 3 ) that is 2ε away from p 2 .Place p 8 (resp., p 9 ) at the intersection between 1 and dt (resp., ed 2 ).We will place points p 4 , . . ., p 7 and p 10 , . . ., p 13 in the triangle ∆(abt).This guarantees that (ii) is satisfied.Let f be the midpoint of ab, and p 4 p 5 (resp., p 12 p 13 ) be the segment defined by the intersection between ∆(abt) and the line through f parallel to p 2 p 3 (resp., p 1 p 2 ).Define the segment p 4 p 5 (resp., p 12 p 13 ) by scaling p 4 p 5 (resp., p 12 p 13 ) by 1  2 anchored at its midpoint.Let p 6 p 7 (resp., p 10 p 11 ) be the segment contained in the perpendicular bisector of p 4 p 5 (resp., p 12 p 13 ) that is only visible to p 4 , p 5 , and p 8 (resp., p 9 , p 12 , and p 13 ).Define the segment p 6 p 7 (resp., p 10 p 11 ) by scaling p 6 p 7 (resp., p 10 p 11 ) by 1  2 anchored at its midpoint.The construction guarantees that (i) is satisfied.This concludes the construction of the connection gadget.
Theorem 20.It is NP-complete to decide whether a set S of disjoint line segments admits a simple polygonization, even if S contains only segments with 4 distinct slopes.
Proof.Membership in NP is proven in [17].We reduce NP-hardness from finding polygonizations for a disjoint union of paths.Let G = (V, E) be a PSLG produced by the reduction in [17].Let n = |V |.We modify G by simultaneously replacing every vertex of degree 2 by a connection gadget (described above), and show that the resulting plane straight-line matching M admits a polygonization if and only if G does.Since each gadget is constructed independently, all coordinates can be described by bounded-degree rational functions as each is obtained by a constant number of intersections between lines and circles determined by G. Since G contains only axis-parallel edges, the construction produces a plane straight-line matching M , in which all edges have up to four distinct slopes.The reduction clearly runs in time polynomial in n.
We now show that M admits a polygonization if and only if G does.Note that the connection gadget places edges in the convex corner of a degree-2 vertex in G, and it does not block or create visibility between two leafs of G.By construction, if p is a leaf in G, then the set of other leaves visible from p remains same in M .Since G is max-degree-2, it remains to prove that, for every connection gadget, a polygonization of M must contain a chain of length 11 from p 2 to p 2 that uses only edges of the connection gadget.By (i) of the connection gadget, if a simple polygonization P of M exists, P must connect p 8 with p 6 or p 7 , and p 6 or p 7 to p 4 or p 5 ; otherwise, P would contain a cycle of length 4 and P would be disconnected.The same argument applies to vertices p 9 , . . ., p 13 .Fig. 19(c) shows the forced edges in a polygonization in red.By (ii), p 2 must be adjacent to p 4 or p 5 , and p 2 must be adjacent to p 12 or p 13 , or else either P would contain a cycle of length 10 and P would be disconnected, or P would not be simple.Hence, each gadget behaves exactly like a degree-2 vertex of G, and M admits a polygonization if and only if G does.

Conclusions
Our results raise interesting open problems, among others, about circumscribing polygons in the plane (Section 6.1), and about higher dimensional generalizations (Section 6.2).

Geometric Matching with Few Slopes
As noted above, Grünbaum [9] constructed an arrangement of 6 disjoint segments in R 2 that does not admit a circumscribing polygon; see Fig. 14.If all segments have the same slope (but they are not all collinear), then there always exists a circumscribing polygon.We conjecture that disjoint segments with two distinct slopes still admit a circumscribing polygon.Here we present negative instances with three slopes.Proposition 21.For every n ≥ 9, there is a set of n disjoint segments of 3 different slopes that do not admit a circumscribing polygon.Proof.Consider the set S = {s 1 , . . ., s 9 } of segments in Fig. 21, where s i = a i b i , for i = 1, . . ., 9. Suppose, for the sake of contradiction, that P is a circumscribing polygon for S. Rappaport, Imai, and Toussaint [18, Lemma 2.1] proved that in every Hamiltonian simple polygon, the vertices of conv(S) appear in the same counterclockwise order in P and conv(S).Hence vertices a 1 , a 2 , b 2 , and b 1 appear in this ccw order in P .Denote by A and B, respectively, the polygonal path from a 1 to a 2 , and from b 2 to b 1 in ccw order along P .Since a 1 b 1 and a 2 b 2 are edges of conv(S), they are also edges of P .Consequently, the endpoints of s 3 , . . ., s 7 are in A or B. By symmetry, we may assume that at least one endpoint of s 8 is in A. Since a 1 a 2 is also an edge of conv(S), it does not cross any edge of A, and so it can complete the path A into a simple polygon.By [18, Lemma 2.1], the vertices of conv(A) appear in the same order in both conv(A) and A.
Note first that A contains some vertex to the right of s 8 ; otherwise, either A crosses segment a 4 b 4 , or both a 4 and b 4 are vertices of P and so a 4 b 4 is an external diagonal of P .This means that A contains some vertices of segments s 5 , s 6 , s 9 (as b 1 and b 2 are in B).Note that all possible edges between the vertices to the left of a 5 b 5 and the endpoints of s , and an endpoint of s 9 are vertices of conv(B).Since they appear in the same ccw order in conv(B) and B, segment a 6 b 6 is an external diagonal of P .This contradicts our initial assumption and completes the proof.

Higher Dimensions
Generalizations to higher dimensions are also of interest.For a set V of points in R 3 , a polyhedralization is a polyhedron homotopic to a sphere whose vertex set is V . 2 It is known that every set of n ≥ 4 points in general position admits a polyhedralization [1], and even a polyhedralization of bounded vertex degree [2].
For a set S of disjoint line segments in R 3 , we define a polyhedralization as a polyhedron homotopic to a ball whose vertices are the segment endpoints, and every segment in S is either an edge or an (external or internal) diagonal.A polyhedralization circumscribes S if every segment in S is an edge or an internal diagonal.It is not difficult to see that an arrangement of disjoint segments in general position in R 3 need not admit a polyhedralization.Proposition 22.For every n ≥ 4, there is a set of n disjoint segments in R 3 that do not admit a polyhedralization.Proof.Let s 0 = [(0, 0, −1), (0, 0, 1)] be a vertical segment along the z-axis.We construct s 1 , . . ., s n−1 by taking line segments along the supporting lines of a regular (n − 1)-gon centered at the origin in the xy-plane, and then perturbing them to be in general position; see Fig. 22.

Figure 4 :
Figure 4: (a) A frame.(b) The result of operation Dip(P, a, b).(c) A frame.(d) The result of operation ShearDip(P, a, x).

Figure 5 :
Figure 5: A set S 1 of 25 line segments and the frame P at the end of Phase 1.

Figure 6 :
Figure 6: The left endpoint of segment ab ∈ S 1 is in the lower arc of P .(b) The result of operation BuildCap(P, 1, a).(c) The result of a subsequent operation Dip(P, a , b ).
Phases 1-3 use only operations BuildCap, Dip, and ShearDip, each of which creates at most one reflex vertex.The reflex vertices created by Dip operations are safe their multiplicities does not increase by Lemma 3. The reflex vertices created by ShearDip operations have multiplicity 1 by (R2).Consider operation BuildCap(P, (b), b), where ab ∈ S 1 and c is the neighbor of b in the frame in (b) orientation.It creates a reflex vertex at a; the two neighbors of a are b and c , where c is the first vertex of carc(a, b, c) adjacent to a (possibly c = c).Edge ab remains an edge of P until the end of Phase 3, since ab ∈ S 1 , and our operations do not modify such edges.Vertex b cannot be a reflex vertex created by a prior BuildCap operation.Assume that after operation BuildCap(P, (b), b), vertex a is part of a chain of two or more unsafe reflex vertices created by BuildCap operations.Then carc(a, b, c) = ac and c is a reflex vertex created by a previous operation BuildCap(P , (d), d), where cd ∈ S 1 and (d) = − (b).As noted above, segment cd remains an edge of the frame, and d is not a reflex vertex created by a BuildCap operation.It follows that a chain C of reflex vertices created by BuildCap operations has at most two vertices.If C has only one vertex, then C satisfies (F5) at that time, and possible Dip operations in Phases 1-2 maintain this property due to (R3) in Lemma 7. If C has length 2, say C = (a, c) = (v i , v i+1 ), then one of the reflex vertices was added to chain in Phase 3, and subsequent BuildCap operations do not modify the chain (b, a, c, d)

9 Figure 8 :
Figure8: Left: an arrangement of disjoint segments extensible to rays.Right: an arrangement of disjoint segments that is not extensible to rays, but admits escape routes.

Figure 9 :
Figure 9: (a) An arrangement of 9 segments that admit escape routes from Fig. 8(right), and P = ∂conv(S).(b) Polygon P after the for loop of Dip operations.(c) Polygon P after the for loop of BuildCap operations.(d) The circumscribing polygon for S after the ChopWedges operation.

C a 1 a 2 a 3 a 4 b 1 b 2 b 3 b 4 C 1 C 2 C 3 C 4 Figure 10 :
Figure 10: Our lower bound construction for k = 4.

Figure 11 :
Figure 11: (a) A 3-connected cubic graph G with special edge uv.(b) Graph G 1 after a Y ∆transform around vertex u.(c) A convex embedding of G 1 such that the outer face is ∆ u .(d) Rotating the supporting line of internal edges.(e) Thickening the edges into corridors.

Figure 12 :
Figure12: A chamber incident to three corridors and a segment in the chamber that sees only three other vertices.

3 Figure 16 :
Figure 16: Turn gadget construction.For clarity, ε is not shown in proportion.

Figure 17 :
Figure 17: Examples of P. The interior (exterior) of P is shown in gray (white).

Lemma 15 .
Let S be a set of disjoint line segments that contains a turn gadget satisfying (V1)-(V7).In every circumscribing polygon P for S, the left side of the segment d 2 d 1 is in the exterior of P , hence d 2 d 1 is an edge of P .Proof.Let P be the path described in Lemma 14 from a to d 1 or d 2 , in which d 3 , . . ., d 12 are interior vertices.Suppose, for contradiction, that the left side of d 2 d 1 is in the interior of P .The left side of d 2 d 1 contains ∆(d 1 d 2 d 7 ), as no visibility edge crosses this triangle by (V2).Both edges of P incident to d 7 are in the same closed halfplane bounded by the line through d 7 d 8 , or else d 7 d 8 would be an external diagonal of P .Assume first that both edges are in the closed halfplane on the right of d 7 d 8 .In particular, d 7 is adjacent to neither d 5 nor d 6 .By (V1), d 5 and d 6 must be adjacent to d 3 and d 4 , respectively, and d 5 d 6 is an edge of P .In particular f = (d 3 , d 4 , d 6 , d 7 ) is a face in P ∪ S. Furthermore, since no edge in P separates {d 5 , d 6 } from ∆(d 1 d 2 d 7 )

Figure 19 :
Figure 19: (a) Two adjacent axis-parallel line segments p 1 p 2 and p 2 p 3 .(b) Connection gadget that simulates (a) using seven disjoint line segments.The polygonal path shown in black and blue line segments is [p 1 , p 2 , p 4 , p 5 , p 6 , p 7 , p 8 , p 9 , p 10 , p 11 , p 12 , p 13 , p 2 , p 3 ].(c) The union of the visibility regions of the solid black points p 4 and p 13 .

Figure 20 :
Figure 20: The figure is not drawn scale.(a) The construction of the dashed line 1 and the cone w.(b) The placement of p 2 , and the triangle ∆(abt).(c) The placement of p 8 and p 9 .

9 Figure 21 :
Figure 21: A set of 9 disjoint line segments of slopes 0, 1, and ∞, that do not admit a circumscribing polygon.

6
and s 9 cross a 5 b 5 .If A contains any vertex to the right of a 5 b 5 , then A would contain both a 5 and b 5 , and a 5 b 5 would be an external diagonal of P .Consequently A contains a 5 or b 5 , but no vertices to the right of a 5 b 5 .If A contains b 5 without a 5 , then either A crosses a 4 b 4 or a 4 b 4 is an external diagonal of P .We conclude that A contains a 5 .It follows that B contains b 1 , b 2 , both endpoints of s 6 and s 9 , and possibly b 5 .Points b 1 , b 2 , a 6 , b 6

Figure 22 :
Figure 22: Left: A set of 4 disjoint segments in R 3 that do not admit a polyhedralization; perspective view (a) and view from above (b).
2, incident to p 1 p 2 , p 2 p 3 ∈ E, delete the edge p 1 p 2 , and insert 6 new edges p 1 p 2 , p 4 p 5 , p 6 p 7 , p 8 p 9 , p 10 p 11 , p 12 p 13 , and 11 new vertices p 2 and p i (i = 3, . . ., 13).Denote by G = (V , E ) the resulting new PSLG.We choose the position of the new vertices close to p 2 so that: (i) the two small segments p 6 p 7 and p 10 p 11 are visible only from points p 4 , p 5 , p 8 , and p 9 , p 12 , p 13 respectively; (ii) the union of the visibility regions of p 4 , p 5 , p 12 , and p 13 each contain only some of p 2 , p 2 , p 4 , . . ., p 13 , but no other vertices.