NURBS-Python (geomdl) is a pure Python, self-contained, object-oriented B-Spline and NURBS spline 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 MIT License and it contains the following modules:
six
is licensed under the terms of MIT Licensebackports.functools_lru_cache
is licensed under the terms of MIT License