All Projects → lace → polliwog

lace / polliwog

Licence: BSD-2-Clause license
2D and 3D computational geometry library

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to polliwog

Aabb Tree
A d-dimensional aabb-tree implementation for MATLAB.
Stars: ✭ 5 (-77.27%)
Mutual labels:  geometry, computational-geometry
Wagyu
A general library for geometry operations of union, intersections, difference, and xor
Stars: ✭ 116 (+427.27%)
Mutual labels:  geometry, computational-geometry
Euclid
Exact Computation Geometry Framework Based on 'CGAL'
Stars: ✭ 52 (+136.36%)
Mutual labels:  geometry, computational-geometry
PGS
Processing Geometry Suite
Stars: ✭ 39 (+77.27%)
Mutual labels:  geometry, computational-geometry
Cgal
The public CGAL repository, see the README below
Stars: ✭ 2,825 (+12740.91%)
Mutual labels:  geometry, computational-geometry
Geometry
Boost.Geometry - Generic Geometry Library | Requires C++14 since Boost 1.75
Stars: ✭ 282 (+1181.82%)
Mutual labels:  geometry, computational-geometry
Lazysets.jl
A Julia package for calculus with convex sets
Stars: ✭ 107 (+386.36%)
Mutual labels:  geometry, computational-geometry
Hgeometry
HGeometry
Stars: ✭ 98 (+345.45%)
Mutual labels:  geometry, computational-geometry
Trimesh2
C++ library and set of utilities for input, output, and basic manipulation of 3D triangle meshes
Stars: ✭ 206 (+836.36%)
Mutual labels:  geometry, transformations
Elm Geometry
2D/3D geometry package for Elm
Stars: ✭ 162 (+636.36%)
Mutual labels:  geometry, transformations
MidcurveNN
Computation of Midcurve of Thin Polygons using Neural Networks
Stars: ✭ 19 (-13.64%)
Mutual labels:  geometry, computational-geometry
elm-geometry-svg
Render 2D elm-geometry types as SVG
Stars: ✭ 40 (+81.82%)
Mutual labels:  geometry, transformations
polygon-splitter
A small (<10kb minified) javascript library for splitting polygons by a polyline.
Stars: ✭ 20 (-9.09%)
Mutual labels:  geometry, computational-geometry
Nurbs Python
Object-oriented pure Python B-Spline and NURBS library
Stars: ✭ 295 (+1240.91%)
Mutual labels:  geometry, computational-geometry
Cavaliercontours
2D polyline library for offsetting, combining, etc.
Stars: ✭ 135 (+513.64%)
Mutual labels:  geometry, computational-geometry
SplashGeom
Open-source C++ library for geometry and linear algebra
Stars: ✭ 22 (+0%)
Mutual labels:  geometry, computational-geometry
topo
A Geometry library for Elixir that calculates spatial relationships between two geometries
Stars: ✭ 125 (+468.18%)
Mutual labels:  geometry, computational-geometry
acts
Haskell library for semigroup actions and torsors
Stars: ✭ 55 (+150%)
Mutual labels:  transformations
dmc
Dual Marching Cubes Implementation in C++
Stars: ✭ 45 (+104.55%)
Mutual labels:  geometry
classy blocks
Python classes for easier creation of OpenFOAM's blockMesh dictionaries.
Stars: ✭ 53 (+140.91%)
Mutual labels:  geometry

polliwog

version python versions license coverage build docs build code style

2D and 3D computational geometry library.

Includes vectorized geometric operations, transforms, and primitives like planes, polygonal chains, and axis-aligned bounding boxes. Implemented in pure Python/NumPy. Lightweight and fast.

See the complete API reference: https://polliwog.dev/

Like its lower-level counterpart, the vector-geometry and linear-algebra toolbelt vg, this project is designed to scale from prototyping to production.

The goals of this project are:

  • Provide a complete set of functionality for this problem domain, with full documentation.
  • Provide 100% test coverage of all code paths and use cases.
  • Keep dependencies light and deployment flexible.
  • Keep the library working with current versions of Python and other tools.
  • Respond to community contributions.

Installation

pip install polliwog

Usage

import numpy as np
from polliwog import Polyline

# ...

Development

First, install Poetry.

After cloning the repo, run ./bootstrap.zsh to initialize a virtual environment with the project's dependencies.

Subsequently, run ./dev.py install to update the dependencies.

Acknowledgements

This collection was developed at Body Labs and includes a combination of code developed at Body Labs, from legacy code and significant new portions by Eric Rachlin, Alex Weiss, and Paul Melnikow. It was extracted from the Body Labs codebase and open-sourced by Alex Weiss into a library called blmath, which was subsequently forked by Paul Melnikow. This library and the 3D geometry and linear-algebra toolbelt vg were later extracted.

License

The project is licensed under the two-clause BSD license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].