Computing the visibility polygon from a convex set and related problems

https://doi.org/10.1016/0196-6774(91)90024-SGet rights and content

Abstract

In this paper, we propose efficient algorithms for computing the complete and weak visibility polygons of a simple polygon P of n vertices from a convex set C inside P. The algorithm for computing the complete visibility polygon of P from C takes O(n + k) time in the worst case, where k is the number of extreme points of the convex set C. Given a triangulation of P - C, the algorithm for computing the weak visibility polygon of P from C takes O(n + k) time in the worst case. We also show that computing the complete and weak visibility polygons of P from a nonconvex set inside P has the same time complexity. The algorithm for computing the complete visibility polygon of P from a convex set inside P leads to efficient algorithms for the following problems: (i) Given a polygon Q of m vertices inside another polygon P of n vertices, construct a minimum nested convex polygon K between P and Q. The algorithm runs in O((n + m)log k) time, where k is the number of vertices of K. This is an improvement over the O((n + m)log(n + m)) time algorithm of Wang and Chan. (ii) Given two points inside a polygon P, compute a minimum link path between them inside P. Given a triangulation of P, the algorithm takes O(n) time. Suri also proposed a linear time algorithm for this problem in a triangulated polygon but our algorithm is simpler.

References (22)

  • H Edelsbrunner et al.

    Minimum Polygonal Separation

  • Cited by (56)

    • Minimum-link paths revisited

      2014, Computational Geometry: Theory and Applications
    • Weak visibility polygons of NURBS curves inside simple polygons

      2014, Journal of Computational and Applied Mathematics
    • Constant-Factor Approximation Algorithms for Convex Cover and Hidden Set in a Simple Polygon

      2023, Proceedings - Annual IEEE Symposium on Foundations of Computer Science, FOCS
    View all citing articles on Scopus

    A part of the work was done when the author visited the Center for Automation Research, University of Maryland and was supported by the Air Force Office of Scientific Research under Grant AFOSR-86-0092.

    View full text