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 83<br />
Manipulating NURBS objects<br />
A number of transformations can be applied to a NURBS object. For instance, if some curve is defined using a<br />
certain degree and N control points, the same curve can be expressed using the same degree and N+1 control points.<br />
In the process a number of control points change position and a knot is inserted in the knot vector. These<br />
manipulations are used extensively during interactive design. When adding a control point, the shape of the curve<br />
should stay the same, forming the starting point for further adjustments. A number of these operations are discussed<br />
below. [6]<br />
Knot insertion<br />
As the term suggests, knot insertion inserts a knot into the knot vector. If the degree of the curve is , then<br />
control points are replaced by new ones. The shape of the curve stays the same.<br />
A knot can be inserted multiple times, up to the maximum multiplicity of the knot. This is sometimes referred to as<br />
knot refinement and can be achieved by an algorithm that is more efficient than repeated knot insertion.<br />
Knot removal<br />
Knot removal is the reverse of knot insertion. Its purpose is to remove knots and the associated control points in<br />
order to get a more compact representation. Obviously, this is not always possible while retaining the exact shape of<br />
the curve. In practice, a tolerance in the accuracy is used to determine whether a knot can be removed. The process is<br />
used to clean up after an interactive session in which control points may have been added manually, or after<br />
importing a curve from a different representation, where a straightforward conversion process leads to redundant<br />
control points.<br />
Degree elevation<br />
A NURBS curve of a particular degree can always be represented by a NURBS curve of higher degree. This is<br />
frequently used when combining separate NURBS curves, e.g. when creating a NURBS surface interpolating<br />
between a set of NURBS curves or when unifying adjacent curves. In the process, the different curves should be<br />
brought to the same degree, usually the maximum degree of the set of curves. The process is known as degree<br />
elevation.<br />
Curvature<br />
The most important property in differential geometry is the curvature . It describes the local properties (edges,<br />
corners, etc.) and relations between the first and second derivative, and thus, the precise curve shape. Having<br />
determined the derivatives it is easy to compute or approximated as the arclength from the<br />
second derivate . The direct computation of the curvature with these equations is the big<br />
advantage of parameterized curves against their polygonal representations.