Abstract

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.Keywords Cgal librarycomputational geometryarrangementscurvestriangulationshigh-dimensional geometry

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call