Non-Uniform Rational B-Spline (NURBS) curves and surface patches
[433,314] are the most popular representation method in
CAD/CAM due to their generality, excellent properties and
incorporation in international standards such as IGES (Initial
Graphics Exchange Specification) [182] and STEP
(Standard for the Exchange of Product Model Data)
[429]. The
NURBS functions have the same properties as integral B-splines, and
are capable of representing a wider class of geometries. The NURBS
curve is represented in a rational form
(1.87)
where
is a weighting factor and
is the B-spline
basis function. If all the weights are equal to one, the integral
B-spline is recovered. If the number of control points equals the
order of the NURBS curve, then the curve reduces
to a rational Bézier curve
(1.88)
The NURBS formulation permits exact representation of
conics, such as circle, ellipse and hyperbola.
Example 1.5.1.
Let us express the first quadrant of an ellipse as a rational
Bézier curve as shown in Fig. 1.15. A
parametric representation of such ellipse segment is given by
where
is an angle parameter.
If we set
then
Therefore the first quadrant of the ellipse can be described by
(1.89)
On the other hand a third order rational Bézier curve is given by
(1.90)
By equating the denominators of (1.89) and
(1.90), we find the weights to be
,
and
.
The three control points
,
,
can then be
easily obtained by the end points geometric property of the Bézier
curve as
,
, and
.
Figure 1.15:
The first quadrant of an ellipse described by a rational
Bézier curve
A NURBS surface patch can be represented as
(1.91)
where
is a weighting factor. This formulation allows for
exact representation of quadrics, tori, surfaces of revolution and
very general free-form surfaces. If all
, the integral
B-spline surface is recovered. If the number of control points are
equal to the order of the B-spline basis function in both parameters
and
,
then the NURBS surface reduces to a rational Bézier surface patch:
(1.92)
Figure 1.16:
1/16 of a torus represented by a rational
Bézier surface patch
Example 1.5.2.
Let us express 1/16th of a torus (in the first octant of a coordinate
frame) as a rational Bézier surface as shown in
Fig. 1.16. A parametric representation of such a
toroidal surface patch is given by
where
and
are angle parameters,
, and
,
,
are unit vectors having the directions of the positive
,
and
axes, respectively. If we set
then
Thus the toroidal surface patch under consideration can be described by
(1.93)
Now we will convert this rational polynomial surface patch into a rational
Bézier surface patch. A biquadratic Bézier surface is given by
(1.94)
By equating the denominators of (1.93) and
(1.94), we find the weights to be
The nine control points
,
can then be
easily obtained by the end points geometric property of the Bézier
surface as: