- Turtlegraphics
-
Mit Turtle-Grafik, auch Igelgrafik, wird eine Bildbeschreibungssprache bezeichnet, bei der man sich vorstellt, dass ein stifttragender Roboter (die Schildkröte, engl. „turtle“) sich auf der Zeichenebene bewegt und mit einfachen Kommandos, wie Stift heben, senken, vorwärts laufen und drehen, gesteuert werden kann. Diese Idee wurde mehrfach realisiert, zum Beispiel als Steuersprache für Stiftplotter (HPGL), als Teil der Programmiersprache für Heimcomputer (Basic, Pascal auf Amiga, Atari) und als Grundidee der pädagogischen Programmiersprache LOGO.
Im schulischen Bereich werden Turtle-Grafik ähnliche Grafiksysteme weiterhin gerne eingesetzt, weil so einerseits ein motivierender, spielerischer Einstieg gefördert und die geometrische Vorstellung besser geschult wird als bei einem Zugang über absolute Koordinaten. Gegenüber der klassischen Turtle-Grafik von LOGO sind diese Systeme teils erheblich erweitert worden, so dass sich teilweise echte GUI-Anwendungen (auf schulischem Niveau) damit erstellen lassen. Dies gilt etwa für die Python-Module xturtle und frog.
Im professionellen Bereich wurde der Turtle-Ansatz zugunsten koordinatenbasierter Grafikbeschreibung wieder fallengelassen und wird heute im wesentlichen nur noch zur Darstellung von Fraktalen mittels Lindenmayer-Systemen verwendet.
Einfacher Formalismus
Die Schildkröte besitzt keinen Speicher und führt Kommandos sofort aus.
- F(x) - Bewegung nach vorn um Länge x und Zeichnung
- f(x) - Bewegung nach vorn um Länge x ohne Zeichnung
- +(a) - Drehung nach links, gegen Uhrzeigersinn, um Winkel a
- -(a) - Drehung nach rechts, mit Uhrzeigersinn, um Winkel a
Erweiterter Formalismus
Es wird ein LIFO-Stack für Koordinatensysteme eingeführt. Jede Koordinatentransformation besteht aus einer Drehung, die durch einen Winkel parametrisiert werden kann, und einer Verschiebung. Dazu gibt es die Symbole [ und ], welche folgende Bedeutung haben:
- [ Lege das aktuelle Koordinatensystem auf dem Stack ab
- ] Wiederherstellung des obersten Koordinatensystems des Stacks
Innerhalb eines Klammerpaars kann also ein im Leeren endender Zweig gezeichnet werden.
Weiterhin ist es möglich, das Symbol F zu verdoppeln, um verschiedene Ersetzungsregeln zu realisieren, oder weitere reine Bewegungssymbole analog zu + und - zu definieren.
- f wie F, nur dass nicht gezeichnet wird
- | Drehung um 180 Grad
Weblinks
Wikimedia Foundation.