- CGAL
: The Computational Geometry Algorithms Library.
- cg3lib
: a GP library developed by the CG3HCI Group of the University of Cagliari.
- CinoLib
: a generic programming header-only C++ library for processing polygonal and polyhedral meshes.
- DGtal
- Easy3D
- Embree
: a ray tracing library with GP modules including geometry objects, ray/point queries, collision detection, BVH, etc.
- python bindings in Open3D and others.
- Euclid
- Geogram
: contains the main results in GP from the former ALICE Inria project.
- Geometric Tools
: website
- Geometry Central
: doc
- GEOS
: Geometry Engine, Open Source. Computational geometry library with a focus on algorithms used in geographic information systems (GIS). website
- gproshan
: using Compact Half–Edge (CHE) data structure.
- gptoolbox
- gpytoolbox
- Graphite
: an experimental 3D modeler, built around geogram.
- GTS
: GNU Triangulated Surface Library.
- GUDHI
: Geometry Understanding in Higher Dimensions, a generic open source library for Topological Data Analysis (TDA).
- Hugues Hoppe's library
: libraries and programs demonstrating mesh processing research published in ACM SIGGRAPH (1992-1998)
- Lagrange (Adobe)
: A robust GP library. Doc.
- LibIGL
- Manifold
: a geometry library dedicated to creating and operating on manifold triangle meshes.
- MatGeom
: Matlab geometry toolbox for 2D/3D geometric computing.
- MeshLab
- MeshLib
by MeshInspector.
- MeshPipe : a python-based tool for easy automation and demonstration of GP pipelines (Fons et al., 2020).
- MeshUtility
- MPI-IS Mesh
- Numerical Tours
: includes some topics about mesh processing, mesh parameterization and deformation, and multiscale mesh processing. website
- Open3D
- OpenGeode
: doc
- OpenGP
: deprecated.
- OpenMesh
: Half-edge data structure for surface meshes.
- OpenVDB
: Sparse volume data structure and tools
- OpenVolumeMesh
: a data structure for arbitrary polytopal meshes. Its concepts are closely related to OpenMesh.
- PMP Library
- Its prior work: Sieger and Botsch, 2011.
- Point Cloud Library (PCL)
- Point Cloud Utils (pcu)
: a utility library for 3D processing point clouds and triangle meshes.
- potpourri3d
: mainly bindings to C++ tools from geometry-central.
- PyMesh(2)
- Issue with Windows
- This is not PyMesh
- pyntcloud
: making point clouds fun again
- PyVista
- Shapely
: for manipulation and analysis of planar geometric objects.
- Thea
- trimesh
: documentation
- trimesh2
: different from the trimesh library above.
- TTK
: The Topology ToolKit for efficient, generic, and easy topological data analysis and visualization.
- UltiMaille
: allow representing: point set, polyline, triangles, quads, polygons, tetrahedra, hexahedra, wedges, pyramids.
- VCGLib
: used by MeshLab.
- vedo
: A python module for scientific analysis and visualization of 3d objects.
- VTK
: The Visualization Toolkit (VTK) is open source software for manipulating and displaying scientific data. It comes with state-of-the-art tools for 3D rendering, a suite of widgets for 3D interaction, and extensive 2D plotting capability.
- starlab
- OpenFlipper
- polyscope
: a 3D data viewer
- Some libraries in the general list above also include GUI or viewer.
more
- https://github.com/cg3hci/py3DViewer
- https://github.com/enthought/mayavi
- https://github.com/embree/embree
- https://github.com/mmatl/pyrender
- https://github.com/moderngl/moderngl
- http://pyopengl.sourceforge.net/
- https://pyglet.org/
- https://www.panda3d.org/ and other game engines.
- OGRE: https://github.com/OGRECave
- Quartet
- TetGen
: A quality tetrahedral mesh generator and a 3D Delaunay triangulator.
- Triangle
: A two-dimensional quality mesh generator and Delaunay triangulator.
- WildMeshing
- TriWild
TriWild: Robust Triangulation with Curve Constraints
- fTetWild
Fast Tetrahedral Meshing in the Wild
- wildmeshing-python
- TriWild
- jigsaw
: an unstructured mesh generator and tessellation library; designed to generate high-quality triangulations and polyhedral decompositions of general planar, surface, and volumetric domains.
- Gmsh
: A three-dimensional finite element mesh generator with built-in pre- and post-processing facilities.
- MeshPy
: Python interfaces to Triangle, TetGen, and gmsh.
- Voro++
: 3D computations of the Voronoi tessellation.
- scipy.spatial
: Delaunay triangulation, convex hulls, and Voronoi diagrams.
- Qhull
: Convex hull, Delaunay triangulation, Voronoi diagrams, Halfspace intersection
- Carve
- in PyMesh.
- CGAL:
- Co-refinement for boolean operations in Polygon Mesh Processing library
- 3D Boolean Operations on Nef Polyhedra.
- Clipper: clipping and offsetting 2D lines and polygons.
- Cork
- Geogram: tetrahedralize the meshes and compute the boolean operations between all tetrahedra. code.
- Interactive And Robust Mesh Booleans
: This code is subject to continuous updates. Cherchi et al., 2022.
- mcut
- MeshIntersection
- MeshLab
- Before v2021.05: based on resampling, Marching intersections. A more efficient approach based on LDNI.
- After v2021.07: based on libigl's implementation of Mesh arrangements for solid geometry.
- OpenSCAD
: creating solid 3D CAD objects. using CGAL for CSG evaluation, OpenCSG for CSG previews.
- QuickCSG
Survey paper: Crane et al., 2020
- PDE-based
- Heat method, Crane et al., 2013.
- Many implementations are available.
- Fast Marching
- In gproshan (CHE data structure). MeshUtility (OpenMesh data structure)
.
- Kimmel and Sethian 1998, implemented in pmp-library.
- In gproshan (CHE data structure). MeshUtility (OpenMesh data structure)
- Heat method, Crane et al., 2013.
- Window propagation
- MMP: an exact method proposed by Mitchell-Mount-Papadimitriou 1987
- CH: Chen and Han 1990
- ICH (Improved CH): Xin and Wang 2009
- VTP (Vertex-oriented Triangle Propagation)
- GSP (Geodesic Source Propagation). code in its supplemental material.
- Graph-based: SVG (Saddle Vertex Graph), DGG (Discrete Geodesic Graphs),
- Directional
: creating, manipulating, and visualizing directional fields on 3D meshes, based on both libigl and Eigen.
- mmg
: 2D and 3D surface and volume remeshing.
- ShapeOp
: discrete geometry shaping with projections.
- Draco: an open-source library for compressing and decompressing 3D geometric meshes and point clouds.
- Robust Geometric Predicates: adaptive precision floating-point arithmetic and fast robust predicates for computational geometry
- Polygon Mesh Processing: slides and code
- SGP Summer School Presentations: from 2016.
- Alec Jacobson's courses
- Geometric Computing with Python
- Discrete Differential Geometry by Keenan Crane
- Summer Geometry Initiative: by MIT
- alecjacobson/common-3d-test-models
- more links inside
- Data for machine learning
- SGP Software/Dataset Award List
- Mesh Repairing Software on the Web
- Graphics Replicability Stamp Initiative
- awesome point cloud processing
- Directory of Computational Geometry Software
- https://github.com/tensorush/Awesome-3D-Programming
- https://github.com/luisnts/awesome-computer-graphics
- https://github.com/waitin2010/awesome-computer-graphics
- https://github.com/jslee02/awesome-graphics-libraries
- https://github.com/ericjang/awesome-graphics
- https://github.com/eug/awesome-opengl
- https://github.com/zheng95z/fun-with-computer-graphics
- https://web.engr.oregonstate.edu/~zhange/hotlist.html