Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. C/C++
  3. CGAL

CGAL

NOASSERTIONC++v6.2

A C++ library providing efficient and reliable algorithms for computational geometry problems.

Visit WebsiteGitHubGitHub
6.0k stars1.6k forks0 contributors

What is CGAL?

CGAL (Computational Geometry Algorithms Library) is a comprehensive C++ library that provides efficient and reliable implementations of computational geometry algorithms. It solves complex geometric problems including convex hull computation, triangulation, Voronoi diagram generation, and mesh processing. The library is designed to handle numerical precision issues and degenerate cases that commonly arise in geometric computations.

Target Audience

C++ developers working in fields requiring geometric computations such as computer graphics, CAD software, GIS applications, robotics, scientific visualization, and computational mathematics. Researchers and engineers who need robust geometric algorithms for their projects.

Value Proposition

Developers choose CGAL because it provides mathematically correct, industrial-strength implementations of complex geometric algorithms that are difficult to implement correctly from scratch. Its header-only design since version 5.0 simplifies integration, while its modular structure allows using only the needed components without unnecessary dependencies.

Overview

The public CGAL repository, see the README below

Use Cases

Best For

  • Computing convex hulls of point sets in 2D and 3D
  • Generating Delaunay triangulations and Voronoi diagrams
  • Mesh generation and processing for scientific simulations
  • Geometric intersection and proximity queries
  • Polygon decomposition and boolean operations
  • Surface reconstruction from point clouds

Not Ideal For

  • Projects targeting web or mobile platforms without C++ compilation toolchains
  • Rapid prototyping in interpreted languages like Python where libraries such as Shapely offer quicker iteration
  • Applications with strict real-time performance requirements where library overhead is prohibitive
  • Teams lacking expertise in C++ template metaprogramming and computational geometry fundamentals

Pros & Cons

Pros

Header-Only Simplicity

Since version 5.0, CGAL is header-only, eliminating build steps and simplifying integration into C++ projects, as highlighted in the README.

Extensive Algorithm Library

Provides robust implementations of key algorithms like convex hulls and Voronoi diagrams, essential for graphics, CAD, and GIS applications.

Robust Geometric Kernels

Offers multiple kernels to balance precision and performance, ensuring reliable handling of degenerate cases and numerical issues.

Modular Package Design

Organized into specialized packages, allowing developers to include only necessary components, reducing bloat and improving maintainability.

Cons

Complex Template Usage

Heavy reliance on C++ templates results in verbose code and challenging debug messages, requiring advanced C++ skills.

Compilation Overhead

Being header-only can lead to long compilation times and large binary sizes when including multiple geometric packages.

Limited Multi-Language Support

Primarily a C++ library with no official bindings, making it unsuitable for projects using Python, JavaScript, or other languages.

Frequently Asked Questions

Quick Stats

Stars5,986
Forks1,583
Contributors0
Open Issues505
Last commit1 day ago
CreatedSince 2014

Tags

#scientific-computing#geometry-processing#template-library#geometry-algorithms#library#mesh-generation#geometry#triangulation#c-plus-plus#cgal#header-only-library#voronoi-diagrams#algorithms#computer-graphics#cpp#computational-geometry

Built With

C
CMake
C
C++

Links & Resources

Website

Included in

C/C++70.6k
Auto-fetched 18 hours ago

Related Projects

DLIBDLIB

A toolkit for making real world machine learning and data analysis applications in C++

Stars14,429
Forks3,447
Last commit2 days ago
OpenGL MathematicsOpenGL Mathematics

OpenGL Mathematics (GLM)

Stars11,107
Forks2,396
Last commit3 months ago
OpenBLASOpenBLAS

OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.

Stars7,528
Forks1,701
Last commit1 day ago
QuantLibQuantLib

The QuantLib C++ library

Stars7,389
Forks2,262
Last commit1 day ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub