. . . .

Informatik


Rekursionen


In einer „Modellierungswoche” mit Lehrern, Schülern und Mitarbeitern der Gerhard-Mercator Universität Duisburg entstand ein Programm zur rekursiven Erstellung von komplexen Strukturen aus einfachen Anfangszuständen.
Das Programm liest eine einfache Vorschrift ein, z. B. F+F--F+F, identifiziert das „F” als Schritt vorwärts, das „+” als Drehung um einen bestimmten Winkel entgegen dem Uhrzeigersinn und das „-” als entsprechende Drehung in entgegengesetzter Richtung.
Rekursiv wird dann jedes „F” wieder durch die gesamte Struktur ersetzt (wobei unter Umständen die Schrittlänge entsprechend verkürzt wird, hier auf ein Drittel).
Wieder wird jedes Teilstück (F) durch die gesamte Folge mit verkürzter Seitenlänge ersetzt und man erhält:
Dann muß nur noch geklärt werden, womit begonnen werden soll (im einfachsten Fall einfach ein „Schritt”, d.h. ein „F”, wie bei unserem Beispiel oben) und wie oft die Rekursion ausgeführt werden soll. Dann kann das Bild erstellt werden.
Je nach Vorschrift entsteht dann die bekannte „Schneeflockenkurve” oder auch interessante Figuren, die ohne Schwierigkeiten als Bäume erkannt werden können.

Das umgekehrte Problem, zu einer vorhandenen Grafik die zugrunde liegende „einfache” Vorschrift zu finden, ist in Zeiten des Internet noch interessanter. Man stelle sich vor, einen Grafik-Bildschirm von 480 x 640 Pixeln in 16 Farben entsprechend einer Datenmenge von etwa 150 KByte in etwa 20 Byte verschlüsseln zu können! Das wäre eine Reduktionsrate, von der bisher existierende Packprogramme nur träumen können.
Erste Versionen existieren schon. Die Algorithmen hierzu sind verständicherweise hoch geheim. Laden Sie sich hier zur Erzeugung der Bäume ein Demo-Programm (ZIP-File, 20 KB) auf ihren Rechner. Benötigt wird dazu nur noch ein zu Ihrer Grafikkarte passender BGI-Treiber (mit den FONT-Dateien), der zum Turbo-Pascal Umfang gehört.

Der Quell-code ist auch gerne erhältlich. Schreiben Sie bitte dazu eine email!


Version: Donnerstag, 11. Juli 1996