StartseiteArtikelBrokkoli selber machen – im Kopf

Ich habe einen Traum: Dass man aus einem einfachen Prinzip eine ganze Welt erschaffen kann. Vielleicht ist ja unsere Welt aus einem einfachen Prinzip entstanden. Dann kann es also sein, dass man sehr lange warten muss, bis aus der stetigen Anwendung des Prinzips sich etwas erkennbar Brauchbares entwickeln wird. Das geht sicher schneller, wenn man nur Brokkoli machen will. Lassen wir also die Welt beiseite und schauen uns einen Brokkoli an. Da hat man in der Mitte einen Strunk, der sich dann verzweigt. Da mache ich üblicher Weise die ersten Cuts. Dann halte ich einen Teil des Brokkolis in der Hand – sagen wir „Brokkoliröschen“ – welches verblüffend ähnlich zum ganzen Brokkoli aussieht. Nur etwas kleiner. Also auch erstmal ein Strunk und dann eine Verweigung. Dieses Prinzip setzt sich fort. Wir zoomen immer näher heran, aber die Struktur bleibt immer die Gleiche.

Aristid Lindenmayer erfand einen Formalismus um einen solchen Sachverhalt mathematisch zu beschreiben. Man spricht von „L-Systemen“. Verbunden mit den Möglichkeiten der Computergrafik hat man damit heute die Möglichkeit komplexe biologische Objekte verblüffend naturgetreu durch bloßes „Rechnen“ bildlich entstehen zu lassen. Die Theorie der Lindenmayer-Systeme hat sehr viel mit „Sprache“ und „Worten“ zu tun. Wie heißt es noch in der Schöpfungsgeschichte: „Am Anfang war das Wort …“ und „Gott sprach …“ . Wir wollen also Brokkoli aus Worte erschaffen.

Beginnen wir mit einem ersten Beispiel (noch kein Brokkoli) und starten mit dem Schöpfungs-Wort ABBABBA und postulieren als Schöpfungs-Prinzip, dass der Buchstabe A durch das Wort ACABBACA ersetzt werden soll. Führen wir im Start-Wort diese Ersetzung einmal für jedes Vorkommen von A durch, so erhalten wir den Text ACABBACABBACABBACABBACABBACA. Das „Spiel“ besteht jetzt darin, diese Ersetzung immer weiter zu treiben. Im zweiten Schritt erhalten wir dann

ACABBACACACABBACABBACABBACACACABBACABBACABBACACACABBACABBACABBACACACABBACABBACABBACACACABBACABBACABBACACACABBACA

Auf den ersten Blick scheint das sinnloses Gestammel zu werden. Wir brauchen einfach jemanden, der dieses Geblubber verstehen kann. Das könnte z.B. eine Schildkröte sein. Eingeweihte wissen, dass in der Computergraphik „Schildkröte“ ein Synonym für einen Zeichenstift ist, der auf einfache Befehle reagiert. Wir definieren drei Befehle A, B und C an eine Schildkröte, die für uns über ein Blatt Papier oder über den Computerbildschirm läuft und Ihre Spur hinterlässt und dadurch ein Bild malt. Dazu legt man eine feste Distanz fest, die gewissermaßen eine Schrittweite definiert. Der Zeichenstift (die Schildköte) hat immer eine Position und eine Richtung auf dem Zeichenblatt. A bedeutet „bewege dich einen Schritt vorwärts und zeichne dabei einen Strich. B bedeuet „drehe dich um 60 Grad nach links“ und C ist der Befehl „drehe dich um 60 Grad nach rechts“. So erhalten wir eine Visualisierung der vorher unverständlichen Buchstabenketten. In diesem Fall entsteht die sogenannte kochsche Schneeflocke .

kochsche Kurve

Eine sehr schöne Einführung in das Thema findet man unter: www.matheprisma.de/Module/Lmayer/index.htm . Hier kann man auch online mit den Beispielen herumspielen und sie variieren. Die von mir gezeigten Zeichnungen habe ich dort erzeugt und aus Screenshots herausgeschnitten. Dort und in anderen Texten verwendet man ein Alphabeth, das aus den Zeichen F, +, , [ und ] besteht. F steht für „forward“, also „vorwärts“ und + und sind die beiden Drehungen nach links und rechts. Der Winkel ist „verhandelbar“, muss aber vor dem Zeichnen festgesetzt werden. Wir hatten im Beispiel 60 Grad gewählt, damit das Startwort F++F++F ein geschlossenes Dreieck darstellt. Die Ersetzungsregel würde bei dem neuen Alphabet F=F-F++F-F lauten. Jetzt haben wir aber noch zwei weitere Zeichen. Die Klammer [ wird als der Befehl „merke Dir die aktuelle Position“ verstanden und die Klammer ] als „kehre zur zuletzt gemerkten Position zurück, ohne zu zeichnen“. Das Merken muss man sich so vorstellen, dass man Position und Richtung auf einen Zettel schreibt und diesen auf einen Stapel ablegt. Beim Zeichen ] nehme man immer den zuletzt aufgelegten Zettel vom Stapel und nehme wieder die dort dokumentierte Position inklusive Richtung ein. Der Zettel wird danach vernichtet. Natürlich macht das alles der Computer für uns.

Mit diesem Konzept des Merkens finden wir den Einstieg in die pflanzliche Welt. Jetzt können wir nämlich Verzweigungen machen. Siehe dieses Beispiel.

Baum
(Start: F, Regel: F = F[+F][-F]F, Winkel: 30 Grad)

Beim nächsten Beispiel wird noch ein Buchstabe X als „stummes Symbol“ verwendet, für das es eine Ersetzungsregel gibt, das aber keine Wirkung auf den Zeichenstift hat.

Brokkoli

(Start: X, Regel: X = F[++FX][+FX][-FX][–FX]FX, F = FFFF, Winkel 30 Grad)

Das sieht doch schon fast wie Brokkoli aus. Nur noch ein bisschen flach. Um fotorealistische Bilder von virtuellen 3D-Objekten erzeugen zu können, bietet sich das Programm Povray an. Das kann man sich frei herunterladen und ist sehr ausgereift. Es ist aber kein CAD- oder Malprogramm. Eine Szene muss in einer Textdatei mit einer Art Programmiersprache beschrieben werden. Darin müssen auch Lichtquellen und eine Kamera definiert sein. Das Programm berechnet dann ein Bild, wobei alle Schatten und Lichtreflexionen berücksichtigt werden. Allerdings passt das Zeichenstift-Konzept nicht so ganz in die 3D-Welt. In Povray lässt sich aber durch rekursive Programmierung der Wortersetzungsprozess der L-Systeme leicht nachbilden. Ehrlich gesagt war das der einfache Teil. Ich hatte dann noch einige Fummelei um mein selbstgezogenes Gemüse ansprechend in Szene zu setzen. Licht? Hintergrund? Untergrund? Blickrichtung? Ich habe eine Mamorplatte daruntergelegt. Man wundert sich wie weich das Ding ist. Wenn der Brokkoli nicht richtig platziert ist, taucht er einfach in den Stein hinein. (Wie einst Heinz Rühmann im Film „Ein Mann geht durch die Wand“)

Szene

Wer das Thema noch vertiefen möchte, sollte diesen Artikel von Dominic Clegg lesen. Darin wird ein „Romanesco Brokkoli“ simuliert.


Kommentare

Brokkoli selber machen – im Kopf — Keine Kommentare

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>