algrs / polliwog

2D and 3D computational geometry library, which scales from prototyping to production

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

polliwog

version python versions license coverage build docs build code style

2D and 3D computational geometry library which scales from prototyping to production.

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

The goals of this project are:

  • Keep dependencies light and deployment flexible.
  • Keep the library working in current versions of Python and other tools.
  • Respond to community contributoions.
  • Eventually provide a complete set of functionality for this problem domain.

Features

Geometric operations, transforms, and primitives, in 2D and 3D.

The most commonly used of these are directly imported into polliwog.

polliwog.transform includes code for 3D transforms.

Other modules:

Installation

pip install polliwog

Usage

import numpy as np
from polliwog import Polyline

# ...

Contribute

Pull requests welcome!

Support

If you are having issues, please let us know.

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.

About

2D and 3D computational geometry library, which scales from prototyping to production

License:BSD 2-Clause "Simplified" License


Languages

Language:Python 100.0%