Issuu on Google+

Herramientas Graficas – Max Ramirez Martel ingeniería de sistemas Hola bueno aquí les dejo un pequeño aporte para herramientas graficas: Algoritmos y codigo de las curvas de bezier espero les ayude en algo. Introducción. /*Primeramente tendremos que usar uno pequeños conceptos de funciones, ya que crearemos funciones para cada curva y a continuación solo los llamaremos, bueno en nuestras funciones nuestros parámetros de entradas serán los puntos de control*/ Bueno aquí les dejo el código para iniciar el modo grafico en el borlan c++,esto es una función la cual pueden copiar y llamar pero dentro de su void main(). void mGrafico() { int gdriver = DETECT,gmode; initgraph (&gdriver, &gmode, "C:\\BC5\\BGI"); } Void main() { mGrafico();// y listo } Curvas de bezier La curvas de bezier son el desarrollo del binomio ((1-t)+t) solo tenemos que resolver este binomio y dependiendo de la cantidad de puntos de control que deseen usar, tendrá que elevar el binomio al cuadrado o al cubo o simplemente tal y como esta. Curvas de bezier con dos puntos Las curvas de bezier con dos puntos son simplemente unas rectas así que simplemente no le hacemos nada y simplemente le añadimos el x0, x1 o y0, y1 de la siguiente manera.

//Funcion Para Las Curvas de 4 Puntos azul 1 void cv2p(int x0, int y0, int x1, int y1)

Ramirez Martel MAX | amarte_esmijobi@hotmail.com


Herramientas Graficas – Max Ramirez Martel ingeniería de sistemas { double t=0, Xt, Yt; while(t<=1) { Para x*/ Yt =y0+(1-t)+y1*t; putpixel( Xt,Yt,1); // esta es la función que nos graficas todos los puntos t = t + 0.0001; } }

Curvas de bezier con tres puntos.

Para obtener esta función debemos de elevar el binomio al cuadrado y complementarlo con los parámetros de estrada de la función, de la siguiente manera. ha esto solo le ponemos los parametro de entra y quedaria así

si es para “x” y para “y”.

Bueno programando quedaría de la siguiente manera.

void cv3p(int x0, int y0, int x1, int y1, int x2, int y2) { double t=0, Xt, Yt; while(t<=1) { /*Para x*/ Xt = x0*pow(1-t,2) + x1*2*t *(1-t) + x2*pow(t,2); /*Para y*/ Yt = y0*pow(1-t,2) + y1*2*t*(1-t) + y2*pow(t,2); putpixel(Xt,Yt,1); // esta es la función que nos grafica los puntos 1 t = t + 0.0001; } Ramirez Martel MAX | amarte_esmijobi@hotmail.com


Herramientas Graficas – Max Ramirez Martel ingeniería de sistemas }

Curvas de bezier con cuatro puntos. Para obtener esta función debemos de elevar el binomio al cubo y complementarlo con los parámetros de estrada de la función, de la siguiente manera. ha esto solo le ponemos los parametro de entra y quedaria así

si es

para “x” y

para “y”.

Bueno programando quedaría de la siguiente manera.

void cv4p(int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3) { double t=0, Xt, Yt;

while(t<=1) { Xt = (x0*pow(1-t,3)) + (x1*3*pow(1-t,2)*t) + (x2*3*(1-t) *pow(t,2)) + (x3*pow(t,3)); Yt = (y0*pow(1-t,3)) + (y1*3*pow(1-t,2)*t) + (y2*3*(1-t) *pow(t,2)) + (y3*pow(t,3)); putpixel(Xt, Yt,1); t = t + 0.0001; } } //espero que les ayude en algo hasta la proxima…attm : Ramirez Martel Max. Posdata quejas demandasy dudas al correo.

amarte_esmijobi@hotmail.com

1

Ramirez Martel MAX | amarte_esmijobi@hotmail.com


Curvas de bezier