Object-oriented B-Spline and NURBS evaluation library
Project description
Introduction
NURBS-Python is an object-oriented B-Spline and NURBS surface and curve library for Python with implementations of advanced computation algorithms in an extensible way. It comes with on-the-fly shape visualization options, knot vector and surface grid generators, and more.
NURBS-Python is a pure Python library, therefore there are no external C/C++ or FORTRAN dependencies or any compilation steps during installation. It is tested with Python v2.7.x, Python v3.3.x and later versions. The Python 2 and 3 compatibility library six will be automatically installed during NURBS-Python setup.
Please see the Examples Repository for details on library usage and integration scenarios.
Features
NURBS-Python consists of the following modules and components:
Core library
Exchange module
Visualization component
Shapes component
Core Library
The core library is responsible for data storage and evaluation. It is capable of handling B-Spline (NUBS) and NURBS curves and surfaces (single via geomdl.BSpline and geomdl.NURBS, multiple via geomdl.Multi modules). It provides an abstraction layer for easy extensibility (geomdl.Abstract), allows a variety of customizations and helper functionality, such as surface (geomdl.CPGen module) and uniform knot vector (geomdl.utilities.generate_knot_vector) generators.
The Core Library module of NURBS-Python is self-contained. It implements all the necessary maths and linear algebra operations without needing any other external modules.
Exchange Module
geomdl.exchange module can export control points and evaluated points of the Curve, Surface and Multi objects in common formats such as CSV, VTK, OBJ, OFF and STL.
Visualization Component
geomdl.visualization component contains extensible and customizable classes for plotting curves and surfaces on-the-fly. The users have options to use Matplotlib and/or Plotly visualization libraries. These libraries are not automatically installed during NURBS-Python setup and left for users’ discretion.
Shapes Component
geomdl.shapes component provides an easy way to generate the most common curves and surfaces, such as circles and cylinders.
Further Reading
Github repository: https://github.com/orbingol/NURBS-Python
Documentation: http://nurbs-python.readthedocs.io/
License
NURBS-Python is licensed under the MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for geomdl-4.2.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4475b6a9919940ba886f150338d0d648ee0f23b7e9709f05a294716ee88124bd |
|
MD5 | 09eaf64aba68ec947dbbaecb05925a68 |
|
BLAKE2b-256 | 3dce4a0741f72711145dbc1837b86e6134a8b0711214d440ffa10a335a860d4a |