[comp.graphics] curve represenation

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