Spline, B-Spline and NURBS C++ library

2019-01-22 15:10发布

问题:

Does anyone know of a library or set of classes for splines - specifically b-splines and NURBS (optional).

A fast, efficient b-spline library would be so useful for me at the moment.

回答1:

1.) For B Splines - You should check Numerical Recipes in C (there is book for that and it is also available online for reference)

2.) Also check: sourceforge.net/projects/einspline/ & this

-AD



回答2:

I know I'm answering months after this question was asked, but for others who might be searching for a similar answer, I'll point out openNURBS.

OpenNURBS also happens to be the library used in the modeling package Rhinoceros. It's a very complete library and it's worth consideration.



回答3:

This library may also be promising: http://libnurbs.sourceforge.net



回答4:

Eigen Spline is based on the famous (fast) C++ template library for linear algebra.



回答5:

An excellent library that is also supplemented by an online book is from MIT. Here is the (hyper)book http://web.mit.edu/hyperbook/Patrikalakis-Maekawa-Cho/mathe.html

and in the bottom of the link you will find the related software, here: http://web.mit.edu/hyperbook/Patrikalakis-Maekawa-Cho/software.html

GSL has a nice very basic b-spline implementation, but it does not include NURBS curves neither algorithms for inserting/removing knots, or several more advanced things. You can also find many useful algorithms that you can compile in your own language in the book, "The NURBS book", Piegl & Tiller, this one: http://www.amazon.com/NURBS-Book-Monographs-Visual-Communication/dp/3540615458

Numerical Recipes do not include support for b-splines.



回答6:

Also ITK has a class for bspline itkBSplineScatteredDataPointSetToImageFilter see example at http://www.itk.org/Wiki/ITK/Examples/WishList/PointSet/BSplineScatteredDataPointSetToImageFilter ( documentation at http://www.itk.org/Doxygen/html/classitk_1_1BSplineScatteredDataPointSetToImageFilter.html http://www.itk.org/Doxygen/html/classitk_1_1BSplineScatteredDataPointSetToImageFilter.html )



回答7:

SISL seems to be a good NURBS library (under the AGPL licence). It is part of GoTools which can be cloned here.



标签: c++ graphics