If you’ve used Blender, Maya, or any other 3D program similar to either, you’ve probably noticed a very strange word among 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 base for a number of topics, tasks, and needs. Instead of delicately tiptoeing around hard edges and sharp points, you get gentle slopes and organic-feel graduations, all through the power of math.
What does NURBS mean?
NURBS stands for non-uniform rational B-spline – the B stands for base. What is a spline, exactly?
“Spline” is just a fancy term used to mean the abstraction between operators. A linear angle of 90 degrees, for example, can be summarized into an analogous curve using the three points that compose it as a mathematical reference.
Instead of defining a curve manually, point by infinitesimal point, B-splines draw it using a few control points instead; as few “knots” or “bends” as possible that will result in the curve of your choice.
The estimation that takes place between these control points is called interpolation. Essentially, the position and rotation of each handle meet through an averaging protocol, resulting in a smooth, continuous curve that takes little time to interpret and reconstruct by a computer.
Every estimated point between your “true” points falls directly into the line. Adjusting any handle changes the character of these midpoints, creating a new curve with each movement.
What about the “non-uniform rational” part?
“Non-uniform” is a matter of curve parametrization, i.e. the relationship between your set of input parameters and the output NURBS value found in kind. In a spline of non-uniform chord length, the value of the farthest control point parameter need not equal 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 large differences can compress or pull 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 more realistically than it would be in a strictly uniform approach.
In a practical sense, these characteristics lend themselves to a curved surface that will be much less likely to warp or distort any texture applied to it. They are more complex than curves using a uniform parametrization, but this complexity will generally show up favorably in your final product.
“Rational” describes how a NURBS curve prioritizes the “weight” of influence that each control point has on the character of the curve in an inhomogeneous way. Simple B-splines, on the other hand, have a completely homogeneous distribution of influence between each 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 quickly create a unique or unusual curved shape, without worrying about painstakingly carving it out using pure polygonal geometry, NURBS curves make it easy to follow any example. Anytime you’re modeling something smooth or subtly graduated, it’s a great time to take a NURBS curve or two.
Sometimes it’s better to start from scratch with a single NURBS curve. Other times, NURBS surfaces can be used to cover more ground faster. What is the difference? It all depends on how you plan to approach your 3D model.
NURBS curves in 3D modeling
Using a NURBS curve gives you a lot of control over the surface shape of your 3D model. They can be edited in the same way as polygon primitives, with the added bonus of a much more forgiving smoothing feature 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 rotated object. Many 3D modeling programs allow you to fill in the gap between multiple NURBS curves to find the NURBS surface that would naturally fall 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 meet in the intervening 3D space. These NURBS “patches” can be used to build your 3D model piecemeal. They can also be used to complement polygon elements in an ordinary 3D model.
How is a NURBS surface found and calculated? The linear distance between each control point is called isoparm, broken down into two vector lengths of constant value along your X or Y axis.
Each isoparm serves as the underlying support for the NURBS surface derived from it – the value found when the X component and the Y component are considered with each other is called the “span” between them. The more spans your NURBS surface requires, the more detail your curved surface will contain.
When not to use NURBS curves and surfaces
Because they are a little more complicated than strictly straight lines and polygons, NURBS curves are generally 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 can be used with abandon.
Industrial design models, scientific and other educational content, and other applications in this general neighborhood are all excellent opportunities to use NURBS curves if you have the ability to prepare everything before distribution. Otherwise, you may need to use something a little less demanding for your system (and your audience’s system as well).
With things like video games, curves and NURBS surfaces can present a technical challenge. Fortunately, it’s usually fairly easy to translate any NURBS curve or surface into an analogous arrangement of polygon geometry. When you’re stuck between the granularity of a NURBS curve and the easy rendering simplicity of polygon primitives, this is one way to harness the best of what both have to offer.
NURBS in 3D modeling: fast, fluid and functional
They may not be perfect, but NURBS curves are incredibly useful for a number of reasons. The next time you have a plan for a model and you have no way of getting there, we recommend trying NURBS the old-fashioned way.
UV maps allow you to precisely texture your 3D objects. We’ll show you how to work with UVs in Blender.
About the Author