Abstract
One of the most recurring themes in many computer applications such as graphics automated cartography, image processing and robotics is the notion of visibility. We are concerned with the visibility between two edges of a simplen-vertex polygon. Four natural definitions of edge-to-edge visibility are proposed. There existO(nlogn) algorithms and complicatedO(nlog logn) algorithms to solve this problem partially and indirectly. A linear running time, and thus optimal algorithm is presented to determine edge-to-edge visibility under any of the four definitions. This simple, efficient, and direct algorithm without computing the triangulation of the simple polygon also identifies the visibility region if it exists.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Asano T (1985) Efficient algorithm for finding the visibility polygon for a polygonal region with holes. Tech Rep, Osaka Electro Communication University
Avis D, ElGindy H (1983) A combinatorial approach to polygon similarity. IEEE Trans Inf Theory. vol IT-29: 148–150
Avis D, Toussaint GT (1981) An optimal algorithm for determining the visibility of a polygon from an edge. IEEE Trans Comput (December 1986) C-30: 910–914
Brown MR, Tarjan RE (1980) Design and analysis of a data structure for representing sorted lists. SIAM J Comput 9: 594–614
Chazelle B (1982) A theorem on polygon cutting with applications. 23rd Annual IEEE Symposium on Foundations of Computer Science, pp 339–349
Chu WH, Lee DT (1983) The hidden line elimination problem revisited. Proc Internat Conf on Advanced Automation, Taipei, Taiwan (December 1983), pp 469–480
Chavátal V (1975) A Combinatorial theorem in plane geometry. J Comb Theory [Ser B] 18: 39–41
Chazelle B, Guibas LJ (1985) Visibility and intersection problems in plane geometry. Proc Symposium on Computational Geometry, Baltimore (June 1985) pp 135–146
Donald BR (1983) Hypothesizing channels through free-space in solving the findpath problem, Massachussetts Institute of Technology, Artificial Intelligence Laboratory (June 1983) A.I. Memo no. 738
Davis L, Benedikt M (1979) Computational models of space: Isovists and isovist fields. Comp Graphics and Image Proc. 11: 49–72
Edelsbrunner H (1983) Problem P 36. Bull. EATCS 21 (October 1983), pp 195
ElGindy H (1980) Visibility in polygons with applications. M Sc Thesis (November 1980) School of Computer Science, McGill University
ElGindy H (1985) Hierarchical decomposition of polygons with applications. Ph D Thesis May 1985, School of Computer Science, McGill University
ElGindy H, Avis D (1981) A finear algorithm for computing the visibility polygon from a point J Algorithms 2: 180–197
ElGindy H, Avis D, Toussaint GT (1983) Applications of a two-dimensional hidden-line algorithm to other geometric problems. Computing 31: 191–202
Freeman H, Loutrel PP (1967) An algorithm for the two-dimensional ‘hiden line’ problem”. IEEE Trans Electronic Computers EC-16(6): 784–790
Griffiths JG (1978) Bibliography of hidden-line and hidden-surface algorithms. Computer Aided Design 10(3): 203–206
Guibas L, Hershberger J, Leven D, Sharir M, Tarjan RE (1986) Linear time algorithm for visibility and shortest path problem inside simple polygon. Proc Symposium on Computational Geometry, Yorktown Heights, New York (June 1986)
Garey MR, Johnson DS, Preparata FP, Tarjan RE (1978) Triangulating a simple polygon. Int Proc Lett 7: 175–179
Hightower DW (1969) A solution to line-routing problems on the continuous plane. Proc of Design Automation Workshop, pp 1–24
Hoffmann K, Mehlhorn K (1984) Intersecting a line and a simple polygon. Bull EATCS 22 (February 1984), pp 120–121
Hoffman K, Mehlhorn K, Rosenstiehl P, Tarjan RE (1985) Sorting Jordan sequences in linear time. Proc Symposium on Computational Geometry, Baltimore (June 1985) pp 196–203
Huddleston S, Mehlhorn K (1982) A new data structure for representing sorted lists. Acta Inf 17: 157–184
Knuth DE (1973) The art of computer programming, vol III: Sorting and searching, Addison-Wesley, Reading, Mass
Lee DT (1983) Visibility of a simple polygon. Comput Vision, Graphics and Imagae Processing 22 207–221
Lee DT, Lin A (1984) Computing the visibility polygon from an edge. Tech Rep, Northwestern University
Lee DT, Preparata FP (1979) An optimal algorithm for finding the kernel of a polygon. J ACM 26(3): 415–421
Lee DT, Preparata FP (1984) Euclidean shortest paths in the presence of rectilinear barriers. Networks 14: 393–410
Lozano-Perez T, Wesley M (1979) An algorithm for planning collision-free paths among polyhedral obstacles. Commun ACM 22: 560–570
Mater D, Salveter C (1981) Hysterical B-trees. Inf Proc Lett 12: 199–202
Mehlhorn K (1984) Data structures and efficient algorithms, vol 1: Sorting and searching, Springer Verlag
Melkman AA (1985) On computing the visibility polygon from a point. Tech Rep (April 1985) CS-85-260, Ben Gurion University, Israel
Nilsson NJ (1969) A mobile automaton: An application of artificial intelligence techniques. Proc IJCAI-69, pp 509–520
Preparata FP, Shamos MI (1985) Computational geometry: An introduction. Springer-Verlag pp 160–165
Rappaport D (1986) A linear algorithm for eliminating hidden line from a polygonal cyclinder. The Visual Computer, 2: 44–53
Rappaport D, Toussaint GT (1985) A simple linear hidden-line algorithm for star-shaped polygons. Pattern Recognition Lett 3: 35–39
Rohnert H (1985) Shortest paths in the plane with convex polygonal obstacles. Tech Rep A 85/06, University of Saarbrükken
Shamos MI (1977) Problems in computational geometry. Carnegie Mellon University
Shapiro LG, Haralick RM (1980) Algorithms for inexact matching. Proc 5th Internat Conf on Pattern Recognition, Miami Beach, pp 202–207
Shapiro LG, Haralick RM (1979) Decomposition of two dimensional shapes by graph-theoretic clustering. IEEE Trans on Pattern Analysis and Machine Intelligence (January 1979) vol. PAMI-1, pp 10–20
Suri S, O'Rourke J (1985) Worst-case optimal algorithms for constructing visibility polygons with holes. Tech Rep (August 1985) JHU/EECS-1985/12
Sack JR, Toussaint GT (1984) Translating polygons in the plane. Tech Rep SCS-TR-47 (March 1984) Carleton University
Stoer J, Witzgall C (1970) Convexity and optimization in finite dimensions I. Springer-Verlag
Toussaint GT (1980) Pattern recognition and geometrical complexity. Proc 5th Internat Conf on Pattern Recognition (December 1980) Miami Beach, FL
Toussaint GT (1983) Solving geometric problems with the rotating calipers. Proc MELECON '83, Athens, Greece
Toussaint GT (1985) Shortest path solves edge-to-edge visibility in a polygon. Tech Rep SOCS-85. 19 (September 1985) McGill University, also to appear in: Pattern recognition Lett
Toussaint GT (1985) Shortest path solves translation separability of polygons. Tech Rep SOCS-85.27. (October 1985) McGill University
Toussaint GT (1986) A linear time algorithm for solving the strong hidden-line problem in a simple polygon. Tech Rep SOCS-86.2 (January 1986) McGill University
Toussaint GT, ElGindy H (1984) Separation of two monotone polygons in linear time. Robotica 2:215–220
Toussaint GT, Sack J-R (1983) Some new results on moving polygons in the plane. Proc Robotic Intelligence and Productivity Conference, Detroit, pp 158–163
Tarjan RE, Van Wyk C (1986) A linear time algorithm for triangulating simple polygons. Proc Eighteenth Annual ACM Symposium on Theory of Computing, pp 380–388
Tarjan RE, Van Wyk C (submitted) AnO(nloglogn)-time algorithm for triangulating simple polygons. SIAM J Comput
Yao FF (1983) On the priority approach to hidden surface algorithms. Proc 21st Annual Symposium on Foundations of Computer Science (October 1983), pp 301–307
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Avis, D., Gum, T. & Toussaint, G. Visibility between two edges of a simple polygon. The Visual Computer 2, 342–357 (1986). https://doi.org/10.1007/BF01952419
Issue Date:
DOI: https://doi.org/10.1007/BF01952419