I finally got around to implementing a 3D version of the Catmull-Rom spline. My primary intended use is for path animation in Papervision 3D. The 3D version of the C-R spline does not have the 2D draw() method, but it maintains support for arc-length parameterization and automatic closure (with smooth transition through the closure).
The former property is useful for velocity control and proper easing during path animation while the latter is useful for continuous fly-throughs. An online demo is available, but be warned. It is distilled down to a very simple level in order to make the code easier to understand. The result is probably the ugliest PV3D demo you will ever see 🙂
The red cubes represent markers, indicating control-point placement in 3D space. The green sphere is animated (using arc-length parameterization) along the path.
Check out the online demo here, which includes a link to download the Singularity package (now containing the alpha 3D Catmull-Rom spline).