NURBS curve and surface evaluation library in pure Python
Project description
Description
NURBS-Python provides Non-Uniform Rational B-Spline (NURBS) surface and 2D/3D curve data structures and computation algorithms in native Python. The library is fully object-oriented and does not depend on any external libraries.
Features
NURBS-Python consists of the following modules and components:
Core library
Multi module
Exchange module
Visualization component
Shapes component
Core Library
The core library contains 4 modules:
geomdl.BSpline contains Non-Uniform B-Spline (NUBS) evaluation and storage functionality
geomdl.NURBS contains Non-Uniform Rational B-Spline (NURBS) evaluation and storage functionality
geomdl.CPGen contains simple control points grid generation algorithms
geomdl.utilities contains helper functions for generating and altering knot vectors and control points
geomdl.BSpline and geomdl.NURBS modules contain the following classes:
Curve for evaluating curves (in any dimension)
Surface for evaluating surfaces
geomdl.CPGen module contains 2 classes for grid generation:
Grid for generating inputs for geomdl.BSpline.Surface class
GridWeighted for generating inputs for geomdl.NURBS.Surface class
Starting from version 3.2, NURBS-Python provides abstract Curve and Surface base classes in geomdl.Abstract module.
Multi Module
NURBS-Python provides container-like classes for working with multiple curves and surfaces in geomdl.Multi module. Please see the documentation for details.
Exchange Module
NURBS-Python can export Surface types in OBJ and STL format using geomdl.exchange module. This module contains 2 major functions:
save_obj for saving surfaces as .obj files
save_stl for saving surfaces as .stl files in ascii or binary format (default is binary)
Visualization Component
NURBS-Python comes with an experimental visualization module, geomdl.visualization, for plotting generated 2D/3D curves and surfaces directly.
Shapes Component
Starting from NURBS-Python v3.1, a new experimental module geomdl.shapes is shipped with the NURBS-Python package. The aim of this component is providing 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.rtfd.org/
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 Distributions
Built Distribution
File details
Details for the file NURBS_Python-3.5.1-py2.py3-none-any.whl
.
File metadata
- Download URL: NURBS_Python-3.5.1-py2.py3-none-any.whl
- Upload date:
- Size: 49.6 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 37ee8b44882dcc450e92cc54f204eebfdc747348c09d25436ba3b0345c1e0ac9 |
|
MD5 | 57799b325eb82fd25386be7b9b99ad21 |
|
BLAKE2b-256 | c7d426fa93c915c896fddba5bc0c4a6aef851a60a1e391afa1a652c6eb344ab0 |