What Are NURBS Curves in 3D Modeling?
If you’ve used Blender, Maya, or any other 3D program similar to either, you’ve probably noticed one very odd word amongst the rest of your options when generating a 3D primitive: NURBS curves. What are NURBS, and why should you use them in your projects?
NURBS curves can be used to create the perfect foundation for a number of subjects, tasks, and needs. Instead of tiptoeing delicately around hard edges and sharp points, you’re afforded gentle slopes and organic-feeling graduations, all thanks to the power of math.
What Does NURBS Mean?
NURBS stands for non-uniform rational B-spline—the B stands for basis. What is a spline, exactly?
“Spline” is just a fancy term used to signify abstraction between operators. A linear, 90-degree angle, for example, can be abstracted into an analogous curve by using the three points it’s composed of as a mathematical reference.
Instead of defining a curve manually, point-by-infinitesimal-point, B-splines plot it out using a couple of control points instead; the fewest possible “knots” or “elbows” that will result in the curve of your choosing.
The estimation that takes place between these control points is called interpolation. In essence, the position and the rotation of each handle meet the next through an averaging protocol, resulting in one smooth and continuous curve that takes little for a computer to interpret and reconstruct.
Each estimated point in between your “real” points falls right into line. Adjusting any handle changes the character of these intermediate points, creating a new curve with every move.
What About the “Non-Uniform Rational” Part?
“Non-uniform” is a matter of curve parametrization—that is, the relationship between your set of input parameters and the output NURBS value found in kind. In a non-uniform, chord-length spline, the parameter value of the furthest-reaching control point doesn’t necessarily need to be equal to the number of spans making up the curve in total.
In a non-uniform curve, some sections of the continuum may be affected by extreme values elsewhere. These significant differences may compress or pull upon other parts of the curve.
The attributes of each non-uniform parameter value have little to do with the actual length of the span it represents; this way, the curvature is distributed with more realism than it would be under a strictly uniform approach.
In a practical sense, these characteristics lend themselves to a curved surface that’ll be much less likely to warp or distort any texture applied to it. They’re more complex than curves utilizing uniform parametrization, but this complexity will usually shine through favorably in your final product.
“Rational” describes the way that a NURBS curve prioritizes the “weight” of influence that each control point has over the character of the curve non-homogeneously. Simple B-splines, conversely, boast a completely homogenous distribution of influence between every sequential control point. When this is the case, creating parabolic shapes becomes impossible.
What Are NURBS Curves Used For?
NURBS in 3D modeling are used to create curves and curved surfaces.
Whenever you need to create a unique or unusual curved shape quickly, without worrying about painstakingly carving it out by way of pure polygonal geometry alone, NURBS curves make following any example easy. Any time you’re modeling something smooth or subtly graduated is the perfect time to pick up a NURBS curve or two.
Sometimes, it’ll be better to start from square one with a single NURBS curve. Other times, NURBS surfaces can be used to cover more ground faster. What’s the difference? It all depends on how you’re planning on approaching your 3D model.
NURBS Curves in 3D Modeling
Using a NURBS curve gives you a lot of control over the shape of the surface of your 3D model. They can be modified in all the same ways that polygonal primitives can, with the added bonus of a much more forgiving smoothing function between each control point.
NURBS curves are the perfect 3D primitive to choose whenever you’re creating something like a vase or any other symmetrically-spun object. Many 3D modeling programs allow you to fill the gap between multiple NURBS curves in order to find the NURBS surface that would fall naturally between the two curved bodies.
In Autodesk Maya, this action is called Lofting. In Blender, you can accomplish this using the Fill command.
NURBS Surfaces in 3D Modeling
NURBS surfaces are created when a NURBS curve is extruded or when two or more join one another across the intervening 3D space in between. These NURBS “patches” can be used to build your 3D model piecemeal. They can also be used to supplement polygonal elements in an ordinary 3D model.
How is a NURBS surface found and computed? The linear distance bracketed between each control point is called an isoparm, broken down into two vector lengths of constant value along either your X or Y axis.
Each isoparm serves as the underlying support for the NURBS surface derived therein—the value found when both the X component and the Y component are factored in with one another is called the “span” between them. The more spans that your NURBS surface requires, the more detail your curved surface will include.
When Not to Use NURBS Curves and Surfaces
Because they’re a little more complicated than strictly straight lines and polygons, NURBS curves are usually reserved for any context in which your 3D model will be pre-rendered for consumption—rendered CGI imagery and 3D animation are two areas of digital art where NURBS may be used with abandon.
Industrial design models, scientific and other educational content, and other applications in this general vicinity are all great opportunities to use NURBS curves if you’ll have a chance to bake everything before distribution. Otherwise, you might need to use something a bit less demanding on your system (and the system of your audience, as well).
With things like video games, NURBS curves and surfaces may present something of a technical challenge. Luckily, it’s usually pretty easy to translate any NURBS curve or surface into an analogous arrangement of polygon geometry. When caught between the granularity of a NURBS curve and the easy-to-render simplicity of polygonal primitives, this is one way to harness the best of what both have to offer.
NURBS in 3D Modeling: Fast, Smooth, and Functional
They may not be perfect, but NURBS curves are incredibly useful for a number of reasons. The next time you’ve got a plan for a model and no way to get there, we recommend giving NURBS the ol’ college try.
UV maps allow you to accurately texture your 3D objects. We’re going to show you how to work with UVs in Blender.
About The Author