Skip to content

orbingol/NURBS-Python

Repository files navigation

NURBS-Python (geomdl)

DOI PYPI PYPIDL ANACONDA

RTD TRAVISCI APPVEYOR CIRCLECI CODECOV

WAFFLEIO

Introduction

NURBS-Python (geomdl) is a pure Python, self-contained, object-oriented B-Spline and NURBS spline library for Python versions 2.7.x, 3.4.x and later.

The following article outlines the design and features of NURBS-Python (geomdl). I would be glad if you would cite it if you have used NURBS-Python (geomdl) in your research:

@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} } 

Features

NURBS-Python (geomdl) provides convenient data structures and highly customizable API for rational and non-rational splines along with the efficient implementations of the following algorithms:

  • Spline evaluation
  • Derivative evaluation
  • Knot insertion
  • Knot removal
  • Degree elevation
  • Degree reduction
  • Curve and surface 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.

Installation

The easiest way to install NURBS-Python (geomdl) is using pip:

$ pip install geomdl

If you are getting permission errors on Linux, you can use --user switch to install to current user's package directory.

$ pip install --user geomdl

It is also possible to install NURBS-Python (geomdl) using conda:

$ conda install -c orbingol geomdl

Please refer to the Installation and Testing section of the documentation for alternative installation methods.

Examples and Documentation

Extra Modules

Author

License

NURBS-Python (geomdl) is a free and open-source software and it is licensed under the MIT License.

Acknowledgments

Please see CONTRIBUTORS.rst file for the acknowledgements.

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages