geomdl is a pure Python, object-oriented B-Spline and NURBS library. It is compatible with Python versions 2.7.x, 3.4.x and later.
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
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
- Wiki: https://github.com/orbingol/NURBS-Python/wiki
- Development: https://github.com/orbingol/NURBS-Python
geomdl is licensed under the terms of the MIT License.