Thank you for the suggestion. It seems as though Graffle is similar to Catmull-Rom in that a curve is interpolated based on the two points to the left of it and the two points to the right. However, using the catmull-rom algorithm described at:

http://www.mvps.org/directx/articles/catmull/
I was unsuccessful.

For example, given the point list:

{{101, 248}, {211, 218}, {276, 149}, {336, 601}},

one of the points interpolated between the second and third point above should be {247.242462, 130.257446}, but using the algorithm referenced above, I was unable to obtain a point close to that.

If anyone has any ideas, I would be most grateful.

-Dylan