Abstract
Cgal, the Computational Geometry Algorithms Library, provides easy access to efficient and reliable geometric algorithms. Since its first release in 1997, Cgal is reducing the the gap between theoretical algorithms and data structure and implementations that can be used in practical scenarios. Cgal’s philosophy dictates correct results for any given input, even if intermediate round-off errors occur. This is achieved by its design, which separates numerical constructions and predicates from combinatorial algorithms and data structures. A naive implementation of the predicates and constructions still leads to wrong results, but reliable versions are shipped with the library.
Cgal is successful in academic prototypical development and widely spread among industrial users. It follows the design principles of C++’s Standard Template Library. Cgal, now available in version 4.4, is already quite comprehensive. Nevertheless, it is still growing and improving.
We first introduce the library, its design and basics and then present major packages, such as triangulations and arrangements. We also illustrate showcases of how Cgal is used for real world applications asking for reliable geometric computing. The second part covers recent additions and contributions to the project: We discuss periodic and hyperbolic triangulations. The arrangement package has seen improvements for point location, rational functions and multi-part curves. It has also been extended with support for algebraic curves. This relies on several new packages that enable operations on (multivariate) polynomials and topology computation of such curves. Geometric objects in higher dimensions can now be represented using combinatorial maps; the instance for linear objects, namely the linear cell complex, is of particular interest. Cgal also provides data structures and algorithms for geometric sorting in arbitrary dimensions. Finally we present Cgal’s achievements to replace serial implementations with versions that support up-to-date multi-core architectures.
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
de Castro, P.M.M., Pion, S., Teillaud, M.: 2D circular geometry kernel. In: CGAL User and Reference Manual, 4.4 edn., CGAL Editorial Board (2014)
Berberich, E., Hemmer, M., Kerber, M.: A generic algebraic kernel for non-linear geometric applications. In: Hurtado, F., van Kreveld, M.J. (eds.) Symposium on Computational Geometry, pp. 179–186. ACM (2011)
Berberich, E., Hemmer, M., Kerber, M., Lazard, S., Peñaranda, L., Teillaud, M.: Algebraic kernel. In: CGAL User and Reference Manual, 4.4 edn., CGAL Editorial Board (2014)
Bogdanov, M., Devillers, O., Teillaud, M.: Hyperbolic delaunay complexes and voronoi diagrams made practical. In: da Fonseca, G.D., Lewiner, T., Peñaranda, L.M., Chan, T., Klein, R. (eds.) Symposium on Computational Geometry, pp. 67–76. ACM (2013)
Caroli, M., Teillaud, M.: 3D periodic triangulations. In: CGAL User and Reference Manual, 4.4 edn., CGAL Editorial Board (2014)
Chazelle, B.: The computational geometry impact task force report: An executive summary. In: Lin, M.C., Manocha, D. (eds.) FCRC-WS 1996 and WACG 1996. LNCS, vol. 1148, pp. 59–65. Springer, Heidelberg (1996)
Delage, C., Devillers, O.: Spatial sorting. In: CGAL User and Reference Manual, 4.4 edn., CGAL Editorial Board (2014)
Eigenwillig, A., Kerber, M.: Exact and efficient 2d-arrangements of arbitrary algebraic curves. In: Teng, S.-H. (ed.) SODA, pp. 122–131. SIAM (2008)
Fogel, E., Halperin, D., Wein, R.: CGAL Arrangements and Their Applications - A Step-by-Step Guide. Geometry and computing, vol. 7. Springer (2012)
Hanniel, I., Wein, R.: An exact, complete and efficient computation of arrangements of Bézier curves. IEEE T. Automation Science and Engineering 6(3), 399–408 (2009)
Hemmer, M., Kleinbort, M., Halperin, D.: Improved implementation of point location in general two-dimensional subdivisions. In: Epstein, L., Ferragina, P. (eds.) ESA 2012. LNCS, vol. 7501, pp. 611–623. Springer, Heidelberg (2012)
Kruithof, N.: 2D periodic triangulations. In: CGAL User and Reference Manual, 4.4 edn., CGAL Editorial Board (2014)
Pion, S., Teillaud, M.: 3D triangulation data structure. In: CGAL User and Reference Manual, 4.4 edn., CGAL Editorial Board (2014)
Pion, S., Teillaud, M.: 3D triangulations. In: CGAL User and Reference Manual, 4.4 edn., CGAL Editorial Board (2014)
Salzman, O., Hemmer, M., Raveh, B., Halperin, D.: Motion planning via manifold samples. Algorithmica 67(4), 547–565 (2013)
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)
Yvinec, M.: 2D triangulations. In: CGAL User and Reference Manual, 4.4 edn., CGAL Editorial Board (2014)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Berberich, E. (2014). CGAL – Reliable Geometric Computing for Academia and Industry. In: Hong, H., Yap, C. (eds) Mathematical Software – ICMS 2014. ICMS 2014. Lecture Notes in Computer Science, vol 8592. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-44199-2_31
Download citation
DOI: https://doi.org/10.1007/978-3-662-44199-2_31
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-44198-5
Online ISBN: 978-3-662-44199-2
eBook Packages: Computer ScienceComputer Science (R0)