3D graphics eBook - Course Materials Repository
3D graphics eBook - Course Materials Repository
3D graphics eBook - Course Materials Repository
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Non-uniform rational B-spline 79<br />
The definition of the continuity 'Cn' requires that the n th derivative of the curve/surface ( ) are equal<br />
at a joint. [1] Note that the (partial) derivatives of curves and surfaces are vectors that have a direction and a<br />
magnitude. Both should be equal.<br />
Highlights and reflections can reveal the perfect smoothing, which is otherwise practically impossible to achieve<br />
without NURBS surfaces that have at least G2 continuity. This same principle is used as one of the surface<br />
evaluation methods whereby a ray-traced or reflection-mapped image of a surface with white stripes reflecting on it<br />
will show even the smallest deviations on a surface or set of surfaces. This method is derived from car prototyping<br />
wherein surface quality is inspected by checking the quality of reflections of a neon-light ceiling on the car surface.<br />
This method is also known as "Zebra analysis".<br />
Technical specifications<br />
A NURBS curve is defined by its order, a set of weighted control points, and a knot vector. NURBS curves and<br />
surfaces are generalizations of both B-splines and Bézier curves and surfaces, the primary difference being the<br />
weighting of the control points which makes NURBS curves rational (non-rational B-splines are a special case of<br />
rational B-splines). Whereas Bézier curves evolve into only one parametric direction, usually called s or u, NURBS<br />
surfaces evolve into two parametric directions, called s and t or u and v.<br />
By evaluating a NURBS curve at<br />
various values of the parameter, the<br />
curve can be represented in Cartesian<br />
two- or three-dimensional space.<br />
Likewise, by evaluating a NURBS<br />
surface at various values of the two<br />
parameters, the surface can be<br />
represented in Cartesian space.<br />
NURBS curves and surfaces are useful<br />
for a number of reasons:<br />
• They are invariant under affine [2] as<br />
well as perspective [3]<br />
transformations: operations like<br />
rotations and translations can be<br />
applied to NURBS curves and surfaces by applying them to their control points.<br />
• They offer one common mathematical form for both standard analytical shapes (e.g., conics) and free-form<br />
shapes.<br />
• They provide the flexibility to design a large variety of shapes.<br />
• They reduce the memory consumption when storing shapes (compared to simpler methods).<br />
• They can be evaluated reasonably quickly by numerically stable and accurate algorithms.<br />
In the next sections, NURBS is discussed in one dimension (curves). It should be noted that all of it can be<br />
generalized to two or even more dimensions.<br />
Control points<br />
The control points determine the shape of the curve. Typically, each point of the curve is computed by taking a<br />
weighted sum of a number of control points. The weight of each point varies according to the governing parameter.<br />
For a curve of degree d, the weight of any control point is only nonzero in d+1 intervals of the parameter space.<br />
Within those intervals, the weight changes according to a polynomial function (basis functions) of degree d. At the<br />
boundaries of the intervals, the basis functions go smoothly to zero, the smoothness being determined by the degree