|
- Applets : Fraktale : Juliamenge -
Die fraktale Juliamenge als Java-Applet.
Während bei der Mandelbrotmenge nach der Gleichung Zn+1 = Zn² + C die realen und imaginären C-Werte für eine festen Startwert Z0 (z.B. Z0=0 für das Apfelmännchen) das Bild bestimmen, ist es bei der Juliamenge genau umgekehrt: Z0 wird variiert und ihr realer und imaginärer Teil bestimmen die aufzutragenden Koordinaten. C bleibt konstant. (Nach Gaston Julia, franz. Mathematiker, 1893-1978.)
Julia.java
import java.awt.*;
import java.applet.*;
public class Julia extends Applet {
double reC, imC;
public void init() {
setBackground(new Color(255,255,255));
}
// Zo-Werte checken nach Zn+1 = Zn^2 + C, C = const.
public int checkZo(double reZ_minus1,double imZ_minus1) {
double reZ,imZ;
int i;
for (i=0;i<47;i++) {
imZ=2*reZ_minus1*imZ_minus1+imC;
reZ=reZ_minus1*reZ_minus1-imZ_minus1*imZ_minus1+reC;
if (reZ*reZ+imZ*imZ>4) return i;
reZ_minus1=reZ;
imZ_minus1=imZ;
}
return i;
}
// Punkte berechnen und setzen
public void paint (Graphics g) {
double reZo, imZo, zelle=0.0065; // Ein Pixel = 0.0065
int x,y,iterationenZo;
Color colJulia = new Color(0,0,200); // Farbe Juliamenge
reC = -0.65175;
imC = 0.41850;
imZo=-0.96; // oberer Rand
for (y=0;y<300;y++) {
reZo=-1.5; // linker Rand
for (x=0;x<400;x++) {
if (checkZo(reZo,imZo)==47) {
g.setColor(colJulia);
g.drawLine(x,y,x,y);
}
reZo=reZo+zelle; // nächste Spalte
}
imZo=imZo+zelle; // nächste Zeile
}
}
}
Für eine bunte Juliamenge wird analog zum Apfelmännchen 2 vorgegangen.

(Gaston Julia)
Download Juliamenge.zip (Applet und Code, ca. 2,5 kb)
© 2001-2004 Albert Kluge - Alle Rechte vorbehalten
Impressum | Datenschutz | Nutzung | eMail
|