1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
| public class Panneau extends JPanel {
public void paintComponent(Graphics g){
g.setColor(Color.white);
g.fillRect(0, 0, this.getWidth(), this.getHeight());
paintM(g);
}
public void paintM(Graphics g){
double x1=-1.5;
double x2=1.5;
double y1=-1.5;
double y2=1.5;
double zoom=100;
int Itmax=200; //Iterations maximum
double imagex=(x2-x1)*zoom;
double imagey=(y2-y1)*zoom;
double x=0;
double y=0;
while(x<imagex){
System.out.println("x="+x);
y=0;
while(y<imagey){
System.out.println("y="+y);
double cx=0.285;
double cy=0.01;
double zx=x/zoom+x1;
double zy=y/zoom+y1;
int i=0;
do{
double r=zx;
zx = zx*zx - zy*zy + cx;
zy = 2*zy*r + cy;
i++;System.out.println("i="+i);System.out.println(zx*zx+zy*zy);
}
while(zx*zx+zy*zy<4 && i<Itmax);
if(i==Itmax){
System.out.println("converge");
g.setColor(Color.black);
g.fillOval((int)((x-x1)*zoom),(int)((y-y1)*zoom),2,2);
}
else{
System.out.println("diverge");
Color c=new Color(0,0,i*250/Itmax);
g.setColor(c);
g.fillOval((int)((x-x1)*zoom),(int)((y-y1)*zoom),2,2);
}
y=y+1;
}
x=x+1;
}
} |
Partager