NURBS 2D/3D curve and surface evaluation library in native Python
Project description
Introduction
This project aims to implement Non-Uniform Rational B-Spline (NURBS) curve and surface computation algorithms in native Python with minimum possible dependencies. The library is fully object-oriented and does not depend on any external C/C++ libraries.
The package contains 3 modules:
BSpline
contains Non-Uniform B-Spline (NUBS) evaluation and storage functionalityNURBS
contains Non-Uniform Rational B-Spline (NURBS) evaluation and storage functionalityCPGen
contains simple control points grid generation algorithms
BSpline
and NURBS
modules contain 3 classes for geometric evaluation:
Curve for evaluating 3D curves
Curve2D for evaluating 2D curves
Surface for evaluating surfaces
CPGen
module contains 2 classes for grid generation:
Grid for generating inputs for
BSpline.Surface
classGridWeighted for generating inputs for
NURBS.Surface
class
Information for Researchers
I would be glad if you cite this repository using the DOI provided as a badge at the top.
Library Versions
master branch contains the latest version of NURBS-Python (currently v3.x series).
2.x branch contains the code for NURBS-Python v2.x series.
There are some API changes between v2.x and v3.x series and all updates will be added to the latest version. Old versions won’t be receiving any new features and updates.
Installation
Included setup.py script will take care of the installation and automatically copy the required files to site-packages directory. Please run the following from the command line:
python setup.py install
If you don’t want to put the files into your Python distribution’s site-packages directory for some reason, you can run
python setup.py develop
from the command line to generate a link to the package directory inside site-packages.
Example Scripts
Please see NURBS-Python Examples repository for examples.
Implementation
NURBS-Python is a high-level Python library following the object-oriented design principles. In its core, it implements the algorithms from The NURBS Book (2nd Edition) by Piegl & Tiller and combines these algorithms with other useful features. Please see the documentation for function reference and how to use the library: http://nurbs-python.rtfd.org
Issues and Reporting
Bugs and Issues
Please use the issue tracker for reporting bugs and other related issues.
Contributors
I would like to thank all contributors for their help and support in testing, bug fixing and improvement of the NURBS-Python project.
Luke Frisken (@kellpossible)
John-Eric Dufour (@jedufour)
Jan Heczko (@heczis)
License
NURBS-Python is licensed under The MIT License.
Acknowledgments
I would like to thank my PhD adviser, Dr. Adarsh Krishnamurthy, for his guidance and supervision throughout the course of this project.
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 Distributions
File details
Details for the file NURBS_Python-3.0.00-py3-none-any.whl
.
File metadata
- Download URL: NURBS_Python-3.0.00-py3-none-any.whl
- Upload date:
- Size: 31.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a72cf752ec752a251ce9fa1d05887acd7d747431883d96bf681286f2ffa17d5 |
|
MD5 | cfe2e2afe3e1c531db6aebe27892f5ab |
|
BLAKE2b-256 | d3a84e2096b4bb83bded7e4be7551475655b314c680b696006ae5681106fe3fa |
File details
Details for the file NURBS_Python-3.0.00-py2-none-any.whl
.
File metadata
- Download URL: NURBS_Python-3.0.00-py2-none-any.whl
- Upload date:
- Size: 31.0 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a65bf56a30e4dd54e93ff0d44552f83da1102df8db37138043a7473ea4e4169 |
|
MD5 | fc8fb16924907d99249a352de2509622 |
|
BLAKE2b-256 | 02f08d700a89a182d19dc92e5856ee92767dd674028d49d6c78af8170347bbd7 |
Comments and Questions
If you have any questions or comments related to the NURBS-Python package, please don’t hesitate to contact the developers by email.