Rekursive Bilder programmieren — vom Fraktalbaum über die Koch-Kurve bis zu Sierpinski-Dreiecken. Selbstähnlichkeit als algorithmisches Prinzip.
Informatik · Klasse 12 · 30 Minuten
Modul 01
Rekursion kennt ihr als Programmierprinzip — eine Funktion ruft sich selbst auf. In der algorithmischen Grafik erzeugt dieses Prinzip Strukturen, die sich auf jeder Vergrößerungsstufe wiederholen: Fraktale.
Basisfall + rekursiver Aufruf = kontrollierte Selbstbezüglichkeit.
↓ Details anzeigen
Jede rekursive Funktion braucht: (1) einen Basisfall, der die Rekursion beendet, und (2) einen rekursiven Aufruf, der das Problem verkleinert. Ohne Basisfall entsteht eine Endlosrekursion — der Stack läuft über (Maximum call stack size exceeded). In der Grafik ist der Basisfall typischerweise eine minimale Länge oder Rekursionstiefe.
Das Ganze sieht aus wie seine eigenen Teile — auf jeder Ebene.
↓ Details anzeigen
Ein Fraktal ist selbstähnlich: Vergrößert man einen Ausschnitt, findet man die gleiche Struktur wieder. Ein Baumast sieht aus wie ein kleinerer Baum. Eine Koch-Kurve besteht aus vier kleineren Koch-Kurven. Diese Eigenschaft entsteht natürlich durch Rekursion — jeder Aufruf erzeugt eine verkleinerte Kopie des Gesamtmusters.
Fraktale haben nicht-ganzzahlige Dimensionen — zwischen Linie und Fläche.
↓ Details anzeigen
Die Koch-Kurve hat die fraktale Dimension log(4)/log(3) ≈ 1,26 — mehr als eine Linie (D=1), aber weniger als eine Fläche (D=2). Die Dimension beschreibt, wie die „Detailmenge" beim Verkleinern des Maßstabs wächst. Benoît Mandelbrot prägte 1975 den Begriff „Fraktal" und zeigte, dass solche Strukturen in der Natur überall vorkommen: Küstenlinien, Blutgefäße, Blumenkohlröschen.
Statt Koordinaten: „Gehe vorwärts, drehe links" — wie eine Schildkröte.
↓ Details anzeigen
Viele Fraktale lassen sich elegant mit der Turtle-Metapher beschreiben: Ein Zeichenstift hat eine Position und Richtung. Befehle: forward(len) zeichnet eine Linie, rotate(angle) dreht die Richtung. Am Canvas implementiert man das mit Trigonometrie: endX = x + len × cos(angle), endY = y + len × sin(angle). Das ist äquivalent zu translate + rotate auf dem Canvas-Kontext.
Modul 02
Verändere die Parameter und beobachte, wie sich die rekursive Struktur verändert. Jeder Slider-Wert erzeugt einen neuen rekursiven Aufrufbaum.
Modul 03
Bringe die Schritte des Fraktalbaum-Algorithmus in die richtige Reihenfolge.
Modul 04
7 Fragen zu rekursiver Grafik und Fraktalen.
Nachschlagewerk
Reflexion
„Fraktale Geometrie beschreibt natürliche Formen (Bäume, Küstenlinien, Lungen) besser als euklidische Geometrie. Warum wurde die fraktale Geometrie trotzdem erst in den 1970ern populär — und welche Rolle spielte der Computer dabei? Diskutiert, ob algorithmische Kunst ‚echte' Kreativität sein kann."