General Implementation of a BSpline with choosable degree, control points and knots.
Generic parameters:
P: const generic points array ‘P’ as defined by the Point trait
F: Any float value used for the knots and interpolation (usually the same as the internal generic parameter within P).
const generic parameters:
C: Number of control points
K: Number of Knots
D: Degree of the piecewise function used for interpolation degree = order - 1
While C, K, O relate to each other in the following manner
K = C + O where O = D + 1