Application for interpolating periodic B-spline

1k Views Asked by At

I need to draw a cubic C^2 continous, closed (periodic boundary conditions) B-spline which should interpolate a set of control points. If possible it would be great if I could specify the knot vector. Is there any programm or application which can do this? I already wrote something in Mathematica by myself but I'm not sure whether it's correct.

1

There are 1 best solutions below

0
On BEST ANSWER

You can find a lot of information with regards to b-splines in a "fast and efficient" approach here

You will need the basics of the theory in order to do what you want, since no package that I know off does "exactly" what you need, they only provide you with the tools to build what you want. With regards to your question if there is available software, yes there are a lot of them that have packages that handle b-splines.

In C/C++ you can try a simple implementation from GSL (you can import this library in Python as well, google GSL bsplines).

There is also an excellent free book accompanied with software from MIT here (in the bottom of the page, link for the software package)

this may be more complicated than what you need - it is more oriented towards CAD.

In Matlab you can find the splines toolbox written by de Boor himself, and of course in fortran there are the first routines in pppack from de Boor.

There is also an implementation in R programming language (google b-splines R).

In all the above programs you can provide the knot vector, in some cases with limitations (e.g. multiplicity of first/last knot may be fixed). Mathematica has great support for B-splines. Apologies for not providing links for all the above information, the system does not allow me to post more than two ("reputation" limitations).

If you want to implement your own algorithms, try the book "The NURBS book", Piegle and Tiller, excellent reference, with any algorithm you may wish. There are more libraries out there, just google for NURBS, since they are the industry standard and encapsulate b-splines.