A new algorithm for computing visibility graphs of polygonal obstacles in the plane

Given a set of $h$ pairwise disjoint polygonal obstacles with a total of $n$ vertices in the plane, the vertex-vertex visibility graph is an undirected graph whose nodes are vertices of the obstacles and whose edges are pairs of visible vertices. The vertex-edge and edge-edge visibility graphs are defined similarly. Ghosh and Mount gave a well-known output-sensitive $O(n\log n+k)$ time algorithm for computing these visibility graphs, where $k$ is the size of the corresponding graph. By developing new techniques based on an extended corridor structure, we augment Ghosh and Mount’s algorithm to build these visibility graphs in $O(n+h\log h+k)$ time, after the free space is triangulated. The new algorithm improves Ghosh and Mount’s algorithm by reducing its additive $O(n\log n)$ time factor to $O(n + h\log h)$. Like Ghosh and Mount’s algorithm, our algorithm can also compute several important structures such as the funnel structure and the enhanced visibility graph, which may have other applications.

[1]  Emo WELZL,et al.  Constructing the Visibility Graph for n-Line Segments in O(n²) Time , 1985, Inf. Process. Lett..

[2]  Robert E. Tarjan,et al.  A Linear-Time Algorithm for a Special Case of Disjoint Set Union , 1985, J. Comput. Syst. Sci..

[3]  Reuven Bar-Yehuda,et al.  Triangulating disjoint Jordan chains , 1994, Int. J. Comput. Geom. Appl..

[4]  Der-Tsai Lee Proximity and reachability in the plane. , 1978 .

[5]  Haitao Wang,et al.  L_1 Shortest Path Queries among Polygonal Obstacles in the Plane , 2013, STACS.

[6]  S. N. Maheshwari,et al.  Efficient algorithms for Euclidean shortest path and visibility problems with polygonal obstacles , 1988, SCG '88.

[7]  Leonidas J. Guibas,et al.  Linear-time algorithms for visibility and shortest path problems inside triangulated simple polygons , 1987, Algorithmica.

[8]  Haitao Wang,et al.  Visibility and ray shooting queries in polygonal domains , 2015, Comput. Geom..

[9]  David M. Mount,et al.  An Output Sensitive Algorithm for Computing Visibility Graphs , 1987, FOCS.

[10]  Haitao Wang,et al.  Computing Shortest Paths among Curved Obstacles in the Plane , 2015, TALG.

[11]  Leonidas J. Guibas,et al.  Visibility of disjoint polygons , 2005, Algorithmica.

[12]  Joseph S. B. Mitchell,et al.  Minimum-link paths among obstacles in the plane , 2005, Algorithmica.

[13]  Joseph S. B. Mitchell,et al.  An Efficient Algorithm for Euclidean Shortest Paths Among Polygonal Obstacles in the Plane , 1997, Discret. Comput. Geom..

[14]  Haitao Wang,et al.  Computing the Visibility Polygon of an Island in a Polygonal Domain , 2012, ICALP.

[15]  Haitao Wang,et al.  A Nearly Optimal Algorithm for Finding L 1 Shortest Paths among Polygonal Obstacles in the Plane , 2011, ESA.

[16]  Micha Sharir,et al.  On Shortest Paths in Polyhedral Spaces , 1986, SIAM J. Comput..

[17]  John Hershberger,et al.  An optimal visibility graph algorithm for triangulated simple polygons , 1989, Algorithmica.

[18]  S. N. Maheshwari,et al.  Efficiently Constructing the Visibility Graph of a Simple Polygon with Obstacles , 2000, SIAM J. Comput..

[19]  Stephen K. Wismath,et al.  Visibility Stabs and Depth-First Spiralling on Line Segments in Output Sensitive Time , 2000, Int. J. Comput. Geom. Appl..

[20]  Bernard Chazelle Triangulating a simple polygon in linear time , 1991, Discret. Comput. Geom..

[21]  Mark H. Overmars,et al.  New methods for computing visibility graphs , 1988, SCG '88.

[22]  Universitgtt des Saarlandes Fast Triangulation of the Plane with Respect to Simple Polygons , 2005 .

[23]  David M. Mount,et al.  An output sensitive algorithm for computing visibility graphs , 1987, 28th Annual Symposium on Foundations of Computer Science (sfcs 1987).

[24]  Joseph O'Rourke,et al.  Worst-case optimal algorithms for constructing visibility polygons with holes , 1986, SCG '86.