On computing simple circuits on a set of line segments

Given a set of non-intersecting line segments in the plane, we are required to connect the line segments such that they form a simple circuit (a simple polygon). However, not every set of segments can be so connected. Figure 1 shows a set of segments that does not admit a simple circuit. This leads to the challenging problem of determining when a set of segments admits a simple circuit , and if it does, then find such a circuit. It has been shown [Rappaport] that in general, to determine whether a set of segments admits a simple circuit is NP-complete. In this paper an optimal algorithm is presented to determine whether a simple circuit exists, and deliver a simple circuit, on a set of line segments, where each segment has at least one end-point on the convex hull of the segments (a CH-connected set of segments). Furthermore this technique can be used to determine a simple circuit of minimum length, or a simple circuit that bounds the minimum area, with no increase in computational complexity. The rest of the paper is summarized. In section 2 cf this paper, the preliminary definitions and notation are introduced. In section 3, the geometric properties of the set, of segments are used to transform the segments into an associated graph. Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct comm¢.rcial advantage, the ACM copyright notice and the title of the .~ :~iication and its date appear, and notice is given that copying is by !:crm:s,';or vf the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. A Hamiltonian circuit in this graph is !then used to deliver the connections of segments that form the boundary of a simple polygon. In section 4, a linear algorithm is introduced which finds, if there is one, a Hamiltonian circuit in graphs of the class obtained by the transformation discussed in section 3. This algorithm actually computes the minimum weight matching on an extremely structured bipartite graph. From this the result on minimal simple circuits follows immediately. Section 5, relates the details of a necessary step in the segment to graph transformation. This involves the intersection of line segments in the plane. The paper is summarized in section 6, where the proof of optimality of the …