spcrv
Spline curve by uniform subdivision
Syntax
spcrv(c,k)
spcrv(c)
spcrv(c,k,maxpnt)
Description
spcrv(c,k)
provides a dense sequence
f(tt) of points on the uniform B-spline curve
f of order k
with B-spline coefficients
c
. Explicitly, this is the curve
with B(·|a,...,z)
the B-spline with knots a,...,z, and
n
the number of coefficients in c
, i.e.,
[d,n]
equals size(c)
.
spcrv(c)
chooses the order
k
to be 4.
spcrv(c,k,maxpnt)
makes sure that at
least maxpnt
points are generated. The default value for the
maximum number of sites tt
to be generated is
100
.
The parameter interval that the site sequence tt
fills out
uniformly is the interval [k
/2 .. (n-k
/2)].
The output consists of the array f(tt).
Examples
The following would show a questionable broken line and its smoothed version:
points = [0 0 1 1 0 -1 -1 0 0 ; 0 0 0 1 2 1 0 -1 -2]; plot(points(1,:),points(2,:),':') values = spcrv(points,3); hold on, plot(values(1,:),values(2,:)), hold off
Algorithms
Repeated midpoint knot insertion is used until there are at least
maxpnt
sites. There are situations where use of fnplt
would be more efficient.