as@progress.COM (Amitabh Shukla) (11/15/90)
I posted the following article in comp.graphics yesterday. > > I am trying to poll peoples opinion on what there preference is > when choosing between spline or bezier to represent curves. I would > appreciate if you could tell the reason for choosing one over another. > > Are there any public domain software on any of the two methods for > representing curves? If there is can someone tell me from where to get it. > > and people complained and I was being to vague. I will be more clear now. What I want to know is what is the industry standard to store information about curves? The choices being bezier curve or uniform/non-uniform b-spline represenation. Thanks amitabh email : as@progress.com
rhbartls@watcgl.waterloo.edu (Richard Bartels) (11/15/90)
In article <1990Nov14.160528.10333@progress.com> as@progress.COM (Amitabh Shukla) writes: > >What I want to know is what is the industry standard to store information about >curves? The choices being bezier curve or uniform/non-uniform >b-spline represenation. > Given those choices, the answer would have to be Bezier. Any of the possibilities listed can easily, and reasonably, be represented in Bezier format. The same cannot be said for uniform B-spline representation. The same could be said for non-uniform B-spline representation, but the storage costs are somewhat higher. Thus it is that one sees Bezier representation as a frequent industry choice for representation and interchange. A curve in x format Can be represented in y format Yes/No ------------------- ------------------------------ ------ Bezier Bezier Yes Bezier uniform B-spline Generally not Bezier non-uniform B-spline Yes uniform B-spline Bezier Yes uniform B-spline uniform B-spline Yes uniform B-spline non-uniform B-spline Yes non-uniform B-spline Bezier Yes non-uniform B-spline uniform B-spline Generally not non-uniform B-spline non-uniform B-spline Yes Comparing a Bezier representation and a non-uniform B-spline representation that are made for the same curve, roughly: Each segment of the Bezier representation would require degree+1 numbers per coordinate (x,y,z) and an additional two numbers for the parametric interval (sometimes compressed to one number for contiguous segments or discarded by reparameterizing each interval to [0,1]). Each segment of the non-uniform representation would require degree+1 numbers per coordinate, an additional two numbers for the parametric interval (compressable to one for contiguous segments, but not discardable, and some indication of the multiplicity of the knots at the ends of the segment (e.g. two integers, compressable to one for contiguous segments). The evaluation algorithm is more complicated than the one for Bezier splines. -Richard
larry@csccat.cs.com (Larry Spence) (11/16/90)
In article <1990Nov14.193732.570@watcgl.waterloo.edu> rhbartls@watcgl.waterloo.edu (Richard Bartels) writes: >In article <1990Nov14.160528.10333@progress.com> >as@progress.COM (Amitabh Shukla) writes: >> >>What I want to know is what is the industry standard to store information about >>curves? The choices being bezier curve or uniform/non-uniform >>b-spline represenation. >> >Given those choices, the answer would have to be Bezier. The table below doesn't mention rational vs. non-rational curves. An important point is that non-rational cubics cannot exactly represent conics. Of course, Mr. Bartels knows this, but Mr. Shukla may not. >Thus it is that one sees Bezier representation as a frequent industry >choice for representation and interchange. I'm not a CAD guru, but I had the impression that many CAD systems are using NURBS as an exchange format (i.e., IGES format). > [non-uniform splines] > The evaluation algorithm is more complicated than the one for Bezier > splines. And NURBS are even nastier. %) -- Larry Spence larry@csccat.cs.com ...{uunet,texsun,cs.utexas.edu,decwrl}!csccat!larry
ad@txlad.dirksen.de (Axel Dirksen) (11/16/90)
In <1990Nov14.160528.10333@progress.com> as@progress.COM (Amitabh Shukla) writes: > I posted the following article in comp.graphics yesterday. > .. .. > and people complained and I was being to vague. I will be more clear >now. >What I want to know is what is the industry standard to store information about >curves? The choices being bezier curve or uniform/non-uniform b-spline represenation. > Thanks > amitabh I think this question should not arise as bezier splines are only a special case of bsplines, so why don't you just implement bsplines and you'll get bezier's automatically by giving the right knot vector and degree :-). As far as industrial standards are concerned we have here the german car manufacturer's norm VDA, ( Mercedes, Bmw, Vw use it) which so far does not use splines at all but segmented polynominal representations of arbitrary degree for surfaces as well as ( trimming ) curves, so you would have to translate these back to bsplines in case you want to get to e.g. Iges I guess. -- axel ad@txlad.uucp ad@txlad.dirksen.de
rhbartls@watcgl.waterloo.edu (Richard Bartels) (11/16/90)
In article <4012@csccat.cs.com> larry@csccat.UUCP (Larry Spence) writes: > >The table below doesn't mention rational vs. non-rational curves. An important >point is that non-rational cubics cannot exactly represent conics. Of course, >Mr. Bartels knows this, but Mr. Shukla may not. > True. I knew it. I'm the fellow who submitted the inclusion in the "most frequently asked questions" posting about doing circles with splines. I just thought I'd get out easily, since the original questions offered only integral (non-rational) choices. >>Thus it is that one sees Bezier representation as a frequent industry >>choice for representation and interchange. > >I'm not a CAD guru, but I had the impression that many CAD systems are using >NURBS as an exchange format (i.e., IGES format). > I'm not an IGES guru, either. If it's NURBS in IGES, then I've learned something. Industry types I consult with stick to Bezier for a variety of reasons. One of them had to do with passing the surface model off to other users, which they do in IGES format. But, on reflection, the reasons they give me for sticking with Bezier in this regard could also be interpreted as "we don't have machine-tool drivers that understand rational splines." Their own modeler, in fact, understands rational splines, but they avoid using any other weights than 1.0000000. :-) -Richard