este se muestra generalmente con el "algoritmo del tiempo de escape"
Bueno mi problema es el siguiente..
Yo puedo crear el conjunto .. lo muestro todo genial. La idea es que al hacer click en una parte de la imagen el cojunto se agrande "zoom" que se obtiene aumentando el numero de el numero que divide la funcion.
y que el lugar donde yo hize click se me situe en el centro de la imagen para poder haci hacerlo controlable...
yo logro hacer click y que se hacerque.. el problema es que no logro controlarlo.
Como puedo hacer para que al hacer click mi conjunto vaya al medio?
yo se que devo sumar y restar a la funcion para moverla pero no se como sacar el calculo de cuanto le devo sumar o restar :S
si alguien me puede ayudar genial por que nesecito entregar este proyecto. un saludo y gracias de antemano.
Les dejo el codigo.
Código:
#include<winbgim.h> #include<stdlib.h> #include<math.h> void waitForLeftMouseClick(); int main() { int i,m,n,R,G,B,x,y,c,div,primero=1; float a,aa,b,bb,ca,cb,iteraciones,moverx=0,movery; initwindow(800,600); outtextxy(100, 150, "Programa diseñado por Hombre Federico Joel 4° Año 1° divicion Computacion"); outtextxy(300, 300, "Haga CLICK para comenzar"); c=1; do { clearmouseclick(WM_LBUTTONDOWN); const int DELAY = 50; while (!ismouseclick(WM_LBUTTONDOWN)) delay(DELAY); getmouseclick(WM_LBUTTONDOWN, x, y); c=c*2; div=(300*(c)); if (x>400) moverx=(moverx+(-(x-400))); */ aqui deveria de sumar y restar para moverla else moverx=(moverx+(400-x)); */ funcion y asi lograr hacerla manejable if (y>300) movery=(movery+(-(y-300))); else movery=(movery+(300-y)); for (m=0;m<800;m++) { for (n=0;n<600;n++) { i = 0; iteraciones=300; ca = (float) (m - (400+moverx))/div; cb = (float) (n - (300+movery))/div; a = b = primero = 0; while ((i < iteraciones) && (sqrt(a*a+b*b) <= 2)) { aa = a*a - b*b + ca; bb = 2*a*b + cb; a = aa; b = bb; i++; } R=i; G=i+30; B=0; if(i==300) putpixel(m,n,BLACK); else putpixel(m,n,COLOR(R,G,B)); } } }while(!kbhit()); outtextxy(300, 300, "Programa terminado"); closegraph(); }