×

Computing the visibility polygon of an island in a polygonal domain. (English) Zbl 1364.68343

This paper focuses on the problem of computing the (weak) visibility polygon from a polygonal obstacle \(P^*\) (an island) in a given set \(P\) comprising \(n\) vertices and \(h\) pairwise disjoint obstacles. The authors show that the complexity of previously proposed algorithms, \(O(n^4)\), can be improved as a function of \(h\) and present an algorithm of complexity \(O(n^2h^2)\) when \(h=o(n).\) Moreover, when all obstacles are convex, the complexity is reduced to \(O(n+h^4)\). The paper commences with an overview of the problem and the introduction of preliminary concepts such as the corridor structure, bays and canals. The SO algorithm is also briefly presented. Next, the authors describe their novel approach, focusing on three types of edges and the illumination gates and their role in computing \(\mathrm{Vis}(P^*)\). The paper concludes with the description of the new algorithm applied to the convex version of the problem, i.e., all obstacles in \(P\) are convex polygons, which focuses on generating pseudo-triangles and using them to compute the union \(\mathrm{Vis}(P^*)\).

MSC:

68U05 Computer graphics; computational geometry (digital and algorithmic aspects)
68Q25 Analysis of algorithms and problem complexity
Full Text: DOI

References:

[1] Asano, T., Asano, T., Guibas, L., Hershberger, J., Imai, H.: Visibility of disjoint polygons. Algorithmica 1(1), 49-63 (1986) · Zbl 0611.68062 · doi:10.1007/BF01840436
[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) · Zbl 0942.68741 · doi:10.1145/116825.116827
[3] Briggs, A.J., Donald, B.R.: Visibility-based planning of sensor control strategies. Algorithmica 26, 364-388 (2000) · Zbl 0993.93027 · doi:10.1007/s004539910018
[4] Chazelle, B.: Triangulating a simple polygon in linear time. Discrete Comput. Geom. 6, 485-524 (1991) · Zbl 0753.68090 · doi:10.1007/BF02574703
[5] Chazelle, B., Guibas, L.: Visibility and intersection problems in plane geometry. Discrete Comput. Geom. 4, 551-589 (1989) · Zbl 0695.68033 · doi:10.1007/BF02187747
[6] Chen, D.Z., Wang, H.: A nearly optimal algorithm for finding \[L_1\] L1 shortest paths among polygonal obstacles in the plane. In: Proceedings of the 19th European symposium on algorithms (ESA), pp. 481-492 (2011) · Zbl 1346.68229
[7] Chen, D.Z., Wang, H.: Visibility and ray shooting queries in polygonal domains. Comput. Geom. Theory Appl. 48, 31-41 (2015) · Zbl 1311.65022 · doi:10.1016/j.comgeo.2014.08.003
[8] Chen, D.Z., Wang, H.: Weak visibility queries of line segments in simple polygons. Comput. Geom. Theory Appl. 48, 443-452 (2015) · Zbl 1318.65012 · doi:10.1016/j.comgeo.2015.02.001
[9] ElGindy, H., Avis, D.: A linear algorithm for computing the visibility polygon from a point. J. Algorithms 2(2), 186-197 (1981) · Zbl 0459.68057 · doi:10.1016/0196-6774(81)90019-5
[10] Ghosh, S.K.: Computing the visibility polygon from a convex set and related problems. J. Algorithms 12, 75-95 (1991) · Zbl 0718.68096 · doi:10.1016/0196-6774(91)90024-S
[11] Ghosh, S.K., Mount, D.M.: An output-sensitive algorithm for computing visibility graphs. SIAM J. Comput. 20(5), 888-910 (1991) · Zbl 0768.68202 · doi:10.1137/0220055
[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) · Zbl 0642.68081 · doi:10.1007/BF01840360
[13] Heffernan, P., Mitchell, J.: An optimal algorithm for computing visibility in the plane. SIAM J. Comput. 24(1), 184-201 (1995) · Zbl 0828.68120 · doi:10.1137/S0097539791221505
[14] Inkulu, R., Kapoor, S.: Planar rectilinear shortest path computation using corridors. Comput. Geom. Theory Appl. 42(9), 873-884 (2009) · Zbl 1175.65032 · doi:10.1016/j.comgeo.2009.02.005
[15] Joe, B.: On the correctness of a linear-time visibility polygon algorithm. Int. J. Comput. Math. 32, 155-172 (1990) · Zbl 0825.68638 · doi:10.1080/00207169008803824
[16] Joe, B., Simpson, R.B.: Corrections to Lee’s visibility polygon algorithm. BIT 27, 458-473 (1987) · Zbl 0643.68098 · doi:10.1007/BF01937271
[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) · Zbl 0892.68047 · doi:10.1007/PL00009323
[18] Lee, D.T.: Visibility of a simple polygon. Comput. Vis. Graph. Image Process. 22(2), 207-221 (1983) · Zbl 0532.68071 · doi:10.1016/0734-189X(83)90065-8
[19] Lee, D.T., Lin, A.K.: Computing the visibility polygon from an edge. Comput. Vis. Graph. Image Process. 34, 594-606 (1986) · Zbl 0625.68050 · doi:10.1016/0734-189X(86)90044-7
[20] Rohnert, H.: Shortest paths in the plane with convex polygonal obstacles. Inf. Process. Lett. 23(2), 71-76 (1986) · Zbl 0607.68052 · doi:10.1016/0020-0190(86)90045-1
[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) · Zbl 0643.68098
[22] Welzl, E.: Constructing the visibility graph for \[n\] n line segments in \[O(n^2)O\](n2) time. Inf. Process. Lett. 20, 167-171 (1985) · Zbl 0573.68036 · doi:10.1016/0020-0190(85)90044-4
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. In some cases that data have been complemented/enhanced by data from zbMATH Open. This attempts to reflect the references listed in the original paper as accurately as possible without claiming completeness or a perfect matching.