Abstract
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.
Article PDF
Similar content being viewed by others
References
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.
P. K., Agarwal, N. Alon, B. Aronov, and S. Suri. Can visibility graphs be represented compactly?Discrete Comput. Geom., 12:347–365, 1994.
C. Aragon and R. Seidel. Randomized search trees.Proc. 30th Ann. IEEE Symp. on Foundations of Computer Science, pages 540–545, 1989.
T. Asano, T. Asano, L. Guibas, J. Hershberger, and H. Imai. Visibility of disjoint polygons.Algorithmica, 1:49–63, 1986.
B. Chazelle and H. Edelsbrunner. An optimal algorithm for intersecting line segments in the plane.J. Assoc. Comput. Mach., 39:1–54, 1992.
C. Coullard and A. Lubiw. Distance visibility graphs.Internat. J. Comput. Geom. Appl., 2:349–362, 1992.
F. Durand and C. Puech. The visibility complex made visibly simpleVideo, Proc. 11th Ann. ACM Symp. on Computational Geometry, page V2, Vancouver, 1995.
H. Edelsbrunner and L. J. Guibas. Topologically sweeping an arrangement.J. Comput. System Sci., 38: 165–194, 1989. Corrigendum in 42:249–251, 1991.
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.
S. K. Ghosh and D. M. Mount. An output-sensitive algorithm for computing visibility graphs.SIAM J. Comput., 20:888–910, 1991.
L. J. Guibas and J. Hershberger. Computing the visibility graph ofn line segments inO(n2) time.Bull. EATCS, 26:13–20, 1985.
J. Hershberger. An optimal visibility graph algorithm for triangulated simple polygons.Algorithmica, 4:141–155, 1989.
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.
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.
D. E. Knuth.The Art of Computer Programming: Fundamental Algorithms, second edition. World Student Series Edition. Addison-Wesley, Reading, MA, 1973.
D. E. Knuth. «Literate Programming». Center for Study of Language and Information, Lectures Notes, volume 27, 1992.
B. Korte, L. Lovász, and R. Schrader.Greedoids. Algorithms and Combinatorics, Number 4. Springer-Verlag, Berlin, 1991.
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.
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.
K. Mehlhorn.Data Structures and Algorithms 1: Sorting and Searching. EATCS Monographs on Theoretical Computer Science, volume 1. Springer-Verlag, Berlin, 1984.
B. M. E. Moret and H. D. Shapiro,Algorithms from P to NP, volume I. Benjamin/Cummings, Redwood City, CA, 1990.
J. O'Rourke. Computational geometry column 18.Internat. J. Comput. Geom. Appl., 3(1):107–113, 1993.
M. H. Overmars and E. Welzl. New methods for computing visibility graphs.Proc. 4th Ann. ACM Symp. on Computational Geometry, pages 164–171, 1988.
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.
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.
M. Pocchiola and G. Vegter. Minimal tangent visibility graphs.Comput. Geom. Theory Appl., 1996. To appear.
H. Rohnert. Time and space efficient algorithms for shortest paths between convex polygons.Inform. Process. Lett., 27:175–179, 1988.
R. P. Stanley.Enumerative Combinatorics, volume 1. Wadsworth & Brooks/Cole, Monterey, CA, 1986.
S. Sudarshan and C. P. Rangan. A fast algorithm for computing sparse visibility graphs.Algorithmica, 5:201–214, 1990.
E. Welzl. Constructing the visibility graph ofn line segments in the plane.Inform. Process. Lett., 20: 167–171, 1985.
Author information
Authors and Affiliations
Additional information
A preliminary version of this work appeared in theProceedings of the 11th Annual ACM Symposium on Computational Geometry, Vancouver, June 1995, pages 248–257.
Rights and permissions
About this article
Cite this article
Pocchiola, M., Vegter, G. Topologically sweeping visibility complexes via pseudotriangulations. Discrete Comput Geom 16, 419–453 (1996). https://doi.org/10.1007/BF02712876
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF02712876