NURBS fundamentals
B-Splines ( "BS" in NURBS - Non Uniform Rational B Splines - NURBS are obtained when homogeneous coordinate systems enter the picture, see below) are obtained by decomposing
the space of piece-wise
polynomial functions of a single variable and of a given degree n (which, in
Computer Graphics and
CAD, is often taken to be three),
over a
orthonormal basis of piecewise polynomials of the same degree. The polynomial spans are required to have
n-1 continuity at the points where they join (called
nodes) thus achieving the maximum possible smoothness. (The distance among the nodes can be held constant or allowed to change: in the second case the curves are said to be Non-Uniform, this explains the first two letters of the name)
The resulting - and quite elegant - representation takes the form of a summation of products of the the basis functions with real coefficients (called weights). The weights themselves can be interpreted as the three dimensional coordinates of the vertices of a polygonal curve called the control polygon of the B-spline.
The control polygon (a concept very similar to the like-named one that is met in the study of Bezier curves) has many interesting properties (the curve lies entirely in the convex hull of the control polygon; a B-Spline of degree 1 is its own control polygon,...) whose summary is that the B-spline is the smoothest piecewise polynamial curve that is closest to the control polygon (for some definition of closest).
Another very interesting result is that it is possible to
subdivide the control polygon of a B-spline in a way that makes it an increasingly better approximation of the curve itself; this result leads to an efficient algorithm to draw the curve on a computer screeen.
B-Splines - like any piecewise integer polynomial - are not capable of giving an exact representation of many algebraic curves, conics included. It is therefore impossible to represent an arc of a circle as a B-Spline.
It turns out that this limitation no longer holds in the 4 - dimensional projective space: the 3-D immersion of 4-dimensional (NU) B-splines are indeed capable of exact representation of the conical curves. Because in the familiar process of converting homogeneous coordinates in 3-D coordinates the resulting polynomials are no longer integer, the word Rational is introduced, thereby completing the explanation of the acronym.
As mentioned above, NURBS as curves and surfaces (obtained as a cartesian product of NURBS curves) "hug" their control polygons (or polyhedra) much more closely then their Bezier cousins. This is both one their strength (the other being that NURBS - composite by their nature - are much easier to manage than composite Bezier) and also their chief weakness.
- Strength: it is very easy to approximate any shape by quickly sketching a control polygon and drawing the attending NURBS.
- Weakness: NURBS with a long and flexible control polygon are hard to edit without creating localized "bumps". Unlike Bezier curves NURBS have no built in "smoothing" of the movement of the control vertices. So NURBS are difficult to use (as such) in activities, such as precision car body design, where smooth, gradual variation of the differential properties (specially curvature) of the curves is extremely important.