I have been investigating Catmull-Rom (CR) splines for interpolating curves and like my results so far, though I am having a fatal issue: Essentially, I am unable to map the "t" (say 0<=t<=1 where it measures the... for lack of a better way to explain it... 'parameterized' horizontal distance from P1 to P2 (using the P0,P1,P2,P3) notation here) to a tangible "x" value that would actually be charted in an X,Y coordinate space. Of course this is mostly a problem when using non-uniform CR splines (because xi=(ti-t0)+x0 in that case). I specifically like the features of the centripedal (alpha=0.5) CR splines, but the best I can do right now is ask my function to give me back a load of points and draw the curve. I am unable to say for example "Give me the point on the curve when x=some point i want. I have been able to recreate CR splines in excel and python, but still having no luck with the t->x mapping and my ultimate goal, asking to interp a specific x point and returning the corresponding y-value.
https://en.wikipedia.org/wiki/Centripetal_Catmull%E2%80%93Rom_spline is a good summary of what I have (the python code there is close to mine as well)