3D graphics eBook - Course Materials Repository
3D graphics eBook - Course Materials Repository
3D graphics eBook - Course Materials Repository
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