Main Content

spcrv

Curva de spline por subdivisión uniforme

Sintaxis

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

Descripción

spcrv(c,k) proporciona una secuencia densa f(tt) de puntos en la curva uniforme del B-spline f de orden k con coeficientes de B-spline c. Explícitamente, esta es la curva

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

con B ( |a,...,z) como el B-spline con nudos a,...,z, y n como el número de coeficientes de c, es decir, [d,n] es igual a size(c).

spcrv(c) elige que el orden k sea 4.

spcrv(c,k,maxpnt) se asegura de que se generen al menos maxpnt puntos. El valor predeterminado para el número máximo de sitios tt que se va a generar es 100.

El intervalo de parámetros que la secuencia de sitios tt rellena uniformemente es el intervalo [k/2 .. (n-k/2)].

La salida consta del arreglo f(tt).

Ejemplos

El siguiente ejemplo muestra una línea rota dudosa y su versión suavizada:

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

Algoritmos

Se utiliza la inserción repetida de nudos en el punto medio hasta que hay al menos maxpnt sitios. Hay situaciones en las que el uso de fnplt resultaría más eficiente.

Consulte también