#include <DrawingWindow.h>
#include <QApplication>
#include <iostream>
-#include <unistd.h>
-#include <sys/types.h>
-#include <sys/wait.h>
struct parameters {
// nombre max d'itérations
return i;
}
-// int check_point(parameters& p, int x, int y)
-// {
-// double cr = p.Rmin + x * p.Rscale;
-// double ci = p.Imax - y * p.Iscale;
-// return check_point(p, cr, ci);
-// }
-
static void set_color(DrawingWindow& w, parameters& p, int i)
{
double rouge, vert, bleu;
int x, y; // le pixel considéré
double cr, ci; // le complexe correspondant
- int kmax = 4;
- for (int k = kmax ; k != 0 ; k /= 2) {
- int kk = 2 * k;
- for (y = 0 ; y < w.height ; y += k) {
- ci = p.Imax - y * p.Iscale;
- cr = p.Rmin;
- int x0 = 0;
- int i0 = check_point(p, cr, ci);
- for (x = k ; x < w.width ; x += k) {
- cr = p.Rmin + x * p.Rscale;
- if (x % kk != 0 || y % kk != 0 || k == kmax) {
- int i = check_point(p, cr, ci);
- if (i != i0) {
- set_color(w, p, i0);
- if (k == 1)
- w.drawLine(x0, y, x - 1, y);
- else
- w.fillRect(x0, y, x - 1, y + k - 1);
- i0 = i;
- x0 = x;
- }
- }
+ for (y = 0 ; y < w.height ; y++) {
+ ci = p.Imax - y * p.Iscale;
+ cr = p.Rmin;
+ int x0 = 0;
+ int i0 = check_point(p, cr, ci);
+ for (x = 1 ; x < w.width ; x++) {
+ cr = p.Rmin + x * p.Rscale;
+ int i = check_point(p, cr, ci);
+ if (i != i0) {
+ set_color(w, p, i0);
+ w.drawLine(x0, y, x - 1, y);
+ i0 = i;
+ x0 = x;
}
- set_color(w, p, i0);
- w.fillRect(x0, y, w.width - 1, y + k - 1);
}
+ set_color(w, p, i0);
+ w.drawLine(x0, y, w.width - 1, y);
}
}