Biomedical Engineering Reference
In-Depth Information
provide an additional parameter, the weighting of the control points, which can be
varied for more accurate fitting over nonrational B-splines while maintaining all
the favorable properties of nonrational B-splines.
An NURBS curve of degree
d
,
R
(
u
), consisting of
n
control points is defined
by the equation
i
=1
N
i,d
(
u
)
ψ
i
P
i
i
=1
R
(
u
)=
0
≤
≤
1
,
u
(1)
N
i,d
(
u
)
ψ
i
where
P
i
represents the coordinates of the
i
th control point and
N
i,d
(
u
) is the
corresponding B-spline basis function calculated at location parameter value
u
.
The additional parameter,
ψ
i
, is the weight of the
i
th control point. Note that
nonrational B-spline curves are a subset of NURBS with all weights equal to a
nonzero constant value.
After defining a
knot vector
to be a sequence of non-
decreasing real numbers, called
knots
, and selecting an appropriate degree, the
B-spline basis functions are calculated using the Cox-deBoor recurrence relation
U
=
{
U
1
,...,U
m
}
U
i
U
i
+
d
−
u
−
N
i,d
(
u
)=
N
i,d−
1
(
u
)
U
i
U
i
+
d
+1
−
u
+
N
i
+1
,d−
1
(
u
)
,
(2)
U
i
+
d
+1
−
U
i
+1
1
U
i
≤
u<U
i
+1
,
N
i,
0
(
u
)=
(3)
0
otherwise
,
where
0
is defined to be 0. The
i
th
knot span
is defined to be the interval of the
curve [
R
(
U
i
)
,
R
(
U
i
+1
)). The degree
d
(order =
d
+1), number of knots, and the
number of control points are related by the formula
m
=
n
+
d
+1.
Two important properties of B-splines are
Locality
Each span of the piecewise B-spline curve of degree
d
is influ-
enced by the neighboring
d
+1control points. Similarly, moving a
single control point on the same curve influences the placement of
only
d
+1neighboring spans.
Continuity
A
d
degree B-spline curve is
C
d−k
continuous at the knot
locations (where
k
is the knot multiplicity) and is smooth elsewhere.
2.1.1. Cylindrical and prolate spheroidal-based NURBS
The conventional implementation of NURBS employs a Cartesian basis in
which the B-spline basis functions smooth over the
x
,
y
, and
z
coordinates of the