Let <italic>S</italic> be a set of <italic>n</italic> non-intersecting line segments in the plane. The visibility graph <italic>G<subscrpt>S</subscrpt></italic> of <italic>S</italic> is the graph that has the endpoints of the segments in <italic>S</italic> as nodes and in which two nodes are adjacent whenever they can “see” each other (i.e., the open line segment joining them is disjoint from all segments or is contained in a segment). Two new methods are presented to construct <italic>G<subscrpt>S</subscrpt></italic>. Both methods are very simple to implement. The first method is based on a new solution to the following problem: given a set of points, for each point sort the other points around it by angle. It runs in time &Ogr;(<italic>n</italic><supscrpt>2</supscrpt>). The second method uses the fact that visibility graphs often are sparse and runs in time &Ogr;(<italic>m</italic> log <italic>n</italic>) where <italic>m</italic> is the number of edges in <italic>G<subscrpt>S</subscrpt></italic>. Both methods use only Ogr;(<italic>n</italic>) storage.
[1]
Der-Tsai Lee.
Proximity and reachability in the plane.
,
1978
.
[2]
Tomás Lozano-Pérez,et al.
An algorithm for planning collision-free paths among polyhedral obstacles
,
1979,
CACM.
[3]
Micha Sharir,et al.
On shortest paths in polyhedral spaces
,
1986,
STOC '84.
[4]
Emo WELZL,et al.
Constructing the Visibility Graph for n-Line Segments in O(n²) Time
,
1985,
Inf. Process. Lett..
[5]
Leonidas J. Guibas,et al.
Topologically sweeping an arrangement
,
1986,
STOC '86.
[6]
Micha Sharir,et al.
Nonlinearity of davenport—Schinzel sequences and of generalized path compression schemes
,
1986,
FOCS.
[7]
David M. Mount,et al.
An Output Sensitive Algorithm for Computing Visibility Graphs
,
1987,
FOCS.
[8]
John Hershberger,et al.
Finding the visibility graph of a simple polygon in time proportional to its size
,
1987,
SCG '87.
[9]
M. H. Overmars.
Construction of sparse visibility graphs
,
1987
.