Skip to main content

NURBS curve and surface evaluation library in pure python

Project description

DOI RTD TRAVISCI APPVEYOR WAFFLEIO

Description

NURBS-Python provides Non-Uniform Rational B-Spline (NURBS) surface and 2D/3D curve data structures and computation algorithms in native Python. The library is fully object-oriented and does not depend on any external libraries.

Features

NURBS-Python consists of the following modules and components:

  • Core library

  • Multi module

  • Exchange module

  • Visualization component

  • Shapes component

Core Library

The core library contains 4 modules:

  • geomdl.BSpline contains Non-Uniform B-Spline (NUBS) evaluation and storage functionality

  • geomdl.NURBS contains Non-Uniform Rational B-Spline (NURBS) evaluation and storage functionality

  • geomdl.CPGen contains simple control points grid generation algorithms

  • geomdl.utilities contains helper functions for generating and altering knot vectors and control points

geomdl.BSpline and geomdl.NURBS modules contain the following classes:

  • Curve for evaluating curves (in any dimension)

  • Surface for evaluating surfaces

geomdl.CPGen module contains 2 classes for grid generation:

  • Grid for generating inputs for geomdl.BSpline.Surface class

  • GridWeighted for generating inputs for geomdl.NURBS.Surface class

Starting from version 3.2, NURBS-Python provides abstract Curve and Surface base classes in geomdl.Abstract module.

Multi Module

NURBS-Python provides container-like classes for working with multiple curves and surfaces in geomdl.Multi module. Please see the documentation for details.

Exchange Module

NURBS-Python can export Surface types in OBJ and STL format using geomdl.exchange module. This module contains 2 major functions:

  • save_obj for saving surfaces as .obj files

  • save_stl for saving surfaces as .stl files in ascii or binary format (default is binary)

Visualization Component

NURBS-Python comes with an experimental visualization module, geomdl.visualization, for plotting generated 2D/3D curves and surfaces directly.

Shapes Component

Starting from NURBS-Python v3.1, a new experimental module geomdl.shapes is shipped with the NURBS-Python package. The aim of this component is providing an easy way to generate the most common curves and surfaces, such as circles and cylinders.

Further Reading

License

NURBS-Python is licensed under The MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

NURBS-Python-3.7.8.tar.gz (49.0 kB view details)

Uploaded Source

Built Distribution

NURBS_Python-3.7.8-py2.py3-none-any.whl (48.1 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file NURBS-Python-3.7.8.tar.gz.

File metadata

File hashes

Hashes for NURBS-Python-3.7.8.tar.gz
Algorithm Hash digest
SHA256 4c52bca83d34776ed2a9079051d90f049e1b8d982750c166763979d0b92ebb1e
MD5 a83abeb32a20a053ec3a134b16db6417
BLAKE2b-256 f979a3248d749fb9f7b830e9653305267ddb22100618a1bd19c5623ea25953ea

See more details on using hashes here.

File details

Details for the file NURBS_Python-3.7.8-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for NURBS_Python-3.7.8-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 bd6e90e0044d7e775c3acad1f0ffdf2a39835b89b5af056375f1c8d509df89c3
MD5 3a91c4a43d6a44c60016b2881f9ff5a2
BLAKE2b-256 c3d1cd60110ff4fc69c6b3e637dd50de5d3d7faecdca386f3ef29242a8ae6caf

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page