Vous êtes sur la page 1sur 22

Diseo e implementacin de algoritmos de control cinemtico mediante interpoladores polinomiales y

visin artificial

INTERPOLACIN MEDIANTE B-SPLINE


RESMEN
La Creacin de modelos matemticos que expliquen o generen patrones similares a los de la naturaleza son de gran parte
de inters por parte de los matemticos, fsicos e ingenieros. Ya que estos modelos naturales son flexibles a los cambios
y proveen una salida estable ante situaciones indeterminadas. Esto se aplica en muchas reas de la ciencia, tratar de
modelar patrones, trayectorias o formas es solo una de las pocas aplicaciones que abarca la interpolacin, esta se basa en
la tendencia que sigue cierta composicin vectorial. Por lo que mnimamente necesitamos conocer esta composicin de
tramos para definir su modelo.

FIGURA 1.0- Representacin matemtica de contorno de tiburn.


Las curvas B-Spline o Basis Spline, se basan en la continuidad de sus diferentes intervalos. Basando su suavidad en el
criterio de continuidad de las primeras y segundas derivadas, ya que son funciones polinmicas cubicas a trozos.
Existen varias clases de especificaciones de B Spline que se usan en las aplicaciones grficas. Generalmente tiene una
naturaleza no global, cada vrtice del polgono generador de la curva est asociado a una funcin. El ejemplo ms
sencillo es el Spline 0 , o sea lineal por trozos. Este Spline es simplemente una poligonal en el plano o en el espacio.
Splines:
Una curva () se denomina un Spline de grado n sobre la secuencia de nudos 0 , , +1 <
++1 para todas las posibles i.
()
()
[ , +1 ] = 0 , . . . , 1
Es comn referirse a un Spline de grado n como Spline de orden n+1. Las figuras siguientes muestran Splines sobre
secuencia de nudos simples (multiplicidad uno). Los puntos de Bzier
internos y externos se denotan por pequeos crculos blancos y negros respectivamente.
Splines de grado 0 (orden 1): son funciones constantes por tramos como se muestra en la figura:

FIGURA 1.1- Ejemplo de una aproximacin a trozos mediante polinomios de grado 0.

Diseo e implementacin de algoritmos de control cinemtico mediante interpoladores polinomiales y


visin artificial

Siguiendo la ecuacin:

S0 (u ) C0 u [a0, a1, )

S (u )
...
S (u ) C u [a a )
n
n 1, n
n
Donde los Ci son las constantes que se grafican en los intervalos u [ ai 1, ai ) con i > 0.
Splines de grado 1 (orden 2): Son funciones lineales a tramos. Un ejemplo se presenta en la siguiente figura:

FIGURA 1.2- Ejemplo de una aproximacin a trozos mediante polinomios de grado 1.


Siguiendo la ecuacin:

S0 (u ) p0u q0 u [a0, a1, )

S (u )
...
S (u ) p u q u [a a [
n
n
n 1, n
n
Donde pi , qi son los coeficientes de la ecuacin lineal a tramos.

B-Splines:
En analoga a la representacin de Bzier de curvas polinmicas tambin es conveniente expresar un Spline () como
una combinacin afn de ciertos puntos de control , esto es:

S (u) ci Nin (u)


Donde los N in (u ) son funciones polinmicas por trozos con soporte finito (se anulan fuera de un intervalo finito) y
satisfacen ciertas condiciones de continuidad.

Diseo e implementacin de algoritmos de control cinemtico mediante interpoladores polinomiales y


visin artificial

FIGURA 1.3- Curva grado 1(Lineal), Curva grado 2 (Parablica) y Curva Grado 3(Cubica).

Definicin recursiva de los B-Splines:


Para introducir la relacin de recurrencia para definir los B-Splines, consideramos por simplicidad una secuencia (() )
doblemente infinita de nudos simples tales que () < (+1) para todo i. Entonces los B-Splines se definen a travs
de la siguiente relacin recursiva:

1 si a(i ) u a( i )
donde N i0 (u )
0 de otra manera

() =

(++1)
()
1 () +
1 ()
(+) ()
(++1) (+1) +1

= = =

Diseo e implementacin de algoritmos de control cinemtico mediante interpoladores polinomiales y


visin artificial
Representacin de Spline de grado 0, grado 1, grado 2:

FIGURA 1.4- Spline de grado 0, grado 1, grado 2.

Dada la definicin de los B-Spline se desprende de forma inmediata las siguientes propiedades:
() Es polinmicas a trozos y tiene grado n.
() Es positiva sobre ( , ++1 ).
() 0 fuera de ( , ++1 ).
() Es continua por la derecha.

El Algoritmo de De Boor:
Considerando la combinacin lineal:
() = 0 ()

Sobre B-Splines de grado n sobre una secuencias de nudos Sin prdida de generalidad podemos suponer que la
secuencia de nudos y la sumatoria se extienden de a . Por la forma de los soportes locales de los esta suma es
siempre finita para cualquier u dado. Suponemos que
[ , +1 ) entonces:
() = 0 ()

Usando repetidamente la relacin de recurrencia para los B-Splines y agrupando trminos obtenemos:

() = 1 1 ()
=1

() = 0 () =
=1

Diseo e implementacin de algoritmos de control cinemtico mediante interpoladores polinomiales y


visin artificial

Donde los

estn dados por las combinaciones a fines:


1
= (1)1
+ 1

, =
=


++1

Note que [0 , 1] pues [ , +1 ] , y por lo tanto, las combinaciones afines son convexas.

Este algoritmo fue desarrollado por De Boor en 1972. Los puntos se pueden ordenar en el siguiente esquema
triangular, donde la regla de recursin es la anterior recursin afn.

00

10 12
0 1 2

2 2 2

0 1 2

Una consecuencia importante del algoritmo de De Boor es que el Spline () sobre un intervalo internodal (i.e. entre dos
nudos consecutivos) es una combinacin convexa de n+1 coeficientes consecutivos .Por lo tanto si los representan
puntos en un espacio afn, entonces () tambin es un punto del espacio afn. Por esta razn, los se denominan puntos
de control de ()
Los B-Splines forman una particin de la unidad. La figura ilustra la interpretacin geomtrica del algoritmo de De Boor
dada por Gordon y Riesenfeld en 1974.

FIGURA 1.5- Interpretacin geomtrica del Algoritmo de De Boor.

Diseo e implementacin de algoritmos de control cinemtico mediante interpoladores polinomiales y


visin artificial
El teorema fundamental.
Los polinomios simtricos nos permitirn considerar el algoritmo de De Boor en un contexto ms amplio. Sea

() = ()

Un spline de grado n sobre los nudos , y sea si [ , +1 ) la forma polar que coincide sobre su diagonal con
() sobre [ , +1 ). Entonces tenemos una versin ms general del teorema fundamental.
Los puntos de control estn definidos por:

= [+1 + ]

= , ,

= [+1 + ]
= (1) + ++1
Entonces:
1
= (1)1
+ 1

Donde:
=


++1

Para [ , +1 ] esta demostracin coincide con el algoritmo de De Boor y puede utilizarse para calcular cualquier
polinomio.

FIGURA 1.6- B-Spline grado 3, los puntos iniciales y finales no se tocan.

Diseo e implementacin de algoritmos de control cinemtico mediante interpoladores polinomiales y


visin artificial
Interpolacin:
Si se tiene un conjunto de puntos = ( , )
una curva de la siguiente forma:

= 0 2 que se deseen interpolar, podemos hacerlo a travs de

FIGURA 1.7- Interpolacin B-Spline de grado 3.

Anlisis del problema:


Para obtener la curva construida, cuntos nudos se necesitan? Considere el siguiente caso:

FIGURA 1.8- Visualizacin de los intervalos del vector de nudos t (para este caso).

Entonces para interpolar (n+1) puntos se necesitan (n+7) nudos 0 , 1 , . . . , +6 para una interpolacin cubica uniforme.
Para obtener la curva construida, cuntos puntos de control son es necesario? Considere el siguiente caso:

Diseo e implementacin de algoritmos de control cinemtico mediante interpoladores polinomiales y


visin artificial

FIGURA 1.9- Interpolacin de curva cubica y obtencin del polgono de control.

Para interpolar (n+1) puntos, se necesitan (n+3) puntos de control 0 , 1 , . . . , +2 para una interpolacin cubica
uniforme.
La B-Spline cubica tendr segmentos 1 (), 2 (), () y con los criterios de la segunda derivada se llega al
siguiente acuerdo:
,3 () + +1,3 ()+1 + +2,3 ()+2 =
= 0,1, ,
Tambin:
0 = 0
1
7
1
1 + 2 + 3 = 1
4
12
6
1
2
1
2 + 3 + 4 = 2
6
3
6
1
2
1
2 + 1 + = 2
6
3
6
1
7
1
1 + + +1 = 1
6
12
4
+2 =
Actualmente 1 , . . . , +1 Son valores no conocidos. Al ignorar la primera y la ltima ecuacin (dado que son datos ya
conocidos) se genera un sistema de n-1 ecuaciones, con n+1 incgnitas. Se necesitan dos condiciones ms para resolver el
sistema.
Una opcin es encontrar las segundas derivadas de la primera y ltima ecuacin e igualarlas a cero.
(0)

(0) = 0,3
0 + 1,3 (0)1 + 2,3 (0)2 = 0
()

() = ,3
+ +1,3 () + +2,3 ()+2 = 0

Diseo e implementacin de algoritmos de control cinemtico mediante interpoladores polinomiales y


visin artificial
Tambin:
60 91 + 32 = 0
3 9+1 + 6+2 = 0
Sabiendo que 0 y +2 son conocidos (0 = 0 y +2 = ) Por lo tanto, la ecuacin anterior se puede escribir como:

31 2 = 20

+ 3+1 = 2

3
1
1 2 = 0
2
2
1
3
+ +1 =
2
2

Mediante la combinacin de estas dos ecuaciones, se completa el sistema de (n+1) ecuaciones con (n+1) incgnitas, que
se representa en el siguiente sistema matricial:

3 / 2 1/ 2
p1 D0
1/ 4 7 /12 1/ 6

p2 D1

p3 D2
1/ 6 2 / 3 1/ 6

. = .

. .
.

1/ 6 2 / 3 1/ 6

pn 1 Dn 2

1/ 6 7 /12 1/ 4 pn Dn 1

1/ 2 3 / 2 pn 1 Dn

Implementacin B-Spline en Matlab:


Dado la estructura de la ecuacin B-Spline:

() = ()

0 () = {
() =

1 () < (+1)
0

(++1)
()
1 () +
1 ()
(+) ()
(++1) (+1) +1

Diseo e implementacin de algoritmos de control cinemtico mediante interpoladores polinomiales y


visin artificial
Analizando el vector de nudos (knot):
Los nudos uniformes tienen la forma de:
= [0 1 2 3 4 5 6 . . . ]
Donde cada elemento () < (+1) , lo que destaca es que la curva generada estar encerrada en el conjunto de la
capsula convexa pero la parametrizacin de a har que no toque ni el primero ni el ltimo punto.

= [() , (+1) , () ]

() < (+1)
= +

Los Nudos uniforme abiertos tiene la siguiente forma:


= [0, 0, 0, 1, 2, 3, 3, 3]
Que generalizando se tiene:

= [() , . . , () , () , (+1) , () , , () ]

() < (+1)

=
Tiene la caracterstica de que toca tanto el primero como el ltimo punto gracias a sus nudos auxiliares en los extremos.

Implementacin:
Nudos Uniformes implementacin y resultado, sobre una curva B-Spline grado 3 (orden 4):
tmax = length(x); % x es el vector que contiene los puntos
k = 4; % k es el orden (grado+1)
a = [0,1:tmax+k]; % llena el vector

Resultado:

FIGURA 2.0- Curva B-Spline grado 3 en cuatro puntos del polgono usando vector de nudos uniformes.

Diseo e implementacin de algoritmos de control cinemtico mediante interpoladores polinomiales y


visin artificial
Nudos uniformes abiertos implementacin y resultado, sobre una curva B-Spline grado 3 (orden 4):
tmax = length(x) % cantidad de puntos polgono
k = 4; % orden de la curva
a = [(0: k-1)*0,1:tmax-k,(0:k-1)*0+tmax-(k-1)] %%%nodo no uniforme

Resultado:

FIGURA 2.1- Curva B-Spline grado 3 en cuatro puntos del polgono usando vector de nudos NO uniformes (Abiertos).

Anlisis a las Funciones Base:


Las ecuaciones se definen mediante funciones base, tales funciones se calculan recursivamente es decir llamndose a s
misma con cierta variacin de parmetros, tales como son:
= = =

() =

(++1)
()
1 () +
1 ()
(+) ()
(++1) (+1) +1

0 () = {

1 () < (+1)
0

Se evalan las funciones base para los casos en que el nodo sea uniforme y cuando el grado es 0, 1, 2, 3.
Grado 0:
Desarrollando:

1 0 < 1
0

00 () = {

00 () = {1 0 < 1

Diseo e implementacin de algoritmos de control cinemtico mediante interpoladores polinomiales y


visin artificial
Grafica:

FIGURA 2.2- Funcin base de grado cero (Constante).

Como resultado se genera una constante de valor 1 esto quiere decir que si cumple la condicin de continuidad en los
intervalos de nudos. La evaluacin de los intervalos en los nudos se hace siempre que el orden equivale a uno o el grado
toma valor de cero.

Grado 1: los tramos entraran en la forma de evaluacin de la funcin base () teniendo as las primeras ecuaciones
que seran polinomios de grado 1.
Desarrollando se tiene:
01 () =

(2) 0
(0) 0
0 () +
()
(1) (0)
(2) (1) 1

00 () = {1 0 < 1
10 () = {1 1 < 2
01 () = ()(1) + (2 )(1)

A modo de visualizar la recursin:


()
1 ()

1
+1
()

Cada intervalo tiene sus nudos de complemento por lo que se generan diferentes ecuaciones.

0<1

01 () = {
(2 ) 1 < 2

Diseo e implementacin de algoritmos de control cinemtico mediante interpoladores polinomiales y


visin artificial

Grafica:

FIGURA 2.3- Funcin base de grado uno (Lineal).

Grado 2: las curvas usan polinomios de grado 2 por lo que sus segmentos son cuadrticos. Como nota; al aumentar el
grado de la curva, esta tiende a alejarse ms de los puntos de control. Por lo que el orden ideal se encuentra entre grado (23-4) dependiendo del uso y la exactitud que se requiera.
Las curvas de mayor grado tienen mayor complejidad para calcular sus funciones base por lo que primero se hace un
anlisis de su recursin:

,
,1
,2
() < ( + 1)

+1,1
+1,2

+1,2

+2,2

( + 1) < ( + 2) ( + 2) < ( + 3)

Se observa los segmentos de la curva que se evalan en las diferentes posiciones del vector de nudos.

(u a(i ) )
(a(i k 1) a(i ) )(a(i k 2) a(i ) )
u a(i ) a( i k 1) u a( i k ) u u a(i 1)

a(i k 1) a(i ) a(i k 1) a(i 1) a(i k ) a(i 1) a(i k 1) a(i 1)


(a(i k ) u ) 2
(a(i k ) a(i 1) )(a(i k ) a(i 2) )

= + 1

a(i ) u a( i 1)
a(i 1) u a( i 2)
a(i 2) u a(i 3)

Diseo e implementacin de algoritmos de control cinemtico mediante interpoladores polinomiales y


visin artificial
Sustituyendo valores:

(u 0) 2
(2 0)(1 0)

0 u 1

u 0 2 u 3 u u 1

1 u 2
2 0 2 1 3 1 2 1
(3 u ) 2
0 u 1
(3 1)(3 2)

Simplificando:

u2
0 u 1

N 02 u 2 3u
1 u 2
2

u2
9
2u3
3u
2
2

Graficando:

FIGURA 2.4- Funcin base de grado dos (Parablica).

Grado 3: se presenta a continuacin la definicin de las ecuaciones que provienen de la recursin del modelo general de
B-Spline utilizando el grado tres para tener una mayor exactitud en la curva.

Diseo e implementacin de algoritmos de control cinemtico mediante interpoladores polinomiales y


visin artificial

Analizando la recursin:

N i ,k

N i 1,k 1

N i ,k 1

N i , k 3

Ni 1,k 2

Ni 1,k 2

N i ,k 2

N i 1,k 3

N i 1,k 3

Ni 2,k 3

Ni 2,k 2

N i 1,k 3 Ni 2,k 3

Ni 2,k 3

Teniendo como base:


() =

()
(++1)
1 () +
1 ()
(+) ()
(++1) (+1) +1
0 () = {

1 () < (+1)
0

=+1

Las ecuaciones quedan como sigue:

...

(u a(i ) )3
(a(i k 1) a(i ) )(a(i k 2) a(i ) )(a(i k 3) a( i ) )

(a(i k 2) u )

(u a(i ) )

(u a(i 1) )

(a(i k 1) u )

(u a(i ) )

(a(i k 2) a(i 1) ) (a(i k 2) a(i ) ) (a(i k 2) a(i 1) ) (a(i k 1) a(i 1) ) (a(i k 1) a(i ) )
(u a(i 1) )

(u a(i 1) )

...

(a(i k ) u)

(a(i k 2) a(i 1) ) (a(i k 1) a(i 1) ) (a(i k ) a(i 1) )

(a(i k 1) u)

(a(i k 1) u)

(u a(i ) )

(a(i k 1) a(i 2) ) (a(i k 1) a(i 1) ) (a(i k 1) a(i ) )

...

(a(i k 1) u )
(u a(i 1) )
(u a(i 2) )
(a(i k ) u ) (a(i k ) u )
...

(a(i k 1) a(i 2) ) (a(i k 1) a(i 1) ) (a(i k 1) a(i 2) ) (a(i k ) a(i 2) ) (a(i k ) a(i 1) )

(a(i k ) u )3
(a(i k ) a(i 1) )(a(i k ) a(i 2) )(a(i k ) a(i 3) )

Ni 3,k 3

Diseo e implementacin de algoritmos de control cinemtico mediante interpoladores polinomiales y


visin artificial

Sustituyendo valores y simplificando:

u3
6

3
u3
2u 2 2u

2
2
N 03 (u ) 3
u 4u 2 10u 22
2
3
3
u 2u 2 8u 22
6
3

0 u 1
1 u 2
2u3
3u 4

Graficando:

FIGURA 2.5- Funcin base de grado tres (Cubica).

Se concluye el anlisis de las funciones B-Spline bsica mediante recursin para sus posteriores pruebas. Teniendo en
cuenta que el B-Spline grado 3 es el ms estable y tiene una tendencia uniforme a lo largo de sus intervalos se demostrara
la diferencia con grado 2.

Diseo e implementacin de algoritmos de control cinemtico mediante interpoladores polinomiales y


visin artificial
Implementacin:
Implementando grado 2 (orden 3) con nudos no uniformes:

j=0;
%% ecuaciones grado 2
for i=1 : tmax
e1 = simplify ((a(i)-u)^2/( (a(i)-a(i+k-1))*

(a(i)-a(i+k-2)) ) );

e2 = simplify ( ( ((u-a(i))/(a(i+k-1)-a(i)) )*( (a(i+k-1)-u)/(a(i+k-1)...


-a(i+1)) ) )+( ( (a(i+k)-u)/(a(i+k)-a(i+1)) )*( (u-a(i+1))/(a(i+k-1)...
-a(i+1)) ) ));
e3 = simplify (( (a(i+k)-u)^2/((a(i+k) -a(i+2) )*(a(i+k) -a(i+1) ) )) );
Ni(1+j,1+j) = e1;
Ni(2+j,1+j) = e2;
Ni(3+j,1+j) = e3;
j=j+1;
end

Resultados:

FIGURA 2.6- Curva cuadrtica con nudos No uniformes (Abiertos).

Implementando grado 2 (orden 3) con nudos no uniformes:


j=0;
%% ecuaciones grado 3
for i=1 : tmax
e1 = simplify( ((u-a(i))^3)/( (a(i+k-1)-a(i))*(a(i+k-2)-a(i))*(a(i+k-3)-U(i))

);

e2 = simplify( (((((a(i+k-2)-u)/(a(i+k-2)-a(i+1)))*( (u-a(i))/(a(i+k-2)-a(i)) ) ) + ...


(((u-a(i+1))/(a(i+k-2)-a(i+1)))*( (a(i+k-1)-u)/(a(i+k-1)-a(i+1)) ) ) )* ...
((u-a(i))/(a(i+k-1)-a(i)) ) ) + ( ((u-a(i+1))/(a(i+k-2)-a(i+1)))*...
((u-a(i+1))/(a(i+k-1)-a(i+1)))*((a(i+k)-u)/(a(i+k)-a(i+1)))));
e3 = simplify( (((a(i+k-1)-u)/(a(i+k-1)-a(i+2)))*( (a(i+k-1)-u)/(a(i+k-1)-a(i+1)) )*...
( (u-a(i) )/(a(i+k-1)-a(i)) ) )+( (((a(i+k-1)-u)/(a(i+k-1)-a(i+2)) )*...
( (u-a(i+1))/(a(i+k-1)-a(i+1))) )+(((u-a(i+2))/(a(i+k-1)-a(i+2)))*...
((a(i+k)-u)/(a(i+k)-a(i+2)))))*((a(i+k)-u)/(a(i+k)-a(i+1))));

Diseo e implementacin de algoritmos de control cinemtico mediante interpoladores polinomiales y


visin artificial
e4 = simplify( ( (a(i+k)-u)^3 )/( (a(i+k)-a(i+1))*(a(i+k)-a(i+2))*(a(i+k)-a(i+3)) ) );
%%llenando la matriz de ecuacione en forma diagonal principal
Ni(1+j,1+j) = e1;
Ni(2+j,1+j) = e2;
Ni(3+j,1+j) = e3;
Ni(4+j,1+j) = e4;
j=j+1;
end

Resultados:

FIGURA 2.7- Curva B-Spline grado tres (Cubica).

Concluyendo de manera significativa que las curvas B-Spline no uniformes de grado 3 (orden 4) poseen un control local
de sus puntos. Y que debido a las ecuaciones obtenidas de las funciones se han tratadas de forma general para este caso.
Tanto en nudos uniformes como en nudos no uniformes. Las curvas de grado 3 obtienen un mejor resultado que las de
grado 2, si de caso contrario optamos por grado 4 las curvas se alejan cada vez ms de los puntos del polgono de control
por lo que usualmente se usan grado 3 para la mayora de aplicaciones.

Implementando interpolacin (grado 3):


Anterior mente se dedujo las ecuaciones necesarias que se aplican en la matriz tridiagonal para generar las nuevas
ecuaciones que cumpliran el criterio de pasar por los puntos (x) que se interpolan. A continuacin dicho cdigo:
%% creando matriz de solucion
len = length(x);
A=zeros(len,len);
Derive=[3/2,-1/2,1/4,7/12,1/6,2/3];
%solo cuatro puntos
A(1,1) = Derive(1);A(1,2) = Derive(2);
A(2,1) = Derive(3);A(2,2) = Derive(4);
A(2,3) = Derive(5);
A(len-1,len-2) = Derive(5);
A(len-1,len-1) = Derive(4);
A(len-1,len)
= Derive(3);
A(len,len-1)
= Derive(2);
A(len,len)
= Derive(1);

Diseo e implementacin de algoritmos de control cinemtico mediante interpoladores polinomiales y


visin artificial
%para los puntos intermedios
if len > 4
%%llenando la diagonal principal si tiene mas de 4 puntos
for i=0 : len-5
A(3+i,2+i) = Derive(5);
A(3+i,3+i) = Derive(6);
A(3+i,4+i) = Derive(5);
end
end
Aux_x=A\x;%inversa
Aux_y=A\y;%inversa
Ax(1,1)=x(1);
Ay(1,1)=y(1);
for i=1 : len
Ax(1,i+1) = Aux_x(i,1);
Ay(1,i+1) = Aux_y(i,1);
end
Ax(1,len+2) = x(len);
Ay(1,len+2) = y(len);
%ploteando el poligono de control generado
plot(Ax,Ay,'-ro','LineWidth',2)

Resultados:

FIGURA 2.8- Curva Cubica interpolante de 6 puntos, con el polgono de control generado.

Interpolacin Cubica a pieza: dado que las curvas B-Spline cubicas tiene una aproximacin ms estable sobre lo que se
desea interpolar, se plantea como una solucin al problema de aproximar modelos naturales a modelos matemticos para
su posterior anlisis.
En el rea de ingeniera el anlisis estructural de las piezas producidas es de suma importancia, dado que los errores en la
lnea de produccin pueden ocasionar piezas defectuosas, por lo tanto se hace el anlisis de la siguiente pieza:

Diseo e implementacin de algoritmos de control cinemtico mediante interpoladores polinomiales y


visin artificial

FIGURA 2.9- Pieza mecnica producida en masa.


Para el anlisis a esta pieza se obtiene la imagen usando la funcin imread(imagen. Extensin) con lo cual se vaca en
una matriz de 3 capas debido al tipo de imagen RGB (color).

FIGURA 2.9- Imagen RGB visualizada como matriz multidimensional, con cada color como una dimensin.

La obtencin de los puntos a interpolar sigue el contorno de la imagen, dando as un conglomerado en las reas donde ms
cambios de trayectoria se generen en el contorno exterior de la imagen, para obtener una forma cerrada tanto el primer
como el ltimo punto son estn en las mismas coordenadas dando una ecuacin que recorre todo el contorno.

Diseo e implementacin de algoritmos de control cinemtico mediante interpoladores polinomiales y


visin artificial

FIGURA 2.9- Seleccionando un total de 47 puntos a interpolar sobre el contorno de imagen.

La generacin de las ecuaciones un total de 46 ecuaciones paramtricas, que graficadas bajo los intervalos generan el
conjunto de ecuaciones que envuelven la figura:

FIGURA 3.0- Modelo matemtico de pieza, usando algoritmo de interpolacin en Curvas B Splines.

Dando como resultado una aproximacin al modelo matemtico de la pieza con el mnimo de errores posibles, usando las
curvas B Splines.

Diseo e implementacin de algoritmos de control cinemtico mediante interpoladores polinomiales y


visin artificial

REFERENCIAS:
[1] SCHABAK (1993), Error stimates for approximation from controls nets
Computer aided geometric desing 10:57-66

[2] SCHOENBERG And A. WHITNEY (1953). On spline function


Iniequlities, pages 255-291. Academic press

[3] LEONARDO FERNNDEZ JAMBRIMA (2012).Curvas polinmicas a trozo


http://dcain.etsin.upm.es/~leonardo/tema4.pdf

Vous aimerez peut-être aussi