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
Search WWH ::




Custom Search