Mandelbrötchen
Das Mandelbrötchen, auch Apfelmännchen oder Mandelbrotmenge genannt (nach dem französisch-amerikanischen Mathematiker Benoît B. Mandelbrot), ist der Star unter den Fraktalen. Sie ist mathematisch gesprochen, die Menge der Anfangspunkt z0 in der komplexen Ebene, für die die Folge
zn + 1 = zn2 + c
beschränkt bleibt. Man kann beweisen, daß die Folge dann nicht beschränkt bleibt, wenn
abs(zn) > 2
für irgendeinen Index n gilt. Wir können damit aber nur exakt feststellen, daß ein Punkt nicht zur Mandelbrotmenge gehört. Für den eigentlichen Bereich muß man, je nach Ausschnittvergrößerung, die Iterationsvariable entsprechend höher setzen.
Das Processing-Programm ist ziemlich allgemein gehalten. Durch Änderung der Variablen links, rechts, oben, unten und der Iterationsvariable iter kann man alle Bereiche der Mandelbrotmenge erkunden.
Lediglich die Farbgebung ist ziemlich anspruchslos. Andere bekommen hier buntere Bildchen hin. Ich habe aber noch keine Idee, was ich hier einsetzen könnte, da muß ich mich erst noch einmal mehr mit den Color-Möglichkeiten von Processing beschäftigen.
Quellcode
// Ein einfaches Rezept für ein Apfelmännchen
// nach: Karl-Heinz Becker, Michael Dörfler: Rezept für ein Apfelmännchen,
// Kursbuch 98 (1989), S. 39 - 41
int iter = 20;
float grenze = 2.0;
float links = -0.75;
float rechts = 2.25;
float unten = -1.5;
float oben = 1.5;
int hoehe = 400;
int breite = 400;
color c;
void setup () {
size (hoehe, breite);
background(0);
drawIt();
}
void drawIt() {
int i;
float zIm, zRe, cIm, cRe, zRhoch2, zIhoch2;
for (int x = 0; x < breite; x++) {
cRe = links + x*(rechts - links)/breite;
for (int y = 0; y < hoehe; y++) {
cIm = unten + y*(oben - unten)/hoehe;
zRe = 0;
zIm = 0;
zRhoch2 = 0;
zIhoch2= 0;
i = 0;
do {
zIm = 2*zIm*zRe - cIm;
zRe = zRhoch2 - zIhoch2 - cRe;
zRhoch2 = zRe*zRe;
zIhoch2 = zIm*zIm;
i++;
}
while ((i < iter || ((zRhoch2 + zRhoch2) > grenze)));
if ((zRhoch2 + zIhoch2) <= grenze) {
c = color(200, 20, 20);
}
else {
c = color(255 - i*32%255, 255 - i*32%255, 255 - i*32%255);
}
set(x, y, c);
}
}
print ("I did it, Babe!");
}
Literatur
- Karl-Heinz Becker, Michael Dörfler: Rezept für ein Apfelmännchen, Kursbuch 98 (1989), S. 39 - 41
- Frank Piefke: Simulationen mit dem Personalcomputer, Heidelberg (Hüthig) 1991
Sie sind hier: Start → Programmierung → Creative Coding → Processing → mandelbroetchen.txt