I made a spline guide
@acegikmo C2 and passing through: Natural cubic spline. https://en.wikipedia.org/wiki/Spline_(mathematics)#Examples
Spline (mathematics) - Wikipedia

@acegikmo That is a standard thing, you have to solve a (tridiagonal, so easy mode) linear system to get the coeffs, and you get to pick the points they pass through and the boundary conditions but have absolutely no control over the shape in the middle of it; C2 + interpolating takes care of all the degrees of freedom in the interior of the curve
@rygorous yep! It's on my todo list

@acegikmo More generally, if you want higher levels of continuity and/or more control over things like derivatives, you can always do that by using a higher degree, it just gets unwieldy.

Finally B-splines are just a basis (that happens to be numerically very well-behaved), you can write any spline of a given degree in B-spline form and this is often a good idea if you need to do numerical work on it