Skip to main content
Log in

Visibility between two edges of a simple polygon

  • Published:
The Visual Computer Aims and scope Submit manuscript

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.

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.

Similar content being viewed by others

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

    Article  Google Scholar 

  • 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

    Google Scholar 

  • Brown MR, Tarjan RE (1980) Design and analysis of a data structure for representing sorted lists. SIAM J Comput 9: 594–614

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Article  Google Scholar 

  • ElGindy H, Avis D, Toussaint GT (1983) Applications of a two-dimensional hidden-line algorithm to other geometric problems. Computing 31: 191–202

    Google Scholar 

  • Freeman H, Loutrel PP (1967) An algorithm for the two-dimensional ‘hiden line’ problem”. IEEE Trans Electronic Computers EC-16(6): 784–790

    Google Scholar 

  • Griffiths JG (1978) Bibliography of hidden-line and hidden-surface algorithms. Computer Aided Design 10(3): 203–206

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Article  Google Scholar 

  • Knuth DE (1973) The art of computer programming, vol III: Sorting and searching, Addison-Wesley, Reading, Mass

    Google Scholar 

  • Lee DT (1983) Visibility of a simple polygon. Comput Vision, Graphics and Imagae Processing 22 207–221

    Google Scholar 

  • 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

    Article  Google Scholar 

  • Lee DT, Preparata FP (1984) Euclidean shortest paths in the presence of rectilinear barriers. Networks 14: 393–410

    Google Scholar 

  • Lozano-Perez T, Wesley M (1979) An algorithm for planning collision-free paths among polyhedral obstacles. Commun ACM 22: 560–570

    Article  Google Scholar 

  • Mater D, Salveter C (1981) Hysterical B-trees. Inf Proc Lett 12: 199–202

    Article  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Article  Google Scholar 

  • Rappaport D, Toussaint GT (1985) A simple linear hidden-line algorithm for star-shaped polygons. Pattern Recognition Lett 3: 35–39

    Article  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Google Scholar 

  • 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

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints 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

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01952419

Key words

Navigation