Está en la página 1de 5

Introducción

Para unir dos puntos con un trazo, podemos elegir un trazado recto o curvo. El trazado recto es
único, pero existen infinidad de curvas entre dos puntos.

Las curvas de Bézier son un instrumento matemático para la modelización de curvas y superficies,
nacieron como una aplicación concreta en el seno de la industria automovilística.

Una curva de Bézier está formada por varios segmentos, pueden ser curvos o rectos. La curva
puede ser abierta o cerrada.

Puntos de apoyo
Son los puntos extremos de los segmentos. Por ellos pasa la curva y siempre hay que definirlos. En
general, cuando se crean curvas de Bézier se procura que haya la menor cantidad posible de
puntos de apoyo. En el ejemplo, del A al G.

Puntos de control
Son los puntos a los que «intenta acercarse» la curva, aquéllos que definen su curvatura. Siempre
hay que definirlos. La curvatura de cada segmento viene definido por un punto de control, dos o
ninguno. En el ejemplo, del 1 al 7.

Líneas de control
Unen los puntos de apoyo con los puntos de control. Son meras referencias para ayudar en la
creación de las curvas, luego no aparecen.

Curva de Bézier
Desarrollo
Se decidió realizar el siguiente trazo en base a los puntos mostrados a continuación:

P1(4,1), P2(3,3), P3(2,4), P4(6,4), P5(5,3), P6(4,1).

Gráfico esperado

Gráfico en Bui(X)
Gráfico en Cx(X)

R
Gráfico Cx(Y)
A continuación se muestra el código desarrollado en Matlab:

%Polinomio de interpolación de Bezier - Enrique Puente - Daniel Robledo.


clear
clc
x=[4 3 2 6 5 4]; %Puntos Elegidos de X
y=[1 3 4 4 3 1]; %Puntos Elegidos de Y
n=length(x); %Número de Puntos
i=1:n; %Array del Índice (Matlab empieza matrices en 1)
resolucion=0:0.01:1;
LongResolucion=length(resolucion); %Resolución de Graficación
u=1:LongResolucion; %Array de la Resolucion
for i=1:1:n %Iteraciones para i de Bui
for u=1:1:LongResolucion %Iteraciones para u de Bui
Bui(i,u)=(factorial(n-1)/(factorial(i-1)*factorial((n-1)-(i-
1))))*resolucion(u)^(i-1)*(1-resolucion(u))^((n-1)-(i-1));
end
end
for i=1:1:n %Iteraciones para i de Cx y Cy
for u=1:1:LongResolucion %Iteraciones para u de Cx y Cy
Cx(i,u)=Bui(i,u)*x(i);
Cy(i,u)=Bui(i,u)*y(i);
end
end

X=sum(Cx); %Sumatoria de Cx
Y=sum(Cy); %Sumatoria de Cy
hold on
xlim([0,max(x+1)]) %Acomodo visual de la grafica en X
ylim([0,max(y+1)]) %Acomodo visual de la grafica en Y
grid on %Activar Cuadricula
plot(X,Y) %Imprime la Grafica de la linea de interpolación
for i=1:n
plot(x(i),y(i),'+r') %Imprime los puntos que se eligieron de X y Y
end
legend('Curva de Bezier');
title('METODO DE INTERPOLACIÓN DE BEZIER');
xlabel('EJE X');
ylabel('EJE Y');
figure
grid on
plot(X,Bui)
legend('Bui(X)');
xlabel('EJE X');
ylabel('EJE Bui');
figure
grid on
plot(Y,Bui)
legend('Bui(Y)');
xlabel('EJE Y');
ylabel('EJE Bui');
figure
grid on
plot(X,Cx)
legend('Cx(X)');
xlabel('EJE X');
ylabel('EJE Cx');
figure
grid on
plot(Y,Cx)
legend('Cx(Y)');
xlabel('EJE Y');
ylabel('EJE Cx');

Conclusiones
Como se pudo observar en el presente reporte, se llevo a cabo la realización del código para poder
generar las curvas de Bézier de un gráfico deseado y tal como se muestra en las imágenes el
resultado fue bastante similar. En un principio el ejercicio planteado resultó un poco complicado
de realizar ya que se tuvo algo de complejidad a la hora de realizar la codificación, pero
considerando que los resultados fueron bastantes similares, podemos hablar de que el ejercicio
fue llevado a cabo correctamente.

Páginas web consultadas


 http://geogebra.es/gauss/materiales_didacticos/bach/actividades/geometria/geo_2D/bez
ier/actividad.html
 http://www.ibiblio.org/pub/Linux/docs/LuCaS/Cursos/distro/basico/html/node158.html
 file:///C:/Users/ialeman/Downloads/3071-8738-1-SM.pdf

También podría gustarte