NURBS: Important Properties
Given a set of n+1 control points P_{0},
P_{1}, ..., P_{n}, each of which is
associated with a nonnegative weight w_{i}
(i.e., P_{i} has weight
w_{i} >= 0), and a knot vector
U = { u_{0}, u_{1}, ...,
u_{m} } of m+1 knots, the NURBS curve
of degree p is defined as follows:
where R_{i,p}(u) is defined as follows:
The reason a different notation is used is because we want to rewrite the
definition of a NURBS curve in a form as close to that of a Bspline curve as
possible. In the above notation, R_{i,p}(u)'s
are NURBS basis functions.
Important Properties of NURBS Basis Functions
Since NURBS is a generalization of Bspline, it should have all properties of
Bsplines. The following are some of the most important ones for NURBS basis
functions. Please compare them with those of
Bspline basis functions.
 R_{i,p}(u) is a degree p
rational function in u
 Nonnegativity  For all i and p,
R_{i,p}(u) is nonnegative
 Local Support 
R_{i,p}(u) is a nonzero
on
[u_{i},u_{i+p+1})
Since N_{i,p}(u) is nonzero on
[u_{i},u_{i+p+1}),
so is R_{i,p}(u). Note that we
assume w_{i}'s are nonnegative.
 On any knot span [u_{i},
u_{i+1}),
at most
p+1 degree p
basis functions are nonzero, namely:
R_{ip,p}(u),
R_{ip+1,p}(u),
R_{ip+2,p}(u), ..., and
R_{i,p}(u)
 Partition of Unity  The sum of all nonzero degree p
basis functions on span [u_{i},
u_{i+1}) is 1:
 If the number of knots is m+1, the degree of the basis
functions is p, and the number of degree p basis
functions is n+1, then m = n + p + 1
:
 Basis function R_{i,p}(u)
is a composite curve of degree p rational functions with
joining points at knots in
[u_{i},
u_{i+p+1} )
 At a knot of multiplicity k, basis function
R_{i,p}(u) is
C^{pk} continuous.
Therefore, increasing multiplicity decreases the level of
continuity, and increasing degree increases continuity.
 If w_{i} = c for all i,
where c is a nonzero constant,
R_{i,p}(u) =
N_{i,p}(u)
Therefore, Bspline basis functions are special cases of NURBS
basis functions when all weights become a nonzero constant.
We have mentioned the special of c = 1.
Important Properties of NURBS Curves
The following lists important properties of NURBS curves.
Please compare them with
those of Bspline curves.
Note that a NURBS can be open,
clamped and
closed. Like Bspline curves,
if the first p+1 knots and the last p+1 knots are equal to the
left end and right end of the domain, the curve is clamped.
 NURBS curve C(u) is a piecewise curve with
each component a degree p rational curve
Actually, each component is a rational Bézier curve.
 Equality m = n + p + 1 must be
satisfied
 A clamped NURBS curve C(u) passes through the two
end control points P_{0} and
P_{n}

Strong Convex Hull Property: the NURBS curve is contained in
the convex hull of its control points. Moreover, if u is
in knot span
[u_{i},u_{i+1}),
then C(u) is in the convex hull of control points
P_{ip}, P_{ip+1},
..., P_{i}
We have made it very clear that all weights must be nonnegative.
If some of them are negative, the strong convex hull property
or even the convex hull property will not hold. In the following,
the left figure is a NURBS curve of degree 2 with n = 2,
m = 5 and the first three and last three knots clamped.
The weights of the two control points at both ends are 1's and the
weight of the middle control point is 0.5. This is actually an
elliptic arc. The curve segment lies in the convex hull.
The middle figure has the weight of the middle control point set to
zero. Since this control point has no effect, the result is the
line segment determined by the endpoints. It still lies in the
convex hull.
If the weight is changed to 0.5, the curve segment is not
contained in the convex hull and hence the convex hull property
fails.

Local Modification Scheme:
changing the position of control
point P_{i} only affects the curve
C(u) on interval [u_{i},
u_{i+p+1})
This follows from the local modification scheme property of Bspline
basis functions. Recall that R_{i,p}(u)
is nonzero on interval
[u_{i}, u_{i+p+1}).
If u is not in this interval, since
R_{i,p}(u) is zero and
R_{i,p}(u)P_{i}
has no effect in computing p(u).
On the other hand, if u is in the indicated interval,
R_{i,p}(u) is nonzero, and if
R_{i,p}(u)P_{i}
is changed, so does C(u).
This local modification scheme is very important
to curve design, because we can modify a curve locally without
changing the shape in a global way. Moreover, if finetuning
curve shape is required, one can insert more knots (and therefore
more control points) so that the affected region could be
restricted to a very narrow one. We shall talk about
knot insertion later.
 C(u) is C^{pk} continuous at a knot
of multiplicity k
If u is not a knot, C(u) is in the middle
of a curve segment of degree p and is therefore infinitely
differentiable. If u is a knot in the nonzero domain of
R_{i,p}(u), since
R_{i,p}(u) is only
C^{pk} continuous, so does C(u).
 Variation Diminishing Property:
The variation diminishing property also holds for NURBS curves.
If the curve is contained in a plane (resp., space), this
means no straight line (resp., plane) intersects a NURBS
curve more times than it intersects the curve's control polyline.
 Bspline Curves and Bézier Curves Are Special Cases of
NURBS Curves
If all weights are equal, a NURBS curve becomes a Bspline curve.
If furthermore n = p (i.e., the degree of a
Bspline curve is equal to n, the number of control points
minus 1) and there are 2(p + 1) = 2(n + 1) knots
with p + 1 of them clamped at each end, this NURBS curve
reduces to a Bézier curve.
 Projective Invariance
If a projective transformation is applied to a NURBS curve, the
result can be constructed from the projective images of its control
points. This is a nice property. When we want to apply a
geometric or even projective transformation to a NURBS curve,
this property guarantees that we can apply the transformation to
control points and the transformed NURBS curve is
defined by the transformed control points. Therefore, we do
not have to transform the curve.
Note that Bézier curves and Bspline curves only satisfy
the affine invariance property rather than this projective
invariance property. This is because only NURBS curves involve
projective transformations.