NURBS-Python (geomdl) is a pure Python, self-contained, object-oriented B-Spline and NURBS library.
NURBS-Python (geomdl) provides convenient data structures and highly customizable API for rational and non-rational splines along with the efficient and extensible implementations of the following algorithms:
- Spline evaluation
- Derivative evaluation
- Knot insertion
- Knot removal
- Knot vector refinement
- Degree elevation
- Degree reduction
- Curve and surface fitting via interpolation and least squares approximation
NURBS-Python (geomdl) also provides customizable visualization and animation options via Matplotlib, Plotly and VTK libraries. Please refer to the documentation for more details.
- Documentation: https://nurbs-python.readthedocs.io/
- Examples: https://github.com/orbingol/NURBS-Python_Examples
- Development: https://github.com/orbingol/NURBS-Python
The following article outlines the design and features of NURBS-Python (geomdl):
@article{bingol2019geomdl,
title={{NURBS-Python}: An open-source object-oriented {NURBS} modeling framework in {Python}},
author={Bingol, Onur Rauf and Krishnamurthy, Adarsh},
journal={{SoftwareX}},
volume={9},
pages={85--94},
year={2019},
publisher={Elsevier},
doi={https://doi.org/10.1016/j.softx.2018.12.005}
}
NURBS-Python (geomdl) is licensed under the terms of the MIT License. It also contains the following modules:
sixis licensed under the terms of the MIT License.backports.functools_lru_cacheis licensed under the terms of the MIT License.