## 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 simple*n*-vertex polygon. Four natural definitions of edge-to-edge visibility are proposed. There exist*O*(*n*log*n*) algorithms and complicated*O*(*n*log log*n*) 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.

## Key words

Visibility Polygon Weak visibility Convex hull Hidden line problems Monotone polygons Jordan sorting Computational geometry Graphics Algorithms Geometric complexity## Preview

Unable to display preview. Download preview PDF.

## References

- Asano T (1985) Efficient algorithm for finding the visibility polygon for a polygonal region with holes. Tech Rep, Osaka Electro Communication UniversityGoogle Scholar
- Avis D, ElGindy H (1983) A combinatorial approach to polygon similarity. IEEE Trans Inf Theory. vol IT-29: 148–150CrossRefGoogle 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–914Google Scholar
- Brown MR, Tarjan RE (1980) Design and analysis of a data structure for representing sorted lists. SIAM J Comput 9: 594–614CrossRefGoogle Scholar
- Chazelle B (1982) A theorem on polygon cutting with applications. 23rd Annual IEEE Symposium on Foundations of Computer Science, pp 339–349Google Scholar
- Chu WH, Lee DT (1983) The hidden line elimination problem revisited. Proc Internat Conf on Advanced Automation, Taipei, Taiwan (December 1983), pp 469–480Google Scholar
- Chavátal V (1975) A Combinatorial theorem in plane geometry. J Comb Theory [Ser B] 18: 39–41CrossRefGoogle Scholar
- Chazelle B, Guibas LJ (1985) Visibility and intersection problems in plane geometry. Proc Symposium on Computational Geometry, Baltimore (June 1985) pp 135–146Google Scholar
- 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. 738Google Scholar
- Davis L, Benedikt M (1979) Computational models of space: Isovists and isovist fields. Comp Graphics and Image Proc. 11: 49–72Google Scholar
- Edelsbrunner H (1983) Problem P 36. Bull. EATCS 21 (October 1983), pp 195Google Scholar
- ElGindy H (1980) Visibility in polygons with applications. M Sc Thesis (November 1980) School of Computer Science, McGill UniversityGoogle Scholar
- ElGindy H (1985) Hierarchical decomposition of polygons with applications. Ph D Thesis May 1985, School of Computer Science, McGill UniversityGoogle Scholar
- ElGindy H, Avis D (1981) A finear algorithm for computing the visibility polygon from a point J Algorithms 2: 180–197CrossRefGoogle Scholar
- ElGindy H, Avis D, Toussaint GT (1983) Applications of a two-dimensional hidden-line algorithm to other geometric problems. Computing 31: 191–202Google Scholar
- Freeman H, Loutrel PP (1967) An algorithm for the two-dimensional ‘hiden line’ problem”. IEEE Trans Electronic Computers EC-16(6): 784–790Google Scholar
- Griffiths JG (1978) Bibliography of hidden-line and hidden-surface algorithms. Computer Aided Design 10(3): 203–206CrossRefGoogle 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)Google Scholar
- Garey MR, Johnson DS, Preparata FP, Tarjan RE (1978) Triangulating a simple polygon. Int Proc Lett 7: 175–179CrossRefGoogle Scholar
- Hightower DW (1969) A solution to line-routing problems on the continuous plane. Proc of Design Automation Workshop, pp 1–24Google Scholar
- Hoffmann K, Mehlhorn K (1984) Intersecting a line and a simple polygon. Bull EATCS 22 (February 1984), pp 120–121Google 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–203Google Scholar
- Huddleston S, Mehlhorn K (1982) A new data structure for representing sorted lists. Acta Inf 17: 157–184CrossRefGoogle Scholar
- Knuth DE (1973) The art of computer programming, vol III: Sorting and searching, Addison-Wesley, Reading, MassGoogle Scholar
- Lee DT (1983) Visibility of a simple polygon. Comput Vision, Graphics and Imagae Processing 22 207–221Google Scholar
- Lee DT, Lin A (1984) Computing the visibility polygon from an edge. Tech Rep, Northwestern UniversityGoogle Scholar
- Lee DT, Preparata FP (1979) An optimal algorithm for finding the kernel of a polygon. J ACM 26(3): 415–421CrossRefGoogle Scholar
- Lee DT, Preparata FP (1984) Euclidean shortest paths in the presence of rectilinear barriers. Networks 14: 393–410Google Scholar
- Lozano-Perez T, Wesley M (1979) An algorithm for planning collision-free paths among polyhedral obstacles. Commun ACM 22: 560–570CrossRefGoogle Scholar
- Mater D, Salveter C (1981) Hysterical B-trees. Inf Proc Lett 12: 199–202CrossRefGoogle Scholar
- Mehlhorn K (1984) Data structures and efficient algorithms, vol 1: Sorting and searching, Springer VerlagGoogle Scholar
- Melkman AA (1985) On computing the visibility polygon from a point. Tech Rep (April 1985) CS-85-260, Ben Gurion University, IsraelGoogle Scholar
- Nilsson NJ (1969) A mobile automaton: An application of artificial intelligence techniques. Proc IJCAI-69, pp 509–520Google Scholar
- Preparata FP, Shamos MI (1985) Computational geometry: An introduction. Springer-Verlag pp 160–165Google Scholar
- Rappaport D (1986) A linear algorithm for eliminating hidden line from a polygonal cyclinder. The Visual Computer, 2: 44–53CrossRefGoogle Scholar
- Rappaport D, Toussaint GT (1985) A simple linear hidden-line algorithm for star-shaped polygons. Pattern Recognition Lett 3: 35–39CrossRefGoogle Scholar
- Rohnert H (1985) Shortest paths in the plane with convex polygonal obstacles. Tech Rep A 85/06, University of SaarbrükkenGoogle Scholar
- Shamos MI (1977) Problems in computational geometry. Carnegie Mellon UniversityGoogle Scholar
- Shapiro LG, Haralick RM (1980) Algorithms for inexact matching. Proc 5th Internat Conf on Pattern Recognition, Miami Beach, pp 202–207Google Scholar
- 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–20Google Scholar
- Suri S, O'Rourke J (1985) Worst-case optimal algorithms for constructing visibility polygons with holes. Tech Rep (August 1985) JHU/EECS-1985/12Google Scholar
- Sack JR, Toussaint GT (1984) Translating polygons in the plane. Tech Rep SCS-TR-47 (March 1984) Carleton UniversityGoogle Scholar
- Stoer J, Witzgall C (1970) Convexity and optimization in finite dimensions I. Springer-VerlagGoogle Scholar
- Toussaint GT (1980) Pattern recognition and geometrical complexity. Proc 5th Internat Conf on Pattern Recognition (December 1980) Miami Beach, FLGoogle Scholar
- Toussaint GT (1983) Solving geometric problems with the rotating calipers. Proc MELECON '83, Athens, GreeceGoogle Scholar
- 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 LettGoogle Scholar
- Toussaint GT (1985) Shortest path solves translation separability of polygons. Tech Rep SOCS-85.27. (October 1985) McGill UniversityGoogle Scholar
- 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 UniversityGoogle Scholar
- Toussaint GT, ElGindy H (1984) Separation of two monotone polygons in linear time. Robotica 2:215–220Google 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–163Google Scholar
- 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–388Google Scholar
- Tarjan RE, Van Wyk C (submitted) An
*O*(*n*loglog*n*)-time algorithm for triangulating simple polygons. SIAM J ComputGoogle Scholar - Yao FF (1983) On the priority approach to hidden surface algorithms. Proc 21st Annual Symposium on Foundations of Computer Science (October 1983), pp 301–307Google Scholar