Spline Types
Hi All,
Since I've seen some questions here regarding Bi-Cubic Patches (from
B-Splines) and Catmull-Rom Splines as they relate to the forthcoming Yost Skin
IPAS routine, I thought I would jump in and post this little blurb regarding
that subject FWIW:
You can generally classify spline curves into 2 categories:
INTERPOLATING – Curve which passes through it's user-defined or program-
generated control points.
APPROXIMATING – Curve which does not pass through it's conrol points.
The B-Cubic Patch (derived from B-Splines) is an APPROXIMATING spline type,
while the Catmull-Rom type Gary recently mentioned is an INTERPOLATING type.
Both types are useful and have different characteristics and considerations
when employing them in geometry definitions.
When using uniform B-Splines, usually (not always) you define the points for a
control hull or lattice, and the curve generated only *approaches* the defined
control points. By doubling or tripling a control point, you can force the
curve to be pulled closer to the control point. As you can see in the
SKINNING.gif example posted here, the cross-sections are somewhat angular in
nature (the hull), but the resulting mesh is quite smooth – but will not
represent the *actual* shape as defined with the cross-sections due to the
approximating nature of the spline.
On the other hand, when using the Catmull-Rom type, one can create the
cross-sections pretty much as an *accurate* description of the desired skinned
shape, as the curve will pass through the control points. The C-R spline
exploits a parabolic blending technique, when extended, enables the concept of
tension to be introduced which controls the tangent of the curve as it passes
through the control points. I do not know if this concept of "weighted"
adjustable control points will be employed or is even within the scope of the
IPAS routine though.
Examples of B-Spline implementations can be found in AutoCad & other CAD
programs on the PC, as well as Topas, Real 3D and other 3D programs, if you
have seen/used any of those.
Examples of the Catmull-Rom type can be seen in Playmation (I believe, or
certainly something similar).
I hope this has been helpful to some whom have inquired, and if I have
mis-stated something, especially regarding the IPAS implementations, I'm sure
someone will correct me.
Regards,
Bill