For geometric primitives, the strongest matches are cgal/cgal (CGAL is the industry-standard C++ library for computational geometry), xiangechen/chili3d (This is a browser-based CAD engine that provides robust) and libigl/libigl (This is a comprehensive geometry processing library that provides). paperjs/paper.js and cadquery/cadquery round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Find the best geometric primitive libraries for your project. Compare top-rated open-source tools by features and activity to find the best fit.
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 the industry-standard C++ library for computational geometry, providing a robust suite of tools for primitive generation, boolean operations, spatial indexing, and complex mesh processing.
Chili3D is a browser-based parametric 3D modeling tool that uses boundary representation (B-Rep) to define and manipulate precise solid geometry. It functions as a constructive solid geometry (CSG) engine, combining primitive shapes through union, difference, and intersection operations, while also serving as a parametric constraint system that maintains geometric relationships and dimensions through adjustable parameters. The software distinguishes itself by running entirely in a web browser without requiring installation, while providing industry-standard CAD file format support for importi
This is a browser-based CAD engine that provides robust support for primitive generation, boolean operations, and geometric manipulation, making it a highly capable tool for computational geometry tasks.
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 is a comprehensive geometry processing library that provides the core mesh manipulation, numerical linear algebra, and geometric deformation tools required for advanced computational geometry tasks.
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 robust 2D vector graphics library that provides essential computational geometry features like path manipulation, boolean operations, and hit detection, making it a strong fit for 2D-focused geometric tasks.
CadQuery is a programmatic 3D modeling library and parametric CAD framework that allows for the generation of complex geometric solids and assemblies using a fluent Python API. It functions as a B-Rep geometry engine, enabling the construction of models through code rather than a graphical user interface. The project is built on the Open CASCADE Technology kernel and utilizes a method-chaining API to link geometric commands in sequence. It distinguishes itself through a workplane-based coordinate system and a powerful selection system that uses topological and spatial filtering to target spec
CadQuery is a powerful programmatic CAD framework that provides robust geometric primitive generation, boolean operations, and mesh processing capabilities, making it a highly effective tool for computational geometry tasks.
Pts is a TypeScript creative coding library and data visualization framework designed for building generative art and interactive visuals. It functions as a multi-target graphics engine that outputs visual commands to HTML5 Canvas and SVG through a single unified interface. The toolkit serves as a linear algebra visualization tool, providing mathematical primitives for spatial transforms and geometric calculations. This allows for the creation of algorithmic patterns and the simulation of geometric behaviors. The framework covers a broad capability surface including the design of interactive
This library provides a comprehensive suite of 2D geometric primitives, vector math, and spatial transformation tools, making it a suitable framework for computational geometry tasks within creative coding and visualization contexts.
MathUtilities is a collection of specialized toolkits providing engines for geometry, computer vision, mathematics, physics simulation, and signal processing. It functions as a comprehensive mathematics and physics library focused on linear algebra, numerical optimization, and geometric calculations for technical applications. The project distinguishes itself through a physics simulation toolkit and a 3D geometry engine. These provide capabilities for Verlet integration, iterative inverse kinematics solvers, distance field rendering via volumetric raymarching, and mesh geometry deformation. I
This library provides a robust suite of geometric primitives, mesh manipulation, spatial hashing, and collision detection tools, making it a well-suited framework for computational geometry tasks.
PyVista is a scientific 3D plotting framework and visualization library that provides a Python interface for rendering and analyzing spatial datasets using a VTK backend. It functions as a volumetric rendering engine and a 3D mesh analysis tool for computing geometric properties and performing boolean operations on surface and volumetric meshes. The project is distinguished by its ability to operate as a headless 3D renderer, generating high-quality renders and animations on remote servers without a physical display. It also features a lazy-accessor extension mechanism that allows the registr
PyVista provides a robust Python interface for 3D mesh processing, primitive generation, and geometric analysis, making it a highly capable tool for computational geometry tasks despite its primary focus on visualization.
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 robust library for planar computational geometry that provides essential features like primitive manipulation, spatial indexing, and topological operations, making it a strong fit for 2D geometric analysis.
The Polygon Mesh Processing Library is a modern C++ open-source library for processing and visualizing polygon surface meshes. Its main features are:
This library provides robust tools for polygon mesh processing, including mesh manipulation, surface analysis, and visualization, which aligns well with the core requirements for computational geometry.
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 library provides a comprehensive suite of computational geometry algorithms and mesh processing tools, making it a direct fit for your geometric manipulation and primitive generation needs.
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 library provides a comprehensive suite of tools for surface mesh processing, geometric analysis, and manipulation, making it a strong fit for computational geometry tasks despite its specific focus on manifold meshes.
Geometric.js is a JavaScript library for working with points, lines, polygons, and angles. It uses plain JavaScript arrays for geometry primitives, includes TypeScript declarations for editor autocomplete and type checking, and works in modern browsers and Node.js.
This library provides essential tools for working with 2D geometric primitives like points, lines, and polygons, making it a suitable choice for basic computational geometry tasks in JavaScript.
The purpose of this library is to easily generate procedural meshes of geometric primitives such as spheres, boxes, cones, cylinders etc.
This library provides procedural generation of geometric primitives, which directly addresses the core requirement for primitive generation within the computational geometry domain.
a programming library with geometric algorithms
Geogram is a comprehensive C++ library that provides a wide range of geometric algorithms, including mesh processing, spatial indexing, and primitive manipulation, making it a strong fit for computational geometry tasks.
| 仓库 | Star 数 | 语言 | 许可证 | 最后推送 |
|---|---|---|---|---|
| cgal/cgal | 5.8K | C++ | other | |
| xiangechen/chili3d | 4.3K | TypeScript | agpl-3.0 | |
| libigl/libigl | 5K | C++ | GPL-3.0 | |
| paperjs/paper.js | 15.1K | JavaScript | NOASSERTION | |
| cadquery/cadquery | 5.4K | Python | NOASSERTION | |
| williamngan/pts | 5.3K | TypeScript | Apache-2.0 | |
| zalo/mathutilities | 4.7K | C# | Unlicense | |
| pyvista/pyvista | 3.7K | Python | MIT | |
| shapely/shapely | 4.5K | Python | BSD-3-Clause | |
| pmp-library/pmp-library | 1.5K | C++ | MIT |