Bonjour, je me permet de poster ici (ne sachant pas si mon problème concerne l'interface graphique ou l'algorithme que j'utilise). Je m'explique, je veux représenter une fractale de l'ensemble de julia sous java.

Voici le programme que j'utilise:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
				}
	    }
PS : J'arrive a générer l'ensemble de mandelbrot, donc j'aurais tendance a dire que le problème vient de l'algorithme.