Computing the visibility graph of points within a polygon
Boaz Ben Moshe, Olaf A. Hall-Holt, Matthew J. Katz, Joseph S. B. Mitchell · 2004
We study the problem of computing the visibility graph defined by a set P of n points inside a polygon Q: two points p,q ε P are joined by an edge if the segment ‾pq ⊂ Q. Efficient output-sensitive algorithms are known for the case in which P is the set of all vertices of Q. We examine the general case in which P is an arbitrary set of points, interior or on the boundary of Q and study a variety of algorithmic questions. We give an output-sensitive algorithm, which is nearly optimal, when Q is a simple polygon. We introduce a notion of "fat" or "robust" visibility, and give a nearly optimal algorithm for computing visibility graphs according to it, in polygons Q that may have holes. Other results include an algorithm to detect if there are any visible pairs among P, and algorithms for output-sensitive computation of visibility graphs with distance restrictions, invisibility graphs, and rectangle visibility graphs.