For computational geometry, the first results are cgal/cgal (CGAL is a comprehensive computational geometry library offering robust algorithms for convex hulls, mesh generation, spatial data structures, and boolean polygon operations using exact arithmetic), habrador/computational-geometry (This project is a computational geometry library providing algorithms for polygon operations, convex hulls, and mesh generation, though it lacks dedicated spatial indexing features) and shapely/shapely (Shapely is a computational geometry library that provides Python bindings for planar geometric operations and spatial indexing, though it focuses on 2D GIS rather than 3D mesh generation). toblerity/shapely and nmwsharp/geometry-central round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
Compare open-source computational geometry algorithms on GitHub for spatial analysis, mesh processing, and geometric modeling.
CGAL is a software library that provides a comprehensive collection of computational geometry algorithms and data structures. It is built around a geometry kernel that defines fundamental geometric primitives and operations, enabling the construction of complex geometric objects and the computation of geometric predicates with exact arithmetic for reliable results. The library covers a wide range of geometric computation capabilities, including the construction of convex hulls, triangulations of point sets, and the generation of Voronoi diagrams. It also supports the processing of polygonal m
CGAL is a comprehensive computational geometry library offering robust algorithms for convex hulls, mesh generation, spatial data structures, and boolean polygon operations using exact arithmetic.
This project provides a collection of algorithmic implementations for computational geometry, focusing on spatial analysis, mesh construction, and geometric data processing. It serves as a toolkit for generating and manipulating complex shapes, surfaces, and spatial relationships within interactive three-dimensional applications. The library distinguishes itself through a suite of mathematical functions designed for procedural mesh generation and geometric partitioning. It includes specialized routines for calculating convex hulls, performing boolean operations on polygons, and detecting inte
This project is a computational geometry library providing algorithms for polygon operations, convex hulls, and mesh generation, though it lacks dedicated spatial indexing features.
Shapely is a library for the manipulation and analysis of planar geometric objects, serving as a Python wrapper for the GEOS C++ engine. It provides a framework for calculating geometric properties, evaluating spatial relationships, and performing topological predicates within a Cartesian plane. The project distinguishes itself through a vectorized geometry processor capable of executing spatial operations across large arrays of shapes to increase throughput. It also includes a spatial indexing system based on R-trees to accelerate the retrieval of intersecting geometries and nearest neighbor
Shapely is a computational geometry library that provides Python bindings for planar geometric operations and spatial indexing, though it focuses on 2D GIS rather than 3D mesh generation.
Shapely is a geometric analysis library for the manipulation and analysis of planar geometric objects. It functions as a computational geometry toolkit, a spatial predicate engine for evaluating topological relationships, and a vectorized geometry processor. The library distinguishes itself through a vectorized geometry processor capable of executing operations across coordinate arrays with multi-threaded parallel processing. It utilizes prepared geometry optimization to accelerate repeated containment and intersection tests and implements R-tree spatial indexing for efficient nearest-neighbo
Shapely is a computational geometry library providing tools for planar geometric manipulation, spatial predicates, convex hull computation, and spatial indexing, though it focuses primarily on 2D GIS and vector geometries rather than 3D meshes.
Geometry-central is a C++ framework designed for 3D geometry processing, surface analysis, and numerical computation. It provides a foundational toolkit for performing discrete differential geometry operations on manifold surface meshes, enabling the analysis and manipulation of complex 3D structures. The library distinguishes itself through its support for intrinsic triangulation processing, which allows for the execution of geometric algorithms independently of vertex positions to maintain stability under deformation. It utilizes a half-edge mesh representation to facilitate constant-time t
This repository is a C++ framework for 3D geometry processing and surface analysis that implements core spatial data structures like half-edge meshes and intrinsic triangulations, directly fitting the computational geometry library category even though it focuses primarily on mesh-based operations rather than general 2D polygon routines.
libigl is a C++ geometry processing library used for analyzing and manipulating 3D triangle and tetrahedral meshes. It functions as a numerical linear algebra suite and a mesh manipulation framework, integrating a geometric deformation engine to implement rigid and polyharmonic transformations. The project is distinguished by its header-only library design and its implementation of specialized deformation techniques, including rigid-as-possible and polyharmonic shape deformation. It also provides a visualization tool for rendering surfaces and scalar fields with interactive scene controls and
This C++ library provides comprehensive tools for mesh manipulation and geometry processing, fitting the required domain well despite lacking some broader spatial indexing features.
Paper.js is an HTML5 Canvas vector graphics library and scripting framework used for creating and manipulating 2D shapes and paths. It functions as a vector animation framework and a headless vector graphics engine, allowing for the execution of graphics operations in both browser and server-side environments. The project features a dedicated SVG import and export engine to convert between native vector items and the SVG format. It includes a specialized boolean path operation toolkit for uniting, subtracting, and intersecting vector paths to create complex geometric shapes. The library cove
Paper.js is a vector graphics and scripting framework that handles 2D path manipulation and boolean path operations, making it a suitable tool for basic computational geometry tasks on the web.
Instant Meshes is a 3D surface remesher and computational geometry tool designed to generate optimized polygonal grids over existing three-dimensional models. It functions as a field-aligned mesh generator that computes orientation and position fields to ensure the resulting mesh follows the geometric flow and contours of a target surface. The tool distinguishes itself through an interactive mesh editor that allows for the manual refinement of these mathematical fields. Users can employ brush tools to adjust orientation and position fields, steering the mesh topology in real time through iter
Instant Meshes is a computational geometry tool and 3D surface remesher that focuses specifically on field-aligned mesh generation, covering the mesh generation capability while leaving out other geometric primitives like broad polygon operations or spatial indexing.
Pywonderland is a Python mathematical visualization library and computational geometry framework designed to render geometric, algebraic, and topological objects. It provides a suite of tools for generating images and animations of complex mathematical structures through symbolic computation and numerical analysis. The project features specialized toolkits for rendering hyperbolic isometries in the Poincaré disk and upper-half space, projecting high-dimensional root systems onto Coxeter planes, and calculating catacaustics for parametric and implicit plane curves. It also includes a rendering
Pywonderland is a computational geometry and mathematical visualization framework in Python that renders complex geometric structures, though it focuses more on specialized visual simulations and tilings than a general-purpose geometric processing toolkit.
This repository provides a specialized algorithm for triangulation and polygon processing, making it a relevant building block for geometric problems although it lacks a comprehensive suite covering all spatial indexing and mesh generation features.
Simple and lightweight computational geometry library for .Net
This lightweight library provides basic computational geometry tools for .Net, though it lacks some of the advanced mesh generation and spatial indexing features required for a comprehensive solution.
Common Lisp package for simple two dimensional computational geometry.
This repository provides a Common Lisp package focused on two-dimensional computational geometry, serving as a language-specific building block for the requested spatial problem domain.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| cgal/cgal | 5.8K | C++ | other | |
| habrador/computational-geometry | 1.5K | C# | MIT | |
| shapely/shapely |
| 4.5K |
| Python |
| BSD-3-Clause |
| toblerity/shapely | 4.5K | Python | BSD-3-Clause |
| nmwsharp/geometry-central | 1.3K | C++ | MIT |
| libigl/libigl | 5K | C++ | GPL-3.0 |
| paperjs/paper.js | 15.1K | JavaScript | NOASSERTION |
| wjakob/instant-meshes | 6.1K | C++ | NOASSERTION |
| neozhaoliang/pywonderland | 4.2K | Python | MIT |
| ishape-rust/itriangle | 0 | — | — | — |