Quote:> G'day,

> I have not been following this one closely but if all the poster

> wants to do is to go from a cubic (degree 3) Bezier curve to a

> quadratic (degree 2) Bezier curve, then there are standard

> algorithms for doing this quite simply.

The first sentence of my post to the original question:

"No doubt there are many ways to do the reduction."

The poster did not specify if he has a single cubic curve

that he wants to reduce to a single quadratic curve, or

if he has a piecewise cubic curve that he wants to reduce

to a piecewise quadratic curve. My first post to his

question suggested algorithms for each.

Quote:> Robin Forrest gave the algorithm as early as 1972.

I think "the" should have been "an". As I said, there

are many ways to do a reduction in degree.

Quote:> The technique is discussed, with a

> worked example, in the Introduction to NURBS, With Historical

> Perspective book (Section 3.13, p. 102)

> (www.nar-associates.com/nurbs).

I believe some time ago you also responded to one of

my posts where I suggested using a least-squares

method to minimize the L2 integral norm between the

original curve and its approximated curve, the response

being to use the "standard" algorithm by Piegl-Tiller

(as described in your book). I am curious what objections,

if any, you have to the global least-squares approach.

This approach does not force you to use any of the original

knots. You choose your "knot budget", so to speak, and

construct the approximation curve using a global measure

of error. For a single cubic curve that can be exactly

reduced to a quadratic, the least-squares method produces

exactly that quadratic.

Quote:> Note that it is not possible to degree reduce all Bezier

> curves and that the reduction process is an approximation

> process.

The original poster already acknowledged that the

reduction may be an approximation. Not sure what you

mean by "it is not possible to degree reduce all Bezier

curves". You can always choose a smaller degree

Bezier curve as an approximation to a larger degree

one. It is only a matter of how good/bad an approximation

your application is willing to tolerate.

--

Dave Eberly

http://www.magic-software.com