CompuServe Thread

Spline Types

5 messages in this thread
#87406From: M. G. BATCHELORFeb 28, 1994 5:21 PM
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
#87475From: Yost GroupFeb 28, 1994 9:28 PM
Excellent description of the differences between the patch types, Bill. It's all 100% relevant to skin.axp.
#87505From: M. G. BATCHELORFeb 28, 1994 10:50 PM
Good ! …. and THANKS. Regards, Bill
#87651From: MARTIN G FOSTERMar 1, 1994 12:45 PM
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.
#87678From: M. G. BATCHELORMar 1, 1994 3:15 PM
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>.