Graphics Reference
In-Depth Information
(1) Increasing or decreasing w
i
will increase or decrease b which pulls the curve
toward
p
i
or pushes it away from
p
i
, respectively.
(2) Increasing or decreasing w
i
will push the curve away from
p
j
or pull it toward
p
j
, j π i, respectively.
(3) The points
q
i
lie on the line segment [
q
,
p
i
].
(4) As
q
i
approaches
p
i
, b approaches 1 and w
i
approaches infinity.
We finish by listing a few of the important properties of NURBS curves.
11.5.3.2 Theorem.
Let p(u) be a NURBS curve of order k with domain [0,1], knots
u
i
, control points
p
i
, and weights w
i
> 0.
(1) The rational basis functions R
i
(u) for p(u) satisfy R
i
(u) ≥ 0 and
n
Â
0
()
=
Ru
1.
i
i
=
(2) The curve p(u) interpolates the first and last point. More precisely, p(0) =
p
0
and p(1) =
p
n
.
(3) (Local control) Changing the control point
p
i
or weight w
i
only changes the
formula for p(u) over the interval (u
i
,u
i+k
).
(4) (Projective invariance) If the curve p(u) is transformed by a projective trans-
formation, the formula for the new curve is gotten simply by transforming the
homo-
geneous
control points (equation (11.102) and then projecting back to
R
3
to get
another formula like equation (11.103).
(5) (Local convex hull property) The curve p(u) satisfies a strengthened convex
hull property like the ordinary B-splines, namely, for each i, p([u
i
,u
i+1
]) is contained
in the convex hull of the control points
p
i-k+1
,
p
i-k+2
,...,
p
i
.
(6) (Variation diminishing property) A plane (line in planar case) intersects the
curve p(u) in no more points than it intersects the control polygon.
Proof.
See [PieT95]. The projective invariance property is stronger than affine
invariance. Ordinary B-splines are affinely invariant but not projectively invariant.
Finally, although rational Bézier and B-spline curves are defined as projections
of ordinary Bézier and B-spline curves
in R
4
to the plane w = 1, it turns out that the
associated correspondence between ordinary splines in
R
4
and ordinary splines in
R
3
is not as natural as one might want. For example, not every C
1
Bézier and B-spline
curve p(u) in
R
3
with simple knots is a projection of a spline curve q(u) in
R
4
with
simple knots. To find a curve q(u) that projects to p(u) we would have to allow q(u)
to have multiple knots. See [Fari89] for a discussion of this and the condition that
guarantees that a C
1
curve with simple knots is a projection of a C
1
curve with simple
knots.
11.5.4
Efficient B-Spline and NURBS Curve Algorithms
As mentioned earlier, B-spline and NURBS curves are used a lot. Fortunately, although
their definitions seem somewhat complicated and it is certainly more work than