C++ library of computational geometry and geometry processing

CGAL is a software library that offers a number of reliable geometric data structures and algorithms. CGAL components operate in 2D and 3D, and sometime in arbitrary dimensions. Examples of components include convex hulls, convex decomposition, Delaunay triangulations, Voronoi diagrams, polygonal surface mesh data-structures, mesh generation, Boolean operations, envelope computations, intersection detection, surface reconstruction, and subdivision surfaces.

CGAL is used in a variety of application domains such as CAD/CAM (computer aided design and modeling), GIS (geographic information systems), geophysics, image processing, molecular biology, robotics, motion planning, and graphics.

CGAL is written in C++ and rigorously adheres to the generic-programming paradigm.

CGAL became an Open Source project in 2003. Most of CGAL is under the GPL v3+ license, and some core parts are under the LGPL v3+. The semi-annual releases have currently about 10,000 downloads. CGAL is commercially supported by the spin-off company GeometryFactory.

lightbulb_outline View ideas list


  • c/c++
  • qt


email Mailing list
mail_outline Contact email

CGAL Project 2021 Projects

  • Antonio Gomes
    3D Barycentric Coordinates for Convex Polyhedra with Triangular Faces
    For this project, I would like to implement 3D Barycentric Coordinates for Convex Polyhedra with Triangular Faces, which is one of the ideas for this...
  • Kabir
    Finalizing the 2D Regularized Boolean Set Operations Demo
    The Computational Geometry Algorithm’s Library has a program that demonstrates the package named '2D Regularized Boolean Set Operations'. This...
  • Julian Komaromy
    Mesh Decimation using Probabilistic Quadrics
    CGAL currently supports the decimation of triangular meshes using two distinct strategies: Lindstrom-Turk and Garland-Heckbert. These strategies...
  • aniket agarwalla
    Moving Least Squares for point set smoothing and differential properties estimation
    The goal of this project is to add Moving Least Squares surface reconstruction algorithms to the point set processing component. This family of...
  • Jackson Campolattaro
    SIMD Optimized AABB Tree
    CGAL’s Axis-Aligned Bounding Box Tree is an acceleration structure which speeds up common tasks such as collision-detection. It is used both directly...