how converting NURB to bezier ?

how converting NURB to bezier ?

Post by reeichenber.. » Wed, 20 Sep 2000 04:00:00



Hi (sorry for my english)

first, i'm not a mathematician ! :-)
how can i convert NURB-Spline to a BEZIER-Spline ? the best way for me
is a simple java-source that use "GeneralPath" to draw/simulate a NURB.
Java2D support only beziers with quadric and cubic - curves. Is there a
simple way to do that ?

Thanks
Remo

Sent via Deja.com http://www.deja.com/
Before you buy.

 
 
 

how converting NURB to bezier ?

Post by Icabo » Wed, 20 Sep 2000 04:00:00


Not easy,

You will have to reduce the order of the NURB to cubic (may not be possible
for all curves) and then increase the multiplicity of each knot to 4 by
inserting duplicate knot values.

The NURBS Book by Les Piegl and Wayne Tiller has excellent pseudo-c
examples.

Good Luck

Icabod

 
 
 

how converting NURB to bezier ?

Post by Robert Nkol » Thu, 21 Sep 2000 04:00:00


Quote:> You will have to reduce the order of the NURB to cubic (may not be
possible
> for all curves) and then increase the multiplicity of each knot to 4 by
> inserting duplicate knot values.

> The NURBS Book by Les Piegl and Wayne Tiller has excellent pseudo-c
> examples.

> Good Luck

> Icabod

Not very precise what you write!!!!!!

you say:

1- reduce the order of the NURB to cubic
2- "increase multiplicity to 4 ..."

both points are not "very" True:

1- bezier can have any degree you want -> but: with higher degree it become
difficult to control the curve.
1- a bezier curve doesn't have interior knots
2- so: the number of control points is equal the Order
   since:
     bezier must be clamped -> means: the curve must correspond to the first
and last control point
      and:
        to do this clamp: the first and last knots must have multiplicity
order.
       m + 1 -> number of knots
        n + 1 -> number of control points
        p -> degree
        p +1->order

        m +1 =  (n+1)  + (p+1);

so to convert a nurbs to a bezier:
1- each knot-span [a, b) must be transformed to [a...a, b..b] -> a and b
each with multiplicity equal order.
2- so you get a sequence of Bezier-curves
    - each with a knot-vector without interior knots
    - each with number of control points equal the order of the curve

N.B. if you need a degree-Reduction-Algo, i wrote a very good one with 80%
better Results than
        the one present in the "Nurbs-Book" .


 
 
 

how converting NURB to bezier ?

Post by Icabo » Thu, 21 Sep 2000 04:00:00


I am sorry for the imprecision of my response.

However it is a reasonable synopsis of the neccasary steps.

Also while a Bezier can have any order the initiator of this thread
specified that he was limited to quadric (??? quadratic) and cubic Beziers.

Icabod

 
 
 

how converting NURB to bezier ?

Post by PROF D. Rogers {EAS FA » Thu, 21 Sep 2000 04:00:00


G'day,

I would like to see the code and the theory for your
degree reduction algorithm. My email address is above.
Thanks in advance.

dfr


!! You will have to reduce the order of the NURB to cubic (may not be
!possible
!! for all curves) and then increase the multiplicity of each knot to 4 by
!! inserting duplicate knot values.
!!
!! The NURBS Book by Les Piegl and Wayne Tiller has excellent pseudo-c
!! examples.
!!
!! Good Luck
!!
!! Icabod
!!
!
!
!Not very precise what you write!!!!!!
!
!you say:
!
!1- reduce the order of the NURB to cubic
!2- "increase multiplicity to 4 ..."
!
!both points are not "very" True:
!
!1- bezier can have any degree you want -! but: with higher degree it become
!difficult to control the curve.
!1- a bezier curve doesn't have interior knots
!2- so: the number of control points is equal the Order
!   since:
!     bezier must be clamped -! means: the curve must correspond to the first
!and last control point
!      and:
!        to do this clamp: the first and last knots must have multiplicity
!order.
!       m + 1 -! number of knots
!        n + 1 -! number of control points
!        p -! degree
!        p +1-!order
!
!        m +1 =  (n+1)  + (p+1);
!
!so to convert a nurbs to a bezier:
!1- each knot-span [a, b) must be transformed to [a...a, b..b] -! a and b
!each with multiplicity equal order.
!2- so you get a sequence of Bezier-curves
!    - each with a knot-vector without interior knots
!    - each with number of control points equal the order of the curve
!
!
!N.B. if you need a degree-Reduction-Algo, i wrote a very good one with 80%
!better Results than
!        the one present in the "Nurbs-Book" .
!

!

 
 
 

how converting NURB to bezier ?

Post by Robert Nkol » Fri, 22 Sep 2000 04:00:00


uhmmmmm i don't really know!!!
will you protect my Copyright ?
or should i introduce like "FERMAT" a kind of : "Coder Last presumption" ? :
:)

if you are good in Parametric Definition of Curves and Surfaces.
Maybe we could write a Book together.
I've also written Poly to Nurbs Converter (positional c0).
Or if you want i could write an Executable so you can test both algo

Robert Nkolo



> G'day,

> I would like to see the code and the theory for your
> degree reduction algorithm. My email address is above.
> Thanks in advance.

> dfr



> !! You will have to reduce the order of the NURB to cubic (may not be
> !possible
> !! for all curves) and then increase the multiplicity of each knot to 4 by
> !! inserting duplicate knot values.
> !!
> !! The NURBS Book by Les Piegl and Wayne Tiller has excellent pseudo-c
> !! examples.
> !!
> !! Good Luck
> !!
> !! Icabod
> !!
> !
> !
> !Not very precise what you write!!!!!!
> !
> !you say:
> !
> !1- reduce the order of the NURB to cubic
> !2- "increase multiplicity to 4 ..."
> !
> !both points are not "very" True:
> !
> !1- bezier can have any degree you want -! but: with higher degree it
become
> !difficult to control the curve.
> !1- a bezier curve doesn't have interior knots
> !2- so: the number of control points is equal the Order
> !   since:
> !     bezier must be clamped -! means: the curve must correspond to the
first
> !and last control point
> !      and:
> !        to do this clamp: the first and last knots must have multiplicity
> !order.
> !       m + 1 -! number of knots
> !        n + 1 -! number of control points
> !        p -! degree
> !        p +1-!order
> !
> !        m +1 =  (n+1)  + (p+1);
> !
> !so to convert a nurbs to a bezier:
> !1- each knot-span [a, b) must be transformed to [a...a, b..b] -! a and b
> !each with multiplicity equal order.
> !2- so you get a sequence of Bezier-curves
> !    - each with a knot-vector without interior knots
> !    - each with number of control points equal the order of the curve
> !
> !
> !N.B. if you need a degree-Reduction-Algo, i wrote a very good one with
80%
> !better Results than
> !        the one present in the "Nurbs-Book" .
> !

> !

 
 
 

how converting NURB to bezier ?

Post by Dave Eberl » Fri, 22 Sep 2000 04:00:00




> > G'day,

> > I would like to see the code and the theory for your
> > degree reduction algorithm. My email address is above.
> > Thanks in advance.



Quote:> uhmmmmm i don't really know!!!
> will you protect my Copyright ?
> or should i introduce like "FERMAT" a kind of : "Coder Last presumption" ?
:
> :)

> if you are good in Parametric Definition of Curves and Surfaces.
> Maybe we could write a Book together.

Robert, take a look at the book

  An Introduction to NURBS With Historical Perspective
  by David F. Rogers
  Morgan Kaufmann Publishers
  ISBN 1-55860-669-6
  appeared Summer of 2000

Does the author's name sound familiar?  :)

--
Dave Eberly

http://www.magic-software.com

 
 
 

how converting NURB to bezier ?

Post by Robert Nkol » Fri, 22 Sep 2000 04:00:00


you are right,
uhmmmmmm Cool !

do you write this one?:
3D Game Engine Design : A Practical Approach to Real-Time Computer Graphics

I'm very impressed!!!!!!!!!

Robert Nkolo




> > > G'day,

> > > I would like to see the code and the theory for your
> > > degree reduction algorithm. My email address is above.
> > > Thanks in advance.



> > uhmmmmm i don't really know!!!
> > will you protect my Copyright ?
> > or should i introduce like "FERMAT" a kind of : "Coder Last presumption"
?
> :
> > :)

> > if you are good in Parametric Definition of Curves and Surfaces.
> > Maybe we could write a Book together.

> Robert, take a look at the book

>   An Introduction to NURBS With Historical Perspective
>   by David F. Rogers
>   Morgan Kaufmann Publishers
>   ISBN 1-55860-669-6
>   appeared Summer of 2000

> Does the author's name sound familiar?  :)

> --
> Dave Eberly

> http://www.magic-software.com

 
 
 

1. Converting a Nurb surface back into a Nurb Curve

Converting "NURBS" back into a "NURB CURVE" with "edit stock" in r2.5 was no
problem,
but how can I do this in r3.0?

I have done some error with the surface creating and need to do surface
again.

Thanx:))

2. Web Hosting for Graphic Artists

3. NURB to Bezier surface conversion

4. Sorry just a test

5. Bezier surface fitting (NURB,poly)

6. How to make OUTLINE TEXT in PS5

7. NURB/bezier line intersection?

8. Red, Green, Blue

9. NURB to Bezier Curve

10. Bezier to NURB

11. Convert text to 3D NURB

12. Converting NURB curves to splines in MAX2

13. Converting polygons to a NURB