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.
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.) 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
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.
This library may also be promising: http://libnurbs.sourceforge.net
Eigen Spline is based on the famous (fast) C++ template library for linear algebra.
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.
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 )
SISL seems to be a good NURBS library (under the AGPL licence). It is part of GoTools which can be cloned here.