This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

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

f:t|j=1nB(tk/2|j,...,j+k) c(j), k2tn+k2

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.

See Also