Logo Mathematik · Physik · Informatik
Arnold-Janssen-Gymnasium St.Wendel
Universität des Saarlandes · Fachrichtung Mathematik

Kontakt · Impressum

Purebasic Purebasic Juliamenge

Darstellung einer Juliamenge in Purebasic

PureBasic

Basic wird oft als Einsteigersprache belächelt. Dieses Lächeln wird aber spätestens nach einem Blick auf die Purebasic Demos auf der Herstellerseite einem (vielleicht ungläubigen) Staunen weichen! PureBasic ist in der Tat für Einsteiger geeignet, lässt aber dem Profi alle Möglichkeiten bis hin zu Inline-Assembler offen und stellt hinsichtlich der Geschwindigkeit und vor allem der Größe der Executables fast alles in den Schatten, was ich bisher gesehen habe. Als Demo biete ich unten ein Programm zur Darstellung eines Fraktals im Quelltext und als ausführbare Datei (von nur 86 Kilobyte Größe!) an. Die Demoversion von Purebasic kann man übrigens kostenlos hier downloaden. (Die Einschränkung auf max. 800 Zeilen Quelltext wird sicher keinem Einsteiger weh tun!)

Der Algorithmus zur Darstellung eines Fraktals

Jeder kennt sie: Fraktale, ansprechende, meist bunt eingefärbte, chaotisch und doch irgendwie regelmäßig anmutende Bilder, die so gar nicht nach Mathematik aussehen und dennoch einer mathematischen Vorschrift entspringen (siehe links unten). Eine Möglichkeit, zu solchen Bildern zu gelangen, besteht darin, das Zeichenfenster mit einem Ausschnitt aus den komplexen Zahlen um den Ursprung zu identifizieren und dann für jeden Bildpunkt (x|y) die Vorschrift

zn+1 = zn2 + c

zu iterieren, bis zu einer fest vorgegebenen Zahl n=N (z.B. N=1000) mit dem Startwert

z0 = x+iy.

Dabei ist i die imaginäre Einheit und das Symbol c steht dabei für eine feste, d.h. vom Bildpunkt unabhängige, komplexe Zahl (Seedvalue genannt). Die Farbe des Pixels (x|y) wird dann in Abhängigkeit vom Betrag |zN| festgelegt. Das komplette Bild ergibt sich also, indem man für jedes Pixel (x|y) die obige Iterationsvorschrift (mit dem jeweils vom Pixel abhängigen Startwert) bis n = N durchrechnet, und dann die Pixelfarbe ausgehend von |zN| nach einem festen Schema festlegt.

Downloads


Valid XHTML 1.0 Transitional letzte Aktualisierung: 04.08.2013