awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
libigl avatar

libigl/libigl

0
View on GitHub↗
5,030 stars·1,216 forks·C++·GPL-3.0·48 viewslibigl.github.io/libigl↗

Libigl

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 mesh picking.

The library covers a broad range of capabilities including geometry analysis for curvature and geodesic distances, mesh generation via iso-surface extraction and triangulation, and remeshing through anisotropic warping. It further supports boolean mesh operations, surface parametrization, and numerical optimization for solving Laplace equations and quadratic programs.

The toolkit includes utilities for importing and exporting various 3D geometry formats and supports interoperability with Matlab for executing scripts and sharing matrices.

Features

  • Geometry Processing Libraries - A collection of tools for analyzing and manipulating 3D triangle and tetrahedral meshes using linear algebra.
  • Surface and Volume Meshes - The product creates 3D tetrahedralizations of a given volume or point set.
  • Finite Element Operators - The product builds sparse operators and finite-element matrices for mesh analysis.
  • Boolean Mesh Operations - Computes unions, intersections, and differences of triangle meshes using robust mesh arrangements.
  • Constrained Delaunay Triangulations - Generates high-quality 2D or 3D meshes while preserving specified boundary edges.
  • Rigid-As-Possible Deformations - The product implements deformation by optimizing local rotations and global positions to maintain surface structure.
  • Mesh Exporters - Reads and writes 3D geometry across various industry formats including OBJ, OFF, STL, and PLY.
  • Mesh Manipulation Toolkits - A toolkit for performing boolean operations, decimation, remeshing, and surface parameterization on 3D geometry.
  • Triangle Mesh Data Structures - The product organizes and accesses facets and edges within a triangle mesh using specialized data structures.
  • Volumetric Mesh Extraction - The product generates triangle meshes from 3D scalar fields using Marching Cubes or Marching Tetrahedra.
  • PDE-Based Mesh Deformations - Solves partial differential equations to propagate handle transformations and maintain surface continuity during deformation.
  • Surface Normal Computations - Calculates and visualizes vertex or face normals for rendering and geometric analysis.
  • Laplace-Beltrami Operators - Computes surface curvature and smoothing using cotangent-based discretization of the Laplace-Beltrami operator.
  • Linear Algebra Libraries - Implements high-performance numerical operations and sparse system solving using a template-based matrix library.
  • Linear Algebra Routines - Performs high-level linear algebra operations on vertex and face matrices.
  • Sparse Matrix Manipulations - Implements sparse matrix operations including the removal of diagonals and repetition of matrix patterns.
  • Iterative Constraint Projection - The product projects points onto non-linear constraints using a local-global iterative framework.
  • Header-Only Libraries - Provides source code primarily in headers to simplify integration and enable compiler optimizations.
  • Mesh Subdivision - The product increases mesh resolution using in-plane upsampling, Loop smoothing, or barycentric subdivision.
  • 3D Mesh Quality Analysis - Computes face angles and areas to evaluate mesh regularity and isometry.
  • Interactive Mesh Viewers - A viewer for rendering surfaces and scalar fields with interactive camera controls and mesh picking.
  • CSG Engines - Represents complex shapes as a hierarchy of boolean operations to maintain precision.
  • Dual Quaternion Skinning - The product deforms meshes using dual quaternion blending to avoid joint collapse artifacts.
  • Field-Aligned Remeshing - The product generates non-uniform quad meshes by warping the surface according to a frame field.
  • Tangent Field Generation - The product generates rotationally symmetric vector fields to guide quadrilateral and hexahedral remeshing.
  • Generalized Winding Numbers - Determines if a point is inside a non-manifold mesh by calculating the generalized winding number.
  • Skinning Optimizations - The product accelerates non-linear deformation by optimizing over a low-dimensional subspace of weights.
  • Smoothing Algorithms - The product removes artifacts from piecewise-constant weights using precomputed Laplacian deltas.
  • Mesh Simplification - The product simplifies meshes by iteratively collapsing edges based on cost and placement criteria.
  • Laplacian Surface Smoothing - Flows a surface along its mean curvature normal to minimize area using the cotangent operator.
  • Detail Restoration - The product restores high-frequency detail to smoothed deformations using precomputed local coordinate frames.
  • Mesh Planarization - The product transforms a quadrilateral mesh into a planar one using a local-global iterative approach.
  • Ray-Mesh Intersection Tests - The product performs high-performance intersection tests between rays and 3D geometry.
  • Dynamic AABB Trees - Uses axis-aligned bounding box hierarchies to accelerate distance queries and ray-mesh intersections.
  • Surface Curvature Analysis - Computes Gaussian and mean curvature and determines principal directions using quadric fitting.
  • Surface Parametrizations - The product maps 3D meshes to 2D UV planes using harmonic or as-rigid-as-possible algorithms.
  • Sparse Matrix Diagonal Operations - Retrieves the main diagonal of sparse matrices as vectors or constructs square matrices from diagonals.
  • Barycentric Coordinate Generation - The product generates generalized barycentric coordinates that retain affine precision for cage-based deformation.
  • Biharmonic Weight Computations - The product calculates weights for mesh processing using biharmonic operators to ensure smooth transitions.
  • Signed Distance Fields - The product performs accelerated distance and inclusion queries using an axis-aligned bounding box hierarchy.
  • Geodesic Distance Computations - Calculates the shortest path distance between points on a surface using exact or heat-method algorithms.
  • Index Mapping - Reorders or selects matrix elements using an index map column vector.
  • Extrema Identification - Locates the maximum or minimum coefficients within a matrix and identifies their subscripts.
  • Matrix Slicing - Enables reading or writing non-contiguous sub-matrices using index lists or boolean masks.
  • Mesh Spectral Analysis - Extracts eigen pairs of the generalized eigenvalue problem to analyze low-frequency modes.
  • Partial Differential Equation Solvers - The product computes vertex values for the Laplace equation using sparse linear systems.
  • Quadratic Programming Solvers - The product minimizes quadratic energy subject to constraints using an active set solver.
  • Scalar Field Visualization - Visualizes scalar data on mesh vertices and faces using interpolating fragment shaders and colormaps.
  • Winding Number Inclusion Tests - Distinguishes the inside from the outside of non-manifold meshes using generalized winding numbers.
  • Geometry Processing - Simple library for geometry processing.
  • Graphics and Rendering - Simple library for geometry processing tasks.
  • Graphics Rendering - Simple library for geometry processing.
  • Media & Communication - Geometry processing library

Star history

Star history chart for libigl/libiglStar history chart for libigl/libigl

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Libigl

These projects share indexed features with Libigl. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • nmwsharp/geometry-centralnmwsharp avatar

    nmwsharp/geometry-central

    1,320View on GitHub↗

    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

    C++
    View on GitHub↗1,320
  • openmathlib/openblasOpenMathLib avatar

    OpenMathLib/OpenBLAS

    7,470View on GitHub↗

    OpenBLAS is a high-performance implementation of the Basic Linear Algebra Subprograms standard designed for numerical computing and matrix operations. It serves as a hardware-accelerated numerical library and optimized math kernel library, providing a computational engine for large-scale matrix multiplication and vector operations. The library distinguishes itself through the use of hand-tuned assembly kernels and SIMD instruction mapping, such as AVX and SVE, to maximize floating-point performance on specific CPU architectures. It features a multi-threaded framework that manages parallel exe

    Cblaslapacklapacke
    View on GitHub↗7,470
  • reference-lapack/lapackReference-LAPACK avatar

    Reference-LAPACK/lapack

    1,808View on GitHub↗

    LAPACK is a comprehensive library of Fortran routines designed for high-performance numerical analysis and linear algebra. It serves as a foundational scientific computing framework, providing standardized procedures for solving systems of linear equations, eigenvalue problems, and least squares approximations. The library distinguishes itself through a hierarchical routine abstraction that organizes mathematical operations into distinct levels of complexity. It utilizes block-partitioned matrix algorithms and a column-major memory layout to optimize data locality and hardware efficiency. By

    Fortranblaseigenvalueseigenvectors
    View on GitHub↗1,808
  • habrador/computational-geometryHabrador avatar

    Habrador/Computational-geometry

    1,465View on GitHub↗

    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

    C#beziercomputational-geometrycomputer-science
    View on GitHub↗1,465
Compare all 30 related projects→

Frequently asked questions

What does libigl/libigl do?

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.

What are the main features of libigl/libigl?

The main features of libigl/libigl are: Geometry Processing Libraries, Surface and Volume Meshes, Finite Element Operators, Boolean Mesh Operations, Constrained Delaunay Triangulations, Rigid-As-Possible Deformations, Mesh Exporters, Mesh Manipulation Toolkits.

Which projects share features with libigl/libigl?

Projects with overlapping indexed features include: nmwsharp/geometry-central — Geometry-central is a C++ framework designed for 3D geometry processing, surface analysis, and numerical computation.… openmathlib/openblas — OpenBLAS is a high-performance implementation of the Basic Linear Algebra Subprograms standard designed for numerical… reference-lapack/lapack — LAPACK is a comprehensive library of Fortran routines designed for high-performance numerical analysis and linear… habrador/computational-geometry — This project provides a collection of algorithmic implementations for computational geometry, focusing on spatial… joelgrus/data-science-from-scratch — This project is a collection of foundational machine learning algorithms and data science tools implemented in Python.… rust-ndarray/ndarray — ndarray is a multidimensional array library for Rust that serves as a linear algebra framework and scientific…