spcrv

Кривая сплайна по равномерному подразделению

Синтаксис

spcrv(c,k)
spcrv(c)
spcrv(c,k,maxpnt)

Описание

spcrv(c,k) обеспечивает плотную последовательность f (tt) точек на равномерной кривой B-сплайна f порядка k с B-сплайн коэффициентами c. Явно, это кривая

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

с B|<reservedrangesplaceholder4>,..., z) B-сплайн с узлами a,..., z и n количество коэффициентов в c, т.е. [d,n] равен size(c).

spcrv(c) выбирает порядок k 4.

spcrv(c,k,maxpnt) обеспечивает, чтобы, по крайней мере maxpnt генерируются точки. Значение по умолчанию для максимального количества сайтов tt будет сгенерирован 100.

Интервал параметров, который tt последовательность сайтов заполняет равномерно интервал [k/2 .. (n-k/2)].

Выход состоит из f массива (tt).

Примеры

Следующее покажет сомнительную ломаную линию и ее сглаженную версию:

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

Алгоритмы

Повторная вставка узла средней точки используется до тех пор, пока не будет по крайней мере maxpnt сайты. Существуют ситуации, когда использование fnplt было бы более эффективным.

См. также