Hier finden Sie Java-Quellcode, der eine mögliche Lösung zum Posten OOP darstellt. Am besten ist es natürlich, wenn Sie Ihre eigenen Klassen verwenden. Falls Ihnen Java noch nicht vertraut genug ist, oder Sie einfach Ihre Lösung mit einer anderen vergleichen wollen, dann können Sie dies hier tun. Selbstverständlich können Sie dann auch mit unserer Lösung weiterarbeiten, tun Sie dies aber nur dann, wenn Sie selbst keine Lösung gefunden haben. Um unsere Lösung zu übernehmen, klicken Sie unten auf die entsprechenden Links und speichern danach die Datei mit Ihrem WWW-Browser in Ihr Arbeitsverzeichnis.
Wir haben zur gegebenen Klasse Fractal die beiden Implementationen Mandelbrot und Julia erstellt. Die drei Dateien beginnen mit den Grossbuchstaben OOP. Diese Namensgebung verhindert beim Herunterladen in Ihr Verzeichnis, dass Ihre eigene Lösung einfach überschrieben wird. Sie können so auch die Lösungen mehrerer Posten gleichzeitig in Ihrem Arbeitsverzeichnis aufbewahren. Wenn Sie mit unserer Lösung weiterfahren möchten, müssen Sie die drei Dateien vor dem Kompilieren noch umbenennen, d.h. die drei ersten Grossbuchstaben löschen. Der Compiler verlangt nämlich, dass der Dateiname (ohne .java) mit dem Klassennamen übereinstimmt.
Ein Fraktal wird in ein Fenster gezeichnet, das durch das Feld canvas in der Klasse repräsentiert wird. Die Koordinaten cx, cy, cw, ch geben an, welcher Bereich dieses Fensters tatsächlich zum Zeichnen zur Verfügung steht. Da cx und cy demnach nicht unbedingt 0 sein müssen, muss dies in einer etwas aufwendigeren Art der Koordinatenangaben in den draw-Implementationen berücksichtigt werden.
Es wurde keine zusätzliche Klasse verwendet, die die komplexen Zahlen implementiert. Dies macht zwar die Berechnung der Iteration z = z2 + c etwas komplizierter, ist aber um einiges effizienter in bezug auf die Rechengeschwindigkeit.
OOP Begriffe - Mandelbrot- und Julia-Menge - Tips und Hinweise - Lösungsmöglichkeit
OOP - Werkzeuge - Referenzen - Fäden - Synchronisation - Applets - Dokumentation
Werkstatt - Bibliographie