Algorithmische
Fraktale

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

Von Rekursion zu Grafik

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.

Rekursion — Kurzwiederholung

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.

Selbstähnlichkeit

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 Dimension

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.

Turtle-Grafik-Prinzip

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.

Rekursives Zeichnen — Prinzip

Zeichne Stamm
Verzweige L+R
Kürze Länge
Tiefe < max?
Rekursion ↻

Modul 02

Fraktale live erleben

Verändere die Parameter und beobachte, wie sich die rekursive Struktur verändert. Jeder Slider-Wert erzeugt einen neuen rekursiven Aufrufbaum.

Interaktiv — Fraktalbaum
Tiefe: 9
Winkel: 25°
Faktor: 0.67

Fraktalbaum — Algorithmus

function drawBranch(x, y, len, angle, depth) {
  if (depth === 0 || len < 2) return; // Basisfall

  const endX = x + len * Math.cos(angle);
  const endY = y + len * Math.sin(angle);

  ctx.beginPath();
  ctx.moveTo(x, y);
  ctx.lineTo(endX, endY);
  ctx.stroke();

  // Rekursion: zwei Äste
  drawBranch(endX, endY, len * 0.67, angle - 0.44, depth - 1);
  drawBranch(endX, endY, len * 0.67, angle + 0.44, depth - 1);
}
Interaktiv — Koch-Schneeflocke
Iterationen: 3
Interaktiv — Sierpinski-Dreieck
Tiefe: 5

Rekursionstiefe ↑

  • Mehr Details und Verästelungen
  • Exponentiell mehr Funktionsaufrufe (2ⁿ beim Baum)
  • Höherer Speicher- und Rechenaufwand
  • Ab ~15 Ebenen kaum sichtbarer Unterschied

Rekursionstiefe ↓

  • Grobe, abstrakte Struktur
  • Wenige Aufrufe, schnelles Rendering
  • Selbstähnlichkeit noch nicht erkennbar
  • Erst ab ~3–4 Ebenen wirkt das Fraktal „echt"

Modul 03

Interaktive Aufgaben

Aufgabe 1: Fraktalbaum — Schritte sortieren

Bringe die Schritte des Fraktalbaum-Algorithmus in die richtige Reihenfolge.

Rekursiv: linken Ast zeichnen (angle − Δ, depth − 1)
Prüfe Basisfall: depth === 0 oder len < minimum → return
Rekursiv: rechten Ast zeichnen (angle + Δ, depth − 1)
Linie von (x, y) nach (endX, endY) zeichnen
Endpunkt berechnen: endX = x + len·cos(angle)

Aufgabe 2: Mythos oder Fakt?

Modul 04

Wissens-Quiz

7 Fragen zu rekursiver Grafik und Fraktalen.

0/7
Fragen richtig beantwortet

Nachschlagewerk

Glossar — Schlüsselbegriffe

Fraktal
Klicken zum Aufdecken
Geometrisches Objekt mit Selbstähnlichkeit — Teile des Objekts ähneln dem Ganzen. Häufig nicht-ganzzahlige Dimension. Begriff geprägt von Benoît Mandelbrot (1975).
Basisfall
Klicken zum Aufdecken
Abbruchbedingung einer rekursiven Funktion, die verhindert, dass die Rekursion endlos weiterläuft. Bei Fraktalen: minimale Länge oder maximale Tiefe erreicht.
Rekursionstiefe
Klicken zum Aufdecken
Anzahl der verschachtelten Funktionsaufrufe. Bestimmt den Detailgrad des Fraktals. Jede Ebene multipliziert die Anzahl der Elemente (beim binären Baum: 2ⁿ).
Selbstähnlichkeit
Klicken zum Aufdecken
Eigenschaft, bei der ein Ausschnitt des Objekts strukturell dem Gesamtobjekt gleicht. Exakt (mathematisch) oder statistisch (natürliche Fraktale wie Bäume, Wolken).
Koch-Kurve
Klicken zum Aufdecken
Fraktal von Helge von Koch (1904). Jede Strecke wird in drei Teile geteilt, das mittlere Drittel durch ein gleichseitiges Dreieck ersetzt. Unendliche Länge bei endlicher Fläche.
L-System
Klicken zum Aufdecken
Lindenmayer-System: formale Grammatik mit Ersetzungsregeln, die Zeichenketten erzeugt. Interpretiert als Turtle-Befehle (F = vorwärts, + = links, − = rechts) entstehen Fraktale und Pflanzenmodelle.

Reflexion

Diskussions­frage

„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."