prev up next


Aufgabe 6.1 (40 Punkte)

Kopieren Sie das jar-Archiv /home/cg/Uebung/Blatt6/Aufg/draw2d-uebung.jar  in Ihr Arbeitsverzeichnis.

Bei der Applikation handelt es sich um die Musterlösung zu Blatt 4. Setzen Sie sich in dieser und der folgenden Aufgabe mit der Implementierung von Fraktalen auseinander.

Implementieren Sie in die dieser Aufgabe ein neues DrawableObject für die Koch'sche Schneeflocke. Leiten Sie Ihre neue Klasse von der vorhandenen Klasse Polygon ab und ergänzen Sie einen Listener für die Funktionsauswahl, so dass die Koch'sche Schneeflocke auf Ihrer Zeichenfläche dargestellt werden kann. Ein Klicken in die Zeichenfläche sollte dabei die Grundform (Dreieck) an die entsprechende Stelle setzen.

Ergänzen Sie das Delegation-Interface DrawableObjectProcessing um eine geeignete Methode, die - analog zur Anwendung der Transformationsmatrizen - alle Fraktale in der Nähe des gewählten Punktes (in der Nähe bedeutet hier, wie beim Polygon, dass sich der Punkt innerhalb des Fraktals befindet) um einen weiteren Schritt iteriert. Ergänzen Sie auch eine entsprechende Funktionsauswahl und einen zugehörigen Listener.

Sorgen Sie also dafür, dass Sie mit der Funktionsauswahl Schneeflocke zunächst die Grundformen (Dreiecke) in die Zeichenfläche setzen können und diese bei Auswahl der Funktion Fraktale iterieren und einem Klick in das jeweilige Fraktal iteriert und neu gezeichnet werden.

Sollte es beim Zeichnen zu größeren Ungenauigkeiten kommen, überlegen Sie sich, wie Sie diese beheben können und verändern Sie die entsprechenden Klassen.

Musterlösung vom 19.05.2010:
Die Lösung findet sich unter /home/cg/Uebung/Blatt6/Lsg/draw2d-mlg.jar .


prev up next