07.01.2013 Views

3D graphics eBook - Course Materials Repository

3D graphics eBook - Course Materials Repository

3D graphics eBook - Course Materials Repository

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!