I'm trying to interpolate through a set of motion data points, using piecewise motions as defined by Wagner, so each data point contains 8 numbers. Each of those numbers forms a motion parameter, so I need to generate Bspline functions for each parameter (8 total parameters, 8 Bpsline functions). 3 of the numbers pertain to translation, 4 to rotation and 1 to the translation weight. Each of these three groups is defined to have a specific degree for their respective curves, so general cubic B-spline interpolation does not work.
The formula for a cubic Bspline is explicitly defined but that's not the case for higher curve degrees, so how do I interpolate a data set using a degree of say 4? I know LU decomposition can be used, but I'm not sure how to implement that in C++, or how to define the needed values for the decomposition (I have the knot vector, and time of each data point, but that's all).