Skip to main content
Log in

Computing the Visibility Polygon of an Island in a Polygonal Domain

  • Published:
Algorithmica Aims and scope Submit manuscript

Abstract

Given a set \({\mathcal {P}}\) of h pairwise-disjoint polygonal obstacles with a total of n vertices in the plane, we study the problem of computing the (weak) visibility polygon from a polygonal obstacle \(P^*\) (an island) in \({\mathcal {P}}\). The problem was previously solved in \(O(n^4)\) time, which has been proved worst-case optimal. However, since h may be much smaller than n, it is desirable to have an algorithm whose running time is also a function of h. In this paper, we present such an algorithm of \(O(n^2h^2)\) time, and our algorithm improves the previous result when \(h=o(n)\). In addition, when all obstacles in \({\mathcal {P}}\) (including \(P^*\)) are convex, our algorithm runs in \(O(n+h^4)\) time.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17

Similar content being viewed by others

References

  1. Asano, T., Asano, T., Guibas, L., Hershberger, J., Imai, H.: Visibility of disjoint polygons. Algorithmica 1(1), 49–63 (1986)

    Article  MathSciNet  MATH  Google Scholar 

  2. Atallah, M.J., Chen, D.Z., Wagener, H.: An optimal parallel algorithm for the visibility of a simple polygon from a point. J. ACM 38(3), 516–533 (1991)

    Article  MathSciNet  MATH  Google Scholar 

  3. Briggs, A.J., Donald, B.R.: Visibility-based planning of sensor control strategies. Algorithmica 26, 364–388 (2000)

    Article  MathSciNet  MATH  Google Scholar 

  4. Chazelle, B.: Triangulating a simple polygon in linear time. Discrete Comput. Geom. 6, 485–524 (1991)

    Article  MathSciNet  MATH  Google Scholar 

  5. Chazelle, B., Guibas, L.: Visibility and intersection problems in plane geometry. Discrete Comput. Geom. 4, 551–589 (1989)

    Article  MathSciNet  MATH  Google Scholar 

  6. Chen, D.Z., Wang, H.: A nearly optimal algorithm for finding \(L_1\) shortest paths among polygonal obstacles in the plane. In: Proceedings of the 19th European symposium on algorithms (ESA), pp. 481–492 (2011)

  7. Chen, D.Z., Wang, H.: Visibility and ray shooting queries in polygonal domains. Comput. Geom. Theory Appl. 48, 31–41 (2015)

    Article  MathSciNet  MATH  Google Scholar 

  8. Chen, D.Z., Wang, H.: Weak visibility queries of line segments in simple polygons. Comput. Geom. Theory Appl. 48, 443–452 (2015)

    Article  MathSciNet  MATH  Google Scholar 

  9. ElGindy, H., Avis, D.: A linear algorithm for computing the visibility polygon from a point. J. Algorithms 2(2), 186–197 (1981)

    Article  MathSciNet  MATH  Google Scholar 

  10. Ghosh, S.K.: Computing the visibility polygon from a convex set and related problems. J. Algorithms 12, 75–95 (1991)

    Article  MathSciNet  MATH  Google Scholar 

  11. Ghosh, S.K., Mount, D.M.: An output-sensitive algorithm for computing visibility graphs. SIAM J. Comput. 20(5), 888–910 (1991)

    Article  MathSciNet  MATH  Google Scholar 

  12. Guibas, L., Hershberger, J., Leven, D., Sharir, M., Tarjan, R.E.: Linear-time algorithms for visibility and shortest path problems inside triangulated simple polygons. Algorithmica 2(1–4), 209–233 (1987)

    Article  MathSciNet  MATH  Google Scholar 

  13. Heffernan, P., Mitchell, J.: An optimal algorithm for computing visibility in the plane. SIAM J. Comput. 24(1), 184–201 (1995)

    Article  MathSciNet  MATH  Google Scholar 

  14. Inkulu, R., Kapoor, S.: Planar rectilinear shortest path computation using corridors. Comput. Geom. Theory Appl. 42(9), 873–884 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  15. Joe, B.: On the correctness of a linear-time visibility polygon algorithm. Int. J. Comput. Math. 32, 155–172 (1990)

    Article  MATH  Google Scholar 

  16. Joe, B., Simpson, R.B.: Corrections to Lee’s visibility polygon algorithm. BIT 27, 458–473 (1987)

    Article  MATH  Google Scholar 

  17. Kapoor, S., Maheshwari, S.N., Mitchell, J.S.B.: An efficient algorithm for Euclidean shortest paths among polygonal obstacles in the plane. Discrete Comput. Geom. 18(4), 377–383 (1997)

    Article  MathSciNet  MATH  Google Scholar 

  18. Lee, D.T.: Visibility of a simple polygon. Comput. Vis. Graph. Image Process. 22(2), 207–221 (1983)

    Article  MATH  Google Scholar 

  19. Lee, D.T., Lin, A.K.: Computing the visibility polygon from an edge. Comput. Vis. Graph. Image Process. 34, 594–606 (1986)

    Article  MATH  Google Scholar 

  20. Rohnert, H.: Shortest paths in the plane with convex polygonal obstacles. Inf. Process. Lett. 23(2), 71–76 (1986)

    Article  MathSciNet  MATH  Google Scholar 

  21. Suri, S., O’Rourke, J.: Worst-case optimal algorithms for constructing visibility polygons with holes. In: Proceedings of the 2nd Annual Symposium on Computational Geometry, pp. 14–23 (1986)

  22. Welzl, E.: Constructing the visibility graph for \(n\) line segments in \(O(n^2)\) time. Inf. Process. Lett. 20, 167–171 (1985)

    Article  MathSciNet  MATH  Google Scholar 

Download references

Acknowledgments

The authors would like to thank the anonymous reviewers for their comments that help improve the presentation of the paper. D. Z. Chen’s research was supported in part by NSF under Grant CCF-1217906. H. Wang’s research was supported in part by NSF under Grant CCF-1317143.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Haitao Wang.

Additional information

A preliminary version of this paper appeared in the Proceedings of the 39th International Colloquium on Automata, Languages, and Programming (ICALP 2012).

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Chen, D.Z., Wang, H. Computing the Visibility Polygon of an Island in a Polygonal Domain. Algorithmica 77, 40–64 (2017). https://doi.org/10.1007/s00453-015-0058-y

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00453-015-0058-y

Keywords

Navigation