Zum Inhalt
Liste Fraktale Mandelbrot
Aus ProgrammingWiki
<
MAN
Mandelbrot-Menge
double reZ, imZ, reZ_minus1, imZ_minus1; int checkC(double reC,double imC) { int i; reZ=0.0; imZ=0.0; reZ_minus1=0.0; imZ_minus1=0.0; //Startort des Floh for (i=0;i<51;i++) //Anzahl der möglichen Sprünge { imZ=2*reZ_minus1*imZ_minus1+imC; //komplexe Gleichung z(n)=z(n-1)^2+C reZ=reZ_minus1*reZ_minus1-imZ_minus1*imZ_minus1+reC; if (reZ*reZ+imZ*imZ>4) return i; //Test ob Floh auf runden Tischen mit Radius 2; Rückgabe Sprunganzahl wenn vom Tisch reZ_minus1=reZ; //Rekursionsschritt imZ_minus1=imZ; } return i; //Rückgabe des Sprunganzahl=50 } void start(double a,double b,double c) { double reC, imC; // Ein Schritt = 0.01 für Veränderung der Konstante C int i; schritt=c; canvas.clear(0,0,500,200); // Löschen und Formatieren der Zeichenfläche canvas.setColor(100,100,100); // Zeichenfarbe imC=b; //Start für imC=1 in Schritten "schritt" nach unten for (int y=0;y<200;y++) //Zeilen { reC=a; //Start für reC=-4 (links in Schritten "schritt" nach rechts for (int x=0;x<500;x++) //Spalten {i=checkC(reC,imC); if (i==51) canvas.fillRect(x, y, 1, 1); // Punkt zeichnen, wenn Sprungfolge auf Tisch endete reC=reC+schritt; // nächstes C in Richtung Realanteil }; imC=imC-schritt; // nächste Zeile } }
start(-4, 1, 0.01); // start
ausführen
Ihr Browser unterstützt Canvas nicht.
Seite
Quelltext
Versionen/Autoren
Konto registrieren
Anmelden
Navigation
Startseite
Letzte Änderungen
Alle Seiten
Einführungskurs
Hilfe
Dateien
Suche
Suchen
Werkzeuge
Links auf diese Seite
Spezialseiten