Object-oriented B-Spline and NURBS evaluation library
Project description
NURBS-Python (geomdl)
^^^^^^^^^^^^^^^^^^^^^
|DOI|_ |PYPIDL|_ |ANACONDA|_
|RTD|_ |TRAVISCI|_ |APPVEYOR|_ |CODECOV|_
|WAFFLEIO|_
Introduction
============
NURBS-Python (geomdl) is an object-oriented B-Spline and NURBS surface and curve library for Python with implementations
of advanced computation algorithms in an extensible way. It comes with on-the-fly shape visualization options,
knot vector and surface grid generators, and more.
NURBS-Python (geomdl) is a pure Python library, therefore there are no external C/C++ or FORTRAN dependencies or any
compilation steps during installation. It is tested with Python v2.7.x, Python v3.4.x and later versions. The Python 2
and 3 compatibility library ``six`` will be automatically installed during NURBS-Python setup.
Please see the `Examples Repository <https://github.com/orbingol/NURBS-Python_Examples>`_ for details on library usage
and integration scenarios.
**Note:** This package replaces the old `NURBS-Python <https://pypi.org/project/NURBS-Python/>`_ with new and improved
features. Please see the `Installation <https://nurbs-python.readthedocs.io/en/latest/install.html>`_ documentation
page on removing the old package and installing the new package.
Features
========
Core Library
------------
The core library is responsible for data storage and evaluation. It is capable of handling B-Spline (NUBS) and NURBS
curves and surfaces (single via ``geomdl.BSpline`` and ``geomdl.NURBS``, multiple via ``geomdl.Multi`` modules).
It provides an abstraction layer for easy extensibility (``geomdl.Abstract``), allows a variety of customizations and
helper functionality, such as surface (``geomdl.CPGen`` module) and uniform knot vector
(``geomdl.utilities.generate_knot_vector``) generators.
The Core Library module of NURBS-Python is self-contained. It implements all the necessary maths and linear algebra
operations without needing any other external modules.
Exchange Module
---------------
``geomdl.exchange`` module can export control points and evaluated points of the ``Curve``, ``Surface`` and ``Multi``
objects in common formats such as CSV, VTK, OBJ, OFF and STL.
Visualization Component
-----------------------
``geomdl.visualization`` component contains extensible and customizable classes for plotting curves and surfaces
on-the-fly. The users have options to use Matplotlib and/or Plotly visualization libraries. These libraries are not
automatically installed during NURBS-Python setup and they are left for users' discretion.
More Features
-------------
NURBS-Python (geomdl) is more than a simple NURBS library. It has many features and they are customizable for your
needs. Please see the `Modules <https://nurbs-python.readthedocs.io/en/latest/modules.html>`_ documentation page
for the list of modules and features.
Further Reading
===============
* Documentation: https://nurbs-python.readthedocs.io/en/4.x/
* Development: https://github.com/orbingol/NURBS-Python/tree/4.x
* Examples: https://github.com/orbingol/NURBS-Python_Examples/tree/4.x
* Wiki: https://github.com/orbingol/NURBS-Python/wiki
License
=======
NURBS-Python is licensed under the MIT License.
.. |DOI| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.815010.svg
.. _DOI: https://doi.org/10.5281/zenodo.815010
.. |RTD| image::https://readthedocs.org/projects/nurbs-python/badge/?version=4.x
.. _RTD: https://nurbs-python.readthedocs.io/en/4.x/?badge=4.x
.. |WAFFLEIO| image:: https://badge.waffle.io/orbingol/NURBS-Python.svg?columns=all
.. _WAFFLEIO: https://waffle.io/orbingol/NURBS-Python
.. |TRAVISCI| image:: https://travis-ci.org/orbingol/NURBS-Python.svg?branch=master
.. _TRAVISCI: https://travis-ci.org/orbingol/NURBS-Python
.. |APPVEYOR| image:: https://ci.appveyor.com/api/projects/status/github/orbingol/nurbs-python?branch=master&svg=true
.. _APPVEYOR: https://ci.appveyor.com/project/orbingol/nurbs-python
.. |PYPIDL| image:: https://img.shields.io/pypi/dm/geomdl.svg
.. _PYPIDL: https://pypi.org/project/geomdl/
.. |ANACONDA| image:: https://anaconda.org/orbingol/geomdl/badges/version.svg
.. _ANACONDA: https://anaconda.org/orbingol/geomdl
.. |CODECOV| image:: https://codecov.io/gh/orbingol/NURBS-Python/branch/master/graph/badge.svg
.. _CODECOV: https://codecov.io/gh/orbingol/NURBS-Python
^^^^^^^^^^^^^^^^^^^^^
|DOI|_ |PYPIDL|_ |ANACONDA|_
|RTD|_ |TRAVISCI|_ |APPVEYOR|_ |CODECOV|_
|WAFFLEIO|_
Introduction
============
NURBS-Python (geomdl) is an object-oriented B-Spline and NURBS surface and curve library for Python with implementations
of advanced computation algorithms in an extensible way. It comes with on-the-fly shape visualization options,
knot vector and surface grid generators, and more.
NURBS-Python (geomdl) is a pure Python library, therefore there are no external C/C++ or FORTRAN dependencies or any
compilation steps during installation. It is tested with Python v2.7.x, Python v3.4.x and later versions. The Python 2
and 3 compatibility library ``six`` will be automatically installed during NURBS-Python setup.
Please see the `Examples Repository <https://github.com/orbingol/NURBS-Python_Examples>`_ for details on library usage
and integration scenarios.
**Note:** This package replaces the old `NURBS-Python <https://pypi.org/project/NURBS-Python/>`_ with new and improved
features. Please see the `Installation <https://nurbs-python.readthedocs.io/en/latest/install.html>`_ documentation
page on removing the old package and installing the new package.
Features
========
Core Library
------------
The core library is responsible for data storage and evaluation. It is capable of handling B-Spline (NUBS) and NURBS
curves and surfaces (single via ``geomdl.BSpline`` and ``geomdl.NURBS``, multiple via ``geomdl.Multi`` modules).
It provides an abstraction layer for easy extensibility (``geomdl.Abstract``), allows a variety of customizations and
helper functionality, such as surface (``geomdl.CPGen`` module) and uniform knot vector
(``geomdl.utilities.generate_knot_vector``) generators.
The Core Library module of NURBS-Python is self-contained. It implements all the necessary maths and linear algebra
operations without needing any other external modules.
Exchange Module
---------------
``geomdl.exchange`` module can export control points and evaluated points of the ``Curve``, ``Surface`` and ``Multi``
objects in common formats such as CSV, VTK, OBJ, OFF and STL.
Visualization Component
-----------------------
``geomdl.visualization`` component contains extensible and customizable classes for plotting curves and surfaces
on-the-fly. The users have options to use Matplotlib and/or Plotly visualization libraries. These libraries are not
automatically installed during NURBS-Python setup and they are left for users' discretion.
More Features
-------------
NURBS-Python (geomdl) is more than a simple NURBS library. It has many features and they are customizable for your
needs. Please see the `Modules <https://nurbs-python.readthedocs.io/en/latest/modules.html>`_ documentation page
for the list of modules and features.
Further Reading
===============
* Documentation: https://nurbs-python.readthedocs.io/en/4.x/
* Development: https://github.com/orbingol/NURBS-Python/tree/4.x
* Examples: https://github.com/orbingol/NURBS-Python_Examples/tree/4.x
* Wiki: https://github.com/orbingol/NURBS-Python/wiki
License
=======
NURBS-Python is licensed under the MIT License.
.. |DOI| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.815010.svg
.. _DOI: https://doi.org/10.5281/zenodo.815010
.. |RTD| image::https://readthedocs.org/projects/nurbs-python/badge/?version=4.x
.. _RTD: https://nurbs-python.readthedocs.io/en/4.x/?badge=4.x
.. |WAFFLEIO| image:: https://badge.waffle.io/orbingol/NURBS-Python.svg?columns=all
.. _WAFFLEIO: https://waffle.io/orbingol/NURBS-Python
.. |TRAVISCI| image:: https://travis-ci.org/orbingol/NURBS-Python.svg?branch=master
.. _TRAVISCI: https://travis-ci.org/orbingol/NURBS-Python
.. |APPVEYOR| image:: https://ci.appveyor.com/api/projects/status/github/orbingol/nurbs-python?branch=master&svg=true
.. _APPVEYOR: https://ci.appveyor.com/project/orbingol/nurbs-python
.. |PYPIDL| image:: https://img.shields.io/pypi/dm/geomdl.svg
.. _PYPIDL: https://pypi.org/project/geomdl/
.. |ANACONDA| image:: https://anaconda.org/orbingol/geomdl/badges/version.svg
.. _ANACONDA: https://anaconda.org/orbingol/geomdl
.. |CODECOV| image:: https://codecov.io/gh/orbingol/NURBS-Python/branch/master/graph/badge.svg
.. _CODECOV: https://codecov.io/gh/orbingol/NURBS-Python
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 Distribution
geomdl-4.4.3.tar.gz
(88.1 kB
view hashes)
Built Distribution
geomdl-4.4.3-py2.py3-none-any.whl
(82.0 kB
view hashes)
Close
Hashes for geomdl-4.4.3-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6fd0e7dca7fd05db7dfba419a9cf29eceff37c5890685a2f13f079665dd62fe3 |
|
MD5 | 28886bd26498f0663ba85aef00649bf6 |
|
BLAKE2b-256 | a5869fb4d9c6f41e3e11af4cdd3e841899fac09a426d70f4c8d6b576c2201759 |