Mandelbrot-Menge

Mandelbrot-Menge

2008-07-21

Wer kennt sie nicht? Mathematische Fraktale, unendliche Computersimulationen, die Mandelbrotmenge, die Julia-Menge, ...

Screenshot

Mir hat die Mandelbrot-Menge sehr gut gefallen. Ich muss gestehen, dass ich den Algorithmus dahinter nicht ganz verstehe... aber ich habe den Pseudocode nach C#.NET transferiert und an die Sprache optimiert. Der eingeschränkte Zoombereich meines Programmes ist auf die normalerweise beschränkte Auflösung von Gleitkommazahlen zurückzuführen. Zunächst aber ein kleiner überblick über mein neues Programm:

Screenshot

Der größte Bereich (links oben) stellt das Fraktal dar. Klickt man mit der linken Maustaste hinein, wird die Ansicht dorthin eine Stufe tiefer gezoomt (vergrößert). Klickt man mit der rechten Maustaste, so wird herausgezoomt (verkleinert). Man kann wie beim Markieren mit den gängigen File-Explorern (z.B. Windows Explorer) einen Bereich des Bildes auswählen (der markierende Rahmen ist leider nicht sichtbar), woraufhin der markierte Bereich vergrößert wird.

Darunter befinden sich zwei Fortschrittsbalken, welche den Fortschritt des Zeichenvorganges (Redraw -> neu Zeichnen) bzw. des Exports (welcher längere Zeit in Anspruch nehmen kann). Rechts neben den Fortschrittsbalken befinden sich zwei Buttons, mit welchem die Berechnungsthreads abgebrochen werden können.

In der Mitte des Programmes befinden sich Schaltflächen zum Navigieren. "Reset View" bringt den Bildschirm zur Anfangsposition zurück. "Zoom Out" behält die Position bei, aber zoomt ganz heraus (verkleinert). Mit den Pfeilen bzw. "up" und "down" kann man die Position in alle Himmelsrichtungen verschieben. Mit Plus und Minus kann man Ein- und Auszoomen.

Am rechten Rand befinden sich in einer Tabkonfiguration zwei PropertyEditoren, mit welchen man Eigenschaften des Zeichenpanels und Eigenschaften des Exports frei definieren kann. Dabei ist allerdings Vorsicht geboten --> Wenn's schief geht bitte das Programm neu starten oder Einstellungen rückgängig machen ;-)

Dieses Programm benötigt .NET 2.0. Wenn das Programm nicht ausführbar ist, bitte ich Sie zu überprüfen, ob eine aktuelle Version von .NET installiert ist. Unter Linux sollte dieses Programm auch laufen wenn man es mit mono startet.

Download: mandelbrot.zip (11 KiB)
SHA1: 89c5518a76c2da390650f78c0ea9a9c72caf72e8