The following post discussed how to convert(approximate) NURBS curve into cubic Bézier curve: Convert NURBS curve into Cubic Bezier Curve

I am trying to come up with an algorithm that converts(approximates) NURBS surface into cubic Bézier surfaces(patches), here is my thought(from the post):

  1. convert NURBS to piecewise Rational B-Splines
  2. convert B-spline to R-Bézier
  3. Use progressive iterative approximation(PIA) to convert the Rational Bézier to Non-rational Bézier.

So far I have done the PIA algorithm, yet I don't know how to start the conversion from NURBS surfaces to R-Bézier surfaces, I know that the surface is of tensor product of two curves, but I have a hard time understanding how to use this property.

  • $\begingroup$ You are using an approximation anyway, so why converting to R-Bézier rather than using PIA directly ? $\endgroup$
    – user16034
    May 16, 2023 at 8:13
  • $\begingroup$ What points do I need from NURBS to give a good approximation? $\endgroup$
    – John He
    May 16, 2023 at 17:27
  • $\begingroup$ More points where the curvature is high. Maybe curve flattening can be a good start. $\endgroup$
    – user16034
    May 16, 2023 at 18:14


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.