Linear-time algorithms for visibility and shortest path problems inside triangulated simple polygons

Given a triangulation of a simple polygonP, we present linear-time algorithms for solving a collection of problems concerning shortest paths and visibility withinP. These problems include calculation of the collection of all shortest paths insideP from a given source vertexS to all the other vertices ofP, calculation of the subpolygon ofP consisting of points that are visible from a given segment withinP, preprocessingP for fast "ray shooting" queries, and several related problems.

[1]  David Avis,et al.  A Linear Algorithm for Finding the Convex Hull of a Simple Polygon , 1979, Inf. Process. Lett..

[2]  Godfried T. Toussaint,et al.  An Optimal Algorithm for Determining the Visibility of a Polygon from an Edge , 1981, IEEE Transactions on Computers.

[3]  Arthur C. Sanderson,et al.  Reachable grasps on a polygon: The convex rope algorithm , 1986, IEEE J. Robotics Autom..

[4]  Leonidas J. Guibas,et al.  Visibility and intersectin problems in plane geometry , 1985, SCG '85.

[5]  Robert E. Tarjan,et al.  A linear-time algorithm for triangulating simple polygons , 1986, STOC '86.

[6]  Bernard Chazelle,et al.  A theorem on polygon cutting with applications , 1982, 23rd Annual Symposium on Foundations of Computer Science (sfcs 1982).

[7]  Peter T. Highnam,et al.  The Aars of a Polygon , 1982, Information Processing Letters.

[8]  B. Monien,et al.  Data structures and efficient algorithms , 1992, Lecture Notes in Computer Science.

[9]  Franco P. Preparata,et al.  Computational Geometry , 1985, Texts and Monographs in Computer Science.

[10]  Jack Sklansky,et al.  Finding the convex hull of a simple polygon , 1982, Pattern Recognit. Lett..

[11]  D. T. Lee,et al.  Computing the visibility polygon from an edge , 1986, Comput. Vis. Graph. Image Process..

[12]  Leonidas J. Guibas,et al.  A kinetic framework for computational geometry , 1983, 24th Annual Symposium on Foundations of Computer Science (sfcs 1983).

[13]  S. Suri A linear time algorithm with minimum link paths inside a simple polygon , 1986 .

[14]  Robert E. Tarjan,et al.  Self-adjusting binary search trees , 1985, JACM.

[15]  Franco P. Preparata,et al.  Testing a Simple Polygon for Monotonicity , 1981, Inf. Process. Lett..

[16]  Hossam Ahmed Elgindy,et al.  Hierarchical decomposition of polygons with applications , 1985 .

[17]  Robert E. Tarjan,et al.  Data structures and network algorithms , 1983, CBMS-NSF regional conference series in applied mathematics.

[18]  D. T. Lee,et al.  Euclidean shortest paths in the presence of rectilinear barriers , 1984, Networks.

[19]  D. T. Lee,et al.  Visibility of a simple polygon , 1983, Comput. Vis. Graph. Image Process..

[20]  Godfried T. Toussaint,et al.  Shortest path solves edge-to-edge visibility in a polygon , 1986, Pattern Recognit. Lett..

[21]  David G. Kirkpatrick,et al.  Optimal Search in Planar Subdivisions , 1983, SIAM J. Comput..

[22]  Prof. Dr. Kurt Mehlhorn,et al.  Data Structures and Algorithms 1 , 1984, EATCS.

[23]  Steve Fisk,et al.  A short proof of Chvátal's Watchman Theorem , 1978, J. Comb. Theory, Ser. B.

[24]  David Avis,et al.  A Linear Algorithm for Computing the Visibility Polygon from a Point , 1981, J. Algorithms.

[25]  Leonidas J. Guibas,et al.  Visibility and intersection problems in plane geometry , 1989, Discret. Comput. Geom..

[26]  Leonidas J. Guibas,et al.  Optimal Point Location in a Monotone Subdivision , 1986, SIAM J. Comput..

[27]  T. Asano An Efficient Algorithm for Finding the Visibility Polygon for a Polygonal Region with Holes , 1985 .

[28]  Leonidas J. Guibas,et al.  A new representation for linear lists , 1977, STOC '77.

[29]  Robert E. Tarjan,et al.  Triangulating a Simple Polygon , 1978, Inf. Process. Lett..

[30]  D. Knuth,et al.  Mathematics for the Analysis of Algorithms , 1999 .

[31]  Alain Fournier,et al.  Triangulating Simple Polygons and Equivalent Problems , 1984, TOGS.

[32]  Kurt Mehlhorn,et al.  A new data structure for representing sorted lists , 1980, Acta Informatica.