Skip to content

This package provides functionality to define and evaluate B-spline and NURBS (non-uniform rational B-spline) basis functions, their derivatives, as well as curves and surfaces based on both considered basis functions.

License

Notifications You must be signed in to change notification settings

HoBeZwe/NURBS.jl

Repository files navigation

Docs-stable Docs-dev MIT license Build Status codecov DOI

Introduction

This package provides functionality to define and evaluate B-spline, Curry-Schoenberg, and NURBS (non-uniform rational B-spline) basis functions, their derivatives, as well as curves and surfaces based on B-spline and NURBS basis functions.

The following aspects are implemented (✓) and planned (⌛):

B-spline, Curry-Schoenberg & NURBS evaluation
  • ✓ Basis & derivatives
  • ✓ Curves & derivatives
  • ✓ Surfaces & derivatives
Fundamental operations
  • ✓ File I/O (.step)
  • ✓ Knot manipulation
    • knot insertion / refinement
    • knot removal
    • splitting of curves and surfaces
  • ✓ Transformation of curves and surfaces
    • scaling
    • translating
    • rotating
    • mirroring
  • ⌛ Degree elevation / reduction
  • ⌛ Construction of common geometries

Citation

Please cite this package following the information on Zenodo.

Documentation

About

This package provides functionality to define and evaluate B-spline and NURBS (non-uniform rational B-spline) basis functions, their derivatives, as well as curves and surfaces based on both considered basis functions.

Topics

Resources

License

Stars

Watchers

Forks

Languages