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 81<br />

The knot span lengths then translate into velocity and acceleration, which are essential to get right to prevent damage<br />

to the robot arm or its environment. This flexibility in the mapping is what the phrase non uniform in NURBS refers<br />

to.<br />

Necessary only for internal calculations, knots are usually not helpful to the users of modeling software. Therefore,<br />

many modeling applications do not make the knots editable or even visible. It's usually possible to establish<br />

reasonable knot vectors by looking at the variation in the control points. More recent versions of NURBS software<br />

(e.g., Autodesk Maya and Rhinoceros <strong>3D</strong>) allow for interactive editing of knot positions, but this is significantly less<br />

intuitive than the editing of control points.<br />

Order<br />

The order of a NURBS curve defines the number of nearby control points that influence any given point on the<br />

curve. The curve is represented mathematically by a polynomial of degree one less than the order of the curve.<br />

Hence, second-order curves (which are represented by linear polynomials) are called linear curves, third-order curves<br />

are called quadratic curves, and fourth-order curves are called cubic curves. The number of control points must be<br />

greater than or equal to the order of the curve.<br />

In practice, cubic curves are the ones most commonly used. Fifth- and sixth-order curves are sometimes useful,<br />

especially for obtaining continuous higher order derivatives, but curves of higher orders are practically never used<br />

because they lead to internal numerical problems and tend to require disproportionately large calculation times.<br />

Construction of the basis functions [4]<br />

The basis functions used in NURBS curves are usually denoted as , in which corresponds to the -th<br />

control point, and corresponds with the degree of the basis function. The parameter dependence is frequently left<br />

out, so we can write . The definition of these basis functions is recursive in . The degree-0 functions<br />

are piecewise constant functions. They are one on the corresponding knot span and zero everywhere else.<br />

Effectively, is a linear interpolation of and . The latter two functions are non-zero for<br />

knot spans, overlapping for knot spans. The function is computed as<br />

From bottom to top: Linear basis functions<br />

(blue) and (green), their weight<br />

functions and and the resulting quadratic<br />

basis function. The knots are 0, 1, 2 and 2.5<br />

rises linearly from zero to one on the interval where is non-zero, while falls from one to zero on<br />

the interval where is non-zero. As mentioned before, is a triangular function, nonzero over two knot<br />

spans rising from zero to one on the first, and falling to zero on the second knot span. Higher order basis functions

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

Saved successfully!

Ooh no, something went wrong!