For shape manipulation utilities, the strongest matches are brooooooklyn/canvas (This headless vector graphics engine and rendering library provides), paperjs/paper.js (Paper) and libigl/libigl (This C++ library provides comprehensive tools for mesh processing). shapely/shapely and toblerity/shapely round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Hand-picked open-source shape manipulation libraries, ranked by stars and activity. Compare the top options and find the right fit for your project.
Canvas is a headless vector graphics engine and two-dimensional graphics rendering library built on a native graphics library with zero system dependencies for server-side drawing. It provides a programmatic shape construction and manipulation library supporting bezier curves, boolean operations, and native rendering without requiring a display server. The library renders shapes, paths, text, and images onto virtual memory surfaces and off-screen drawing areas for server-side image generation, vector animation rendering, and PDF generation. It supports path boolean operations to compute comp
This headless vector graphics engine and rendering library provides programmatic path construction and boolean operations, making it a strong fit for server-side geometric shape manipulation and vector graphics generation.
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 an HTML5 Canvas vector graphics library and scripting framework that provides robust path manipulation and boolean operations for 2D shapes, though it focuses less on 3D mesh processing or spatial indexing.
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 processing and geometric shape manipulation, making it a great programmatic fit despite lacking explicit high-level 2D vector graphics generators.
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 Python library for manipulating and analyzing planar geometric objects that handles polygon simplification and spatial indexing via GEOS, though it lacks dedicated 3D mesh processing and built-in physics collision detection.
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 for planar objects that supports spatial indexing, boolean operations, and geometric analysis, though its focus is geospatial GIS analysis rather than general 3D mesh processing.