#include <sys/wait.h>
struct parameters {
- // nombre max d'itérations
+ // nombre max d'itérations
int maxiter;
- // zone d'intérêt par défaut
+ // zone d'intérêt par défaut
double Rmin;
double Rmax;
double Imin;
double Imax;
- // facteur d'échelle
+ // facteur d'échelle
double Rscale;
double Iscale;
};
}
// Fonction de dessin de l'ensemble de Madelbrot, dans la zone
-// spécifiée, et avec la précision souhgaitée.
+// spécifiée, et avec la précision souhgaitée.
void do_mandel(DrawingWindow& w, parameters& p)
{
- int x, y; // le pixel considéré
+ int x, y; // le pixel considéré
double cr, ci; // le complexe correspondant
int iprev = -1;
}
}
-// Fonction de dessin principale, calcule la zone d'intérêt, appelle
+// Fonction de dessin principale, calcule la zone d'intérêt, appelle
// do_mandel(), pour dessiner l'ensemle, et permet le zoom.
void mandel(DrawingWindow &w)
{
int button;
w.waitMousePress(x, y, button);
- // calcul des coordonnées du point cliqué
+ // calcul des coordonnées du point cliqué
double Tr = p.Rmin + x * p.Rscale;
double Ti = p.Imax - y * p.Rscale;
- // calcul de la nouvelle zone d'intérêt :
- // zoom ×2 en direction du point cliqué
+ // calcul de la nouvelle zone d'intérêt :
+ // zoom ×2 en direction du point cliqué
const int zoom = 2;
double Rmin2 = p.Rmin / zoom;
double Rmax2 = p.Rmax / zoom;
Imin2 += Ishift;
Imax2 += Ishift;
- // affichage d'un rectangle autour de la nouvelle zone d'intérêt
+ // affichage d'un rectangle autour de la nouvelle zone d'intérêt
w.setColor("white");
w.drawRect((Rmin2 - p.Rmin) / p.Rscale, (p.Imax - Imin2) / p.Iscale,
(Rmax2 - p.Rmin) / p.Rscale, (p.Imax - Imax2) / p.Iscale);