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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Non-uniform rational B-spline 82<br />

are non-zero over corresponding more knot spans and have correspondingly higher degree. If is the parameter, and is<br />

the -th knot, we can write the functions and as<br />

and<br />

The functions and are positive when the corresponding lower order basis functions are non-zero. By induction<br />

on n it follows that the basis functions are non-negative for all values of and . This makes the computation of<br />

the basis functions numerically stable.<br />

Again by induction, it can be proved that the sum of the basis functions for a particular value of the parameter is<br />

unity. This is known as the partition of unity property of the basis functions.<br />

The figures show the linear and the quadratic basis functions for the<br />

knots {..., 0, 1, 2, 3, 4, 4.1, 5.1, 6.1, 7.1, ...}<br />

One knot span is considerably shorter than the others. On that knot<br />

span, the peak in the quadratic basis function is more distinct, reaching<br />

almost one. Conversely, the adjoining basis functions fall to zero more<br />

quickly. In the geometrical interpretation, this means that the curve<br />

approaches the corresponding control point closely. In case of a double<br />

knot, the length of the knot span becomes zero and the peak reaches<br />

one exactly. The basis function is no longer differentiable at that point.<br />

The curve will have a sharp corner if the neighbour control points are not collinear.<br />

General form of a NURBS curve<br />

Linear basis functions<br />

Quadratic basis functions<br />

Using the definitions of the basis functions from the previous paragraph, a NURBS curve takes the following<br />

form [5] :<br />

In this, is the number of control points and are the corresponding weights. The denominator is a<br />

normalizing factor that evaluates to one if all weights are one. This can be seen from the partition of unity property<br />

of the basis functions. It is customary to write this as<br />

in which the functions<br />

are known as the rational basis functions.

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

Saved successfully!

Ooh no, something went wrong!