Graphics Reference
In-Depth Information
b
i
(u) are B-splines of order k. The curve p(u) is called a
n
onuniform
r
ational
B
-
s
pline
(NURBS) curve of order k
with domain [a,b] if b
i
(u) = N
i,k
(u) with respect to a knot
vector
=
()
=
U u
( ,..., ,
a
auu
,
,...,
ub
, ,..., ).
b
i
144
kk
+
1
n
144
k
k
(The N
i,k
(u) are the B-splines defined by equations (11.69).) In any case, the points
p
i
are called the
control points
of the curve p(u) and the numbers w
i
are called its
weights
.
The ordinary Bézier and B-spline curves are clearly a special case of the rational
ones since we get them by using weights that are all equal to 1. Note further that if
we define the function R
i
(u) by
()
wb u
ii
()
=
Ru
,
(11.104a)
i
n
Â
0
()
wb u
jj
j
=
then
n
Â
()
=
()
pu
R u
p
,
(11.104b)
i
i
i
=
0
so that p(u) is again a curve of a form (like that of equation (11.67)) that we have seen
many times before.
Definition.
The functions R
i
(u) in equations (11.104) are called the
rational basis
functions
for the curve p(u).
NURBS curves (and surfaces) have become very popular in recent years and a
number of modeling programs are based on them. Some general references for these
and rational Bézier curves are [PieT95], [Pieg91], [Fari95], [Roge01], or [RogA90]. In
the rest of this section we shall look at some examples and properties of NURBS
curves, leaving a discussion of how to compute them efficiently to the next section.
11.5.3.1
Example.
Suppose that we want to find a NURBS representation for the
unit circle.
Solution.
Consider the first quadrant of the unit circle. By equation (11.100) we have
the rational parameterization
2
Ê
Á
1
1
-
+
u
u
2
u
u
ˆ
˜
()
=
Œ
[]
pu
,
,
for
u
01
,
.
2
2
1
+
In homogeneous coordinates this can be written as
(
)
()
=-
2
2
Pu
1
u
,
2
u
,
0 1
,
+
u
=
(
)
+
(
)
+-
2
(
)
(11.105)
1001
,,,
u
0200
,,,
u
1001
,,, .