# bspline - B-Spline interpolation library¶

 bspline Evaluate the B-spline with control points y at positions xt in [0,1]. pbs Evaluate the parametric B-spline px(t),py(t).

BSpline calculator.

Given a set of knots, compute the cubic B-spline interpolation.

bumps.bspline.bspline(y, xt, clamp=True)[source]

Evaluate the B-spline with control points y at positions xt in [0,1].

The spline goes through the control points at the ends. If clamp is True, the derivative of the spline at both ends is zero. If clamp is False, the derivative at the ends is equal to the slope connecting the final pair of control points.

B-spline knots are chosen to be equally spaced within [0,1].

bumps.bspline.pbs(x, y, t, clamp=True, parametric=True)[source]

Evaluate the parametric B-spline px(t),py(t).

x and y are the control points, and t are the points in [0,1] at which they are evaluated. The x values are sorted so that the spline describes a function.

The spline goes through the control points at the ends. If clamp is True, the derivative of the spline at both ends is zero. If clamp is False, the derivative at the ends is equal to the slope connecting the final pair of control points.

If parametric is False, then parametric points t’ are chosen such that x(t’) = t.

The B-spline knots are chosen to be equally spaced within [0,1].