Spline Toolbox | ![]() ![]() |
Spline curve by uniform subdivision
Syntax
spcrv(c) curve = 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]:=size(c)
.
The default value for k
is 4. 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
Algorithm
Repeated midpoint knot insertion is used until there are at least maxpnt
sites. There are situations where use of fnplt
would be more efficient.
See Also
spcrvdem
, fnplt
![]() | spcol | splinetool | ![]() |