Discrete & Computational Geometry

, Volume 16, Issue 4, pp 419–453 | Cite as

Topologically sweeping visibility complexes via pseudotriangulations

  • M. Pocchiola
  • G. Vegter


This paper describes a new algorithm for constructing the set of free bitangents of a collection ofn disjoint convex obstacles of constant complexity. The algorithm runs in timeO(n logn + k), where,k is the output size, and uses,O(n) space. While earlier algorithms achieve the same optimal running time, this is the first optimal algorithm that uses only linear space. The visibility graph or the visibility complex can be computed in the same time and space. The only complicated data structure used by the algorithm is a splittable queue, which can be implemented easily using red-black trees. The algorithm is conceptually very simple, and should therefore be easy to implement and quite fast in practice. The algorithm relies on greedy pseudotriangulations, which are subgraphs of the visibility graph with many nice combinatorial properties. These properties, and thus the correctness of the algorithm, are partially derived from properties of a certain partial order on the faces of the visibility complex.


Tangent Line Visibility Complex Visibility Graph Cusp Point Split Operation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    J. Abello and K. Kumar. Visibility graphs and oriented matroids. In R. Tamassia and I. G. Tollis, editors,Graph Drawing (Proc. GD '94), pages 147–158. Lecture Notes in Computer Science, volume 894, Springer-Verlag, Berlin, 1995.Google Scholar
  2. 2.
    P. K., Agarwal, N. Alon, B. Aronov, and S. Suri. Can visibility graphs be represented compactly?Discrete Comput. Geom., 12:347–365, 1994.zbMATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    C. Aragon and R. Seidel. Randomized search trees.Proc. 30th Ann. IEEE Symp. on Foundations of Computer Science, pages 540–545, 1989.Google Scholar
  4. 4.
    T. Asano, T. Asano, L. Guibas, J. Hershberger, and H. Imai. Visibility of disjoint polygons.Algorithmica, 1:49–63, 1986.zbMATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    B. Chazelle and H. Edelsbrunner. An optimal algorithm for intersecting line segments in the plane.J. Assoc. Comput. Mach., 39:1–54, 1992.zbMATHMathSciNetGoogle Scholar
  6. 6.
    C. Coullard and A. Lubiw. Distance visibility graphs.Internat. J. Comput. Geom. Appl., 2:349–362, 1992.zbMATHCrossRefMathSciNetGoogle Scholar
  7. 7.
    F. Durand and C. Puech. The visibility complex made visibly simpleVideo, Proc. 11th Ann. ACM Symp. on Computational Geometry, page V2, Vancouver, 1995.Google Scholar
  8. 8.
    H. Edelsbrunner and L. J. Guibas. Topologically sweeping an arrangement.J. Comput. System Sci., 38: 165–194, 1989. Corrigendum in 42:249–251, 1991.zbMATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    H. N. Gabow and R. E. Tarjan. A linear-time algorithm for a special case of disjoint set union.J. Comput. System Sci., 30:209–221, 1985.zbMATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    S. K. Ghosh and D. M. Mount. An output-sensitive algorithm for computing visibility graphs.SIAM J. Comput., 20:888–910, 1991.zbMATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    L. J. Guibas and J. Hershberger. Computing the visibility graph ofn line segments inO(n2) time.Bull. EATCS, 26:13–20, 1985.Google Scholar
  12. 12.
    J. Hershberger. An optimal visibility graph algorithm for triangulated simple polygons.Algorithmica, 4:141–155, 1989.zbMATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    K. Hoffmann, K. Mehlhorn, P. Rosenstiehl, and R. E. Tarjan. Sorting Jordan sequences in linear time using level-linked search trees.Inform. and Control, 68:170–184, 1986.zbMATHCrossRefMathSciNetGoogle Scholar
  14. 14.
    S. Kapoor and S. N. Maheshwari. Efficient algorithms for euclidean shortest paths and visibility problems with polygonal obstacles.Proc. 4th Ann. ACM Symp. Computational Geometry, pages 178–182, 1988.Google Scholar
  15. 15.
    D. E. Knuth.The Art of Computer Programming: Fundamental Algorithms, second edition. World Student Series Edition. Addison-Wesley, Reading, MA, 1973.Google Scholar
  16. 16.
    D. E. Knuth. «Literate Programming». Center for Study of Language and Information, Lectures Notes, volume 27, 1992.Google Scholar
  17. 17.
    B. Korte, L. Lovász, and R. Schrader.Greedoids. Algorithms and Combinatorics, Number 4. Springer-Verlag, Berlin, 1991.zbMATHGoogle Scholar
  18. 18.
    T. Lozano-Pérez and M. A. Wesley. An algorithm for planning collision-free paths among polyhedral obstacles.Commun. ACM, 22(10):560–570, 1979.CrossRefGoogle Scholar
  19. 19.
    P. McMullen. Modern developments in regular polytopes. In T. Bisztriczky, P. McMullen, R. Schneider, and A. Ivić Weiss, editors,Polytopes: Abstract, Convex and Computational, pages 97–124. NATO ASI Series, volume 440. Kluwer, Dordrecht, 1994.Google Scholar
  20. 20.
    K. Mehlhorn.Data Structures and Algorithms 1: Sorting and Searching. EATCS Monographs on Theoretical Computer Science, volume 1. Springer-Verlag, Berlin, 1984.zbMATHGoogle Scholar
  21. 21.
    B. M. E. Moret and H. D. Shapiro,Algorithms from P to NP, volume I. Benjamin/Cummings, Redwood City, CA, 1990.zbMATHGoogle Scholar
  22. 22.
    J. O'Rourke. Computational geometry column 18.Internat. J. Comput. Geom. Appl., 3(1):107–113, 1993.zbMATHCrossRefMathSciNetGoogle Scholar
  23. 23.
    M. H. Overmars and E. Welzl. New methods for computing visibility graphs.Proc. 4th Ann. ACM Symp. on Computational Geometry, pages 164–171, 1988.Google Scholar
  24. 24.
    M. Pocchiola and G. Vegter. The visibility complex.Proc. 9th Ann. ACM Symp. on Computational Geometry, pages 328–337, 1993. Full version to appear inInternat. J. Comput. Geom. Appl., 1996.Google Scholar
  25. 25.
    M. Pocchiola and G. Vegter. Order types and visibility types of configurations of disjoint convex plane sets (extented abstract). Technical Report 94-4, Labo. d'Inf. de l'ENS, Paris, January 1994.Google Scholar
  26. 26.
    M. Pocchiola and G. Vegter. Minimal tangent visibility graphs.Comput. Geom. Theory Appl., 1996. To appear.Google Scholar
  27. 27.
    H. Rohnert. Time and space efficient algorithms for shortest paths between convex polygons.Inform. Process. Lett., 27:175–179, 1988.zbMATHCrossRefMathSciNetGoogle Scholar
  28. 28.
    R. P. Stanley.Enumerative Combinatorics, volume 1. Wadsworth & Brooks/Cole, Monterey, CA, 1986.zbMATHGoogle Scholar
  29. 29.
    S. Sudarshan and C. P. Rangan. A fast algorithm for computing sparse visibility graphs.Algorithmica, 5:201–214, 1990.zbMATHCrossRefMathSciNetGoogle Scholar
  30. 30.
    E. Welzl. Constructing the visibility graph ofn line segments in the plane.Inform. Process. Lett., 20: 167–171, 1985.zbMATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag New York Inc 1996

Authors and Affiliations

  • M. Pocchiola
    • 1
  • G. Vegter
    • 2
  1. 1.Départment de Mathématiques et InformatiqueEcole normale supérieureParis Cedex 05France
  2. 2.University of GroningenDepartment of Mathematics and Computer ScienceGroningenThe Netherlands

Personalised recommendations