Вы находитесь на странице: 1из 7

Un estudio sobre las curvasinterpolantes de Bziery un programa en MATLAB Dr. Fernando A. Velasco AvalosIng.

Efran Gonzlez Macas Resumen: En este artculo se presenta un completo estudio de las curvas de Bzier, dela forma en que se construyen geomtrica y analticamente, de laconstruccin de grado arbitrario, del polinomio paramtrico as como suinterpretacin matricial. Se resumen las caractersticas de las mismas. Sedetallan las condiciones para unir dos o mas curvas de Bzier, lograndotransiciones suaves. Se presenta la solucin de estas curvas con unaherramienta de programacin, elaborada con una interfase grfica amigabley ejemplos para diferentes tipos y grados de curvas. 1. Introduccin. La importancia de la transicin suave de un punto a otro, es sin duda unimportante problema en el campo de la ingeniera, as podemos encontrar quedependiendo del tipo de problema, existen soluciones diferentes; por ejemplo paraun conjunto de puntos ],[ y xP puede ser de relevante importancia el que se hagapasar una curva por todos ellos utilizando en este caso un mtodo deinterpolacin, uno de los ms conocidos es la interpolacin polinomial de Lagrange[2][3]. Otro problema es encontrar la curva sin que forzosamente se pase portodos los puntos, sino que sta describa el comportamiento general de los datos,tal es el caso del ajuste de curvas y un mtodo muy conocido es el de MnimosCuadrados [2][3][4]. Pero cuando el problema es trazar una curva suave desde unpunto inicial hasta un punto final, y que sta sea afectada en su trayectoria por unconjunto de puntos que describen un polgono de apoyo, entonces el problemapuede resolverse con las Curvas de Bzier [1].Pierre Bzier, francs, ingeniero de profesin, en 1960 resolvi el problemanumrico en el trazado de curvas y superficies interpolantes, que parten y llegan aun punto dado, y su trayectoria es afectada por un conjunto de puntos de apoyo.Su utilizacin desde entonces en la fabricacin de vehculos y en la aeronutica,reas en la que l ha incursionado exitosamente, son sin duda algunas de las masvaliosas aplicaciones que se hacen de esta herramienta [6][7][8]. Curvas de Bzier 2 velasco y gonzlez Entonces al definir las curvas de Bzier, decimos que stas se apoyan enun conjunto de puntos ordenados llamados puntos de control; los cuales afectan latrayectoria de la curva. La curva pasa obligatoriamente solo por el primer y elltimo punto y no por los dems. Al polgono que se forma al unir secuencialmentelos puntos de control se le llama polgono de apoyo o de control. La curva deBzier que se obtiene como resultado, est en la cubierta convexa del polgono deapoyo. 2. Construccin geomtrica de la curva de Bzier Para iniciar nuestra introduccin a la construccin de las curvas de Bzier,propondremos un caso de estudio en donde la curva que se desea obtener es unacbica. Para lo anterior es necesario considerar cuatro puntos 3210 ,,, PPPP queforman el polgono de apoyo. La curva iniciar en el punto 0 P y finalizar en elpunto 3 P ; su trayectoria para ir del punto de inicio al punto final depende de laposicin de los puntos 1 P y 2 P . Como es de notar, en todos los casos el grado n de la curva es menor en uno que el nmero de puntos del polgono de apoyo.La notacin de los puntos del polgono de apoyo, que dependedirectamente del grado de la curva, ser: nii

PP , = ( 1 )donde i es la identificacin del punto en cuestin y n es el nivel de apoyo delpolgono y al inicio coincide con el nmero de puntos de apoyo menos uno. Aspara nuestro caso de estudio 3,2,1,0 = i con 3 = n , y los puntos del polgono deapoyo quedan identificados de la siguiente manera 3,00 PP = ; 3,11 PP = ; 3,22 PP = ; 3,33 PP = ; como puede observarse en la figura 2.1. Figura 2-1 : Nomenclatura de los vrtices del polgono de apoyo.

Curvas de Bzier 3 velasco y gonzlez Sea

t un parmetro valuado a lo largo de la curva, cuyos valores posiblesson: 10 t , es decir, los puntos sobre la curva se definirn de acuerdo con elparmetro t , en la curva )( tC , y se cumple que en los puntos extremos de la curva 3,0 )0( PC = y 3,3 )1( PC = .Para construir un punto )( 0 tC de la curva de Bzier se deber de seguir elsiguiente procedimiento: Se toma un punto 2,0 P que se encuentra entre 3,0 P y 3,1 P ,de tal forma que este se localice a la simat 0 parte de la distancia de 3,13,0 PP medida desde 3,0 P ; siguiendo la misma regla se construyen los puntos 2,1 P y 2,2 P para los segmentos 3,23,1 PP y 3,33,2 PP . Los puntos anteriores se unen para darcabida al siguiente nivel del polgono de apoyo, el cual queda definido en susvrtices como: 2,

i P para 2,1,0 = i .Con el procedimiento anterior se definen sobre el polgono de nivel 2 lospuntos 1,0 P y 1,1 P , localizados tambin a la simat 0 parte de los segmentosrespectivos. El procedimiento se repite hasta el nivel mas bajo posible, en dondeel polgono de apoyo se ha convertido en un punto 0,0 P y este es el punto de lacurva para el 0 t dado. 0,00 )( Pt C = ( 2 )En la figura 2.2 se presenta la localizacin geomtrica de un punto de lacurva para cuando 31 0 = t . Figura 2-2: Construccin del punto C(1/3)

El cdigo. A continuacin se incluye el cdigo para Matlab, que ha sido probadopara las versines 5.3 en adelante: function bezier(P)hold offplot(11,11)axis([-10 10 -10 10])hold onn = length(P);if n==0xy =[];n=0;text(-5,9.5,'El botn izquierdo toma los puntos')text(-5,8.7,'El botn derecho toma el ltimo punto')but=1;

while but==1[xi,yi,but]=ginput(1);plot(xi,yi,'ro')n=n+1;x(n)=xi;y(n)=yi;xy(:,n)=[xi;yi];endPoligonoDeApoyo=xy'elsePoligonoDeApoyo= Pfor i=1:nx(i)=P(i,1);y(i)=P(i,2);endends=n-1;for i=0:scoef(i+1)=(FACTORIAL(s)/(FACTORIAL(s-i)*FACTORIAL(i)));endif mod(n,2) == 0.m=1;elsem=0;endb=zeros (n);for i=1:nu=0;for j=1:s+1b(i,j)= coef(i)*(FACTORIAL(s)/(FACTORIAL(s-u)*FACTORIAL(u)))*(1)^(i+j+m);u=u+1;ends=s-1;endt=0:.01:1;for i=1:101for j=1:nvt(i,j)=t(i)^(n-j);endendfor t=1:101Pxt(t)=x*b*vt(t,1:n)'; Pyt(t)=y*b*vt(t,1:n)';endHold offplot(x,y,Pxt,Pyt,'r')

Вам также может понравиться