SubD Ex;port

 From:  Michael Gibson
478.28 In reply to 478.27 
> So you say a NURBS patch is limited to 4 sides... well so is a NURBS patch, right?

Both Beziers and NURBS have a rectangular type 4-sided grid, yes.


> I don't quite understand this bezier limitation... can't you have any number
> of patches in a grid with both NURBS and bezier?

Sure, you can stick together a bunch of little surfaces with either method.

But with Beziers you are forced to stick together a bunch of little separate surfaces. With NURBS you have an alternative - you don't have to stick together a whole bunch of different NURBS surfaces, you can have one single NURBS surface that is longer.

For instance the result of a sweep is just one single NURBS surface, not a whole bunch of little NURBS surfaces arranged together. With Beziers you are forced to do the "whole bunch arranged next to each other" method.


> each of these consist of 3x4 points (one for corner position, and 2 for defining curvature)

Those 2 inside points immediately define the tangent direction only, not the curvature.


> So you're sure you'll have at least 2G (?) continuity.

Nope - in fact that is the big problem you are only guaranteed to have G1 / Tangent continuity with this method of bezier arrangement, unless you do another further lockdown of making the points on either side equal distances from the corner point.

On the other hand a NURBS surface made up of a longer number of points in one single surface is able to have G2 curvature continuity throughout the entire surface, without doing any kind of special "lockdowns" or spacing restrictions on the points that you can move around.

The typical "chain of beziers" mechanism results in shared tangents only between each piece, usually these chains have breaks in curvature between each bezier piece. That's one reason why MoI doesn't use the 2D illustrator style bezier curve drawing, because it does not generate a G2 result curve.


> I don't get why these points couldn't be interpolated in a sweep just like the
> b-spline points in a NURBS swept surface...

Well you could do it. But it is not commonly done since there are all these kinds of restrictions on how the resulting points have to be arranged. If you pull on one point in the resulting Bezier patchwork, a bunch of other points nearby have to be moved along with it and re-arranged. This is just clumsy in general from several viewpoints, both from code implementation as well as user interface.

NURBS solves this problem by making it possible to have a surface with more than 4 points in it without requiring a bunch of point restrictions and point "lockdowns".

- Michael