# Can someone explain NURBS?

I’ve looked at all the explanations that I can find on the web and the Red Book on NURBS and they have to be the most execrable explanations for anything. Ever.
So could someone please be kind enough to tell me exactly what KNOT POINTS do, how CONTROL POINTS work and how they interact? Plain Engligh is desirable, since all explanations I’ve seen, including the infamous Red Book are lazy, equation-heavy garbage.
Thanks a lot,
ovenchips.

NURBS are a complex subject. Basically, a NURBS surface’s shape is controlled by a grid-like hull (or cage). At each intersection of the cage, there is a CV (control vertex). Each CV has “gravity” to it, so pushing and pulling on the CV’s alter the shape of the NURBS surface accordingly. The knots (or edit points) are points directly on the surface that you can use to edit the surface also.

There’s a lot more, and I could try to explain them till I’m blue in the face, but the best thing to do is either write a test program with NURBS or try out a 3d package (like Maya) and play with the NURBS.

Greg

Thanks Greg.
I figured out that much already but I was wondering about something like this: What does a common knot sequence like this mean? - {0.0,0.0,0.0,0.0,1.0,1.0,1.0,1.0}. I understand that it’s nondecreasing and that repeated values mean the surface is interpolated to a single point or something but it’s all VAGUE.
Another example: in the gluNurbsSurface() method call what EXACTLY (and I mean exactly) do Ustep and Vstep mean? Again, I’ve seen VAGUE explanations that seem contradictory. Also, since Ustep and Vstep define the knots (they DO define the knots don’t they?) then what is the aforementioned knot sequence for?
I’ll bet it’s not as mystic or as complicated as it’s made out to be. In fact I know it’s easy but I can’t find a decent explanation of NURBS.
Thanks again,
ovenchips.

Ovenchips,

I share in your frustration of poor to non-existent description of knots when specifying a NURBS surface. It seems all explanations a glossed over like it is obvious or you need to be a PHD in math to understand

The best explanation I’ve seen is at the following Web site:
http://devworld.apple.com/dev/techsupport/develop/issue25/schneider.html

Hope it helps.

later

Jeff W