MANDELBROT ZOOM Yann LAHOUSSINE Xavier ROSANT DESS TNI-idi
Plan Définition Mathématiques Démonstration Itération Zoom 1 Zoom 2
z0 = 0 zn = z2n-1 + C Définition Mathématiques (a,b) IR2 Pour chaque point du plan complexe z0 = 0 zn = z2n-1 + C (a,b) IR2 C = a i + b
= Définition Mathématiques Ensemble de Mandelbrot { Tous les points pour lesquels la suite est bornée }
Définition Mathématiques Si |zn|>2 Alors (zn)nIN diverge {Mandelbrot} {cercle de rayon 2 et de centre (0,0)}
Définition Mathématiques
zn= xn+ i yn xn+1= xn2 – yn2 + a yn+1=2 * xn2 * yn2 + b Définition Mathématiques zn= xn+ i yn xn+1= xn2 – yn2 + a yn+1=2 * xn2 * yn2 + b
Itération Pour chaque pixel, on retourne une couleur dépendant du nombre d'itérations. Par exemple: jaune pour les petits calculs, bleu pour les grands. Plus le nombre d’itération est grand plus les tracé de la fractale est fin. 5 10 15 20 25 30
Zoom Changement de repère S=glScalef(ox+1,oy+1,oz+1); T=glTranslatef(MonNouveauCentreX, MonNouveauCentreY,0);
Rectangle élastique Dessin d’un rectangle élastique a l’aide d’un XOR: //Activation des opérateurs logiques glEnable(GL_COLOR_LOGIC_OP); //Sélection du XOR comme opérateur logique glLogicOp(GL_XOR); //Couleur de dessin glColor3f(1, 1, 1); //Effacement de l’ancien rectangle glRectf(x1-old, y1-old, x2-old, y2-old); //Dessin du nouveau rectangle glRectf(x1, y1, x2, y2);
Zoom Les x1, y1, x2, y2 du rectangle de sélection deviennent le nouveau repère: //Chargement de la matrice identité glLoadIdentity(); //Changement de repère glOrtho(x1, x2, y1, y2, -1.0, 1.0); //Calcul et dessin de la fractale drawMandelbrot();