Spline Types
5 messages in this thread
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
Excellent description of the differences between the patch types,
Bill. It's all 100% relevant to skin.axp.
Good ! …. and THANKS.
Regards,
Bill
fascinating info. I'm using Softimage a bit lately and it has many
types of splines. I'm just beginning to understand and appreciate the
differences.
Thanks Martin….appreciate the comments. Spline types are fascinating
and I have used them in various CAD & 3D app's for a long time –
almost exclusively. That's one of the reasons it's very difficult
for me to get very deeply into using 3DS's (or any poly-based)
modeler – although 3DS has a very good modeller in general. I am most
certainly not a programmer and terrible at math, but I've been
compelled over the years to learn as much about their theory/use as
possible. The various types available in a 3D app. is certainly
useful, not only for modelling, but for use in controlling animation
timing, etc. as well. I know you are having fun with SoftImage –
especially the animation features. Maybe B.Gates will enable me to
afford SI for personal use running on my PC's soon ! <BG>.