Is it possible to obtain the Bezier extraction operator from a NURBS curve as described in the paper:
Borden, M. J., Scott, M. A., Evans, J. A., & Hughes, T. J. (2011). Isogeometric finite element data structures based on Bézier extraction of NURBS. International Journal for Numerical Methods in Engineering , 87 (1‐5), 15-47.
Hi -
I’m not sure you’ve posted this in the correct category, and, as such, if this answers your question…
You can use the ConvertToBeziers
command to create Bezier curves from a NURBS curve.
-wim
Another recent thread got me thinking about Bezier vs Spline.
Can Rhino extract bezier curves from fonts or will they always be converted splines?
Can Rhino import bezier curves from Adobe AI or PDF files (or any similar app that used bezier curves) or will they always be converted to splines on import?
Does SVG support both Splines and Beziers?
Hi Wim,
I wasn’t sure about the category so I just posted it under ‘rhino’ category.
I have tried to use ConvertToBeziers and it worked for some arbitrary NURBS curve but failed for a circular arc. I understand that this is not possible mathematically but atleast Rhino should tell that the operation is not valid here.
If you want to convert arcs/circles then first split the circle into 4 quadrants. Then rebuild each quadrant with a degree 6 single span bezier curve (7 control points). This should be as accurate as you need for manufacturing while maintaining an acceptable control point count.
Hi Rob,
I was actually trying to convert a quadrant of a cricle to Beziers and that failed. I understand that mathematically this isn’t possible. Okay, so by increasing the degree of the Bezier curve one can get closer to the actualy NURBS described quadrant of a circle but it wouldn’t be exact.
Indeed, it wouldn’t be exact but how tight is your manufacturing tolerance? In Automotive Class-A if we were within 0.001 of a mm then we’d be happy bunnies.
Or maybe this is just theoretical?
Yes, my pursuit is theoretical. Thank you for description though.
A circular arc which is 1/3 of a circle or less can be represented exactly by a rational degree 2 Bezier curve. It is not possible to exactly represent a circular arc or other conic curve using a non-rational Bezier curve.
https://pages.mtu.edu/~shene/COURSES/cs3621/NOTES/spline/NURBS/RB-circles.html
Any NURBS curve can be split into a group of Bezier curves of the same degree, with one Bezier curve per span. The Bezier curves will exactly match the NURBS curve. If the NURBS curve is non-rational the Bezier curves will be non-rational. If the NURBS curve is rational the Bezier curves will be rational.
In Rhino, a quadrant of a circle is usually already a Bezier curve: a degree 2 rational Bezier curve, as David explained.
Hello- are what failed, exactly? The ConvertToBeziers
command? If the input was a circle the result should be four 90 degree arcs; if the input was a 90 degree arc in its simplest form, there would be no change.
-Pascal