Abstract
Arrangements of planar curves are fundamental structures in computational geometry. We describe the recent developments in the arrangement package of Cgal, the Computational Geometry Algorithms Library, making it easier to use, to extend and to adapt to a variety of applications. This improved flexibility of the code does not come at the expense of efficiency as we mainly use generic-programming techniques, which make dexterous use of the compilation process. To the contrary, we expedited key operations as we demonstrate by experiments.
This work has been supported in part by the IST Programs of the EU as Shared-cost RTD (FET Open) Projects under Contract No IST-2000-26473 (ECG — Effective Computational Geometry for Curves and Surfaces) and No IST-2001-39250 (MOVIE — Motion Planning in Virtual Environments), by The Israel Science Foundation founded by the Israel Academy of Sciences and Humanities (Center for Geometric Computing and its Applications), and by the Hermann Minkowski–Minerva Center for Geometry at Tel Aviv University.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
The Cgal project homepage, http://www.cgal.org/
The Core library homepage, http://www.cs.nyu.edu/exact/core/
The Exacus homepage, http://www.mpi-sb.mpg.de/projects/EXACUS/
Generic programming techniques, http://www.boost.org/more/generic_programming.html
The GNU MP bignum library, http://www.swox.com/gmp/
The Leda homepage, http://www.algorithmic-solutions.com/enleda.htm
Cohen-Or, D., Lev-Yehudi, S., Karol, A., Tal, A.: Inner-cover of non-convex shapes. International Journal on Shape Modeling 9(2), 223–238 (2003)
de Berg, M., van Kreveld, M., Overmars, M., Schwarzkopf, O.: Computational Geometry: Algorithms and Applications, 2nd edn. Springer, Berlin (2000)
Devillers, O., Fronville, A., Mourrain, B., Teillaud, M.: Algebraic methods and arithmetic filtering for exact predicates on circle arcs. Comput. Geom. Theory Appl. 22(1-3), 119–142 (2002)
Duc, D.A., Ha, N.D., Hang, L.T.: Proposing a model to store and a method to edit spatial data in topological maps. Technical report, Ho Chi Minh University of Natural Sciences, Ho Chi Minh City, Vietnam (2001)
Fabri, A., Giezeman, G.-J., Kettner, L., Schirra, S., Schönherr, S.: On the design of Cgal, the Computational Geometry Algorithms Library. Software — Practice and Experience 30, 1167–1202 (2000)
Flato, E., Halperin, D., Hanniel, I., Nechushtan, O., Ezra, E.: The design and implementation of planar maps in Cgal. In: Vitter, J.S., Zaroliagis, C.D. (eds.) WAE 1999. LNCS, vol. 1668, pp. 154–168. Springer, Heidelberg (1999)
Fogel, E., et al.: An empirical comparison of software for constructing arrangements of curved arcs. Technical Report ECG-TR-361200-01, Tel-Aviv Univ. (2004)
Gerkey, B.: Visibility-based pursuit-evasion for searchers with limited field of view. In: Presented in the 2nd Cgal User Workshop (2004)
Halperin, D.: Arrangements. In: Goodman, J.E., O’Rourke, J. (eds.) Handbook of Discrete and Computational Geometry, ch. 24, 2nd edn., pp. 529–562. Chapman & Hall/CRC (2004)
Hanniel, I.: The design and implementation of planar arrangements of curves in Cgal. M.Sc. thesis, School of Computer Science, Tel Aviv University (2000)
Hanniel, I., Halperin, D.: Two-dimensional arrangements in Cgal and adaptive point location for parametric curves. In: Näher, S., Wagner, D. (eds.) WAE 2000. LNCS, vol. 1982, pp. 171–182. Springer, Heidelberg (2001)
Hert, S., Hoffmann, M., Kettner, L., Pion, S., Seel, M.: An adaptable and extensible geometry kernel. In: Brodal, G.S., Frigioni, D., Marchetti-Spaccamela, A. (eds.) WAE 2001. LNCS, vol. 2141, pp. 79–90. Springer, Heidelberg (2001)
Hirsch, S., Halperin, D.: Hybrid motion planning: Coordinating two discs moving among polygonal obstacles in the plane. In: Boissonnat, J.-D., Burdick, J., Goldberg, K., Hutchinson, S. (eds.) Algorithmic Foundations of Robotics V, pp. 239–255. Springer, Heidelberg (2003)
Kettner, L.: Using generic programming for designing a data structure for polyhedral surfaces. Comput. Geom. Theory Appl. 13, 65–90 (1999)
Keyser, J., Culver, T., Manocha, D., Krishnan, S.: Mapc: a library for efficient manipulation of algebraic points and curves. In: Proc. 15th Annu. ACM Sympos. Comput. Geom., pp. 360–369 (1999), http://www.cs.unc.edu/~geom/MAPC/
Mehlhorn, K., Näher, S.: Leda: A Platform for Combinatorial and Geometric Computing. Cambridge University Press, Cambridge (2000)
Myers, N.: Traits: A new and useful template technique. C++ Gems 17 (1995)
Rogol, V.: Maximizing the area of an axially-symmetric polygon inscribed by a simple polygon. Master’s thesis, Technion, Haifa, Israel (2003)
Schirra, S.: Robustness and precision issues in geometric computation. In: Sack, J.-R., Urrutia, J. (eds.) Handbook of Computational Geometry, pp. 597–632. Elsevier Science Publishers B.V, North-Holland (1999)
Wein, R.: High-level filtering for arrangements of conic arcs. In: Möhring, R.H., Raman, R. (eds.) ESA 2002. LNCS, vol. 2461, pp. 884–895. Springer, Heidelberg (2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Fogel, E., Wein, R., Halperin, D. (2004). Code Flexibility and Program Efficiency by Genericity: Improving Cgal ’s Arrangements. In: Albers, S., Radzik, T. (eds) Algorithms – ESA 2004. ESA 2004. Lecture Notes in Computer Science, vol 3221. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30140-0_59
Download citation
DOI: https://doi.org/10.1007/978-3-540-30140-0_59
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-23025-0
Online ISBN: 978-3-540-30140-0
eBook Packages: Springer Book Archive