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 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.
Einfache Kommandos
Die Schildkröte besitzt keinen Speicher und führt Kommandos sofort aus.
F(x)
– Bewegung nach vorn um die Länge x und dabei zeichnenf(x)
– Bewegung nach vorn um die Länge x, ohne zu zeichnen+(a)
– Drehung nach links, gegen den Uhrzeigersinn, um den Winkel a-(a)
– Drehung nach rechts, im Uhrzeigersinn, um den Winkel a
Erweiterte Kommandos
Es wird ein Stack zum Speichern des jeweiligen aktuellen Zustands eingeführt. Ein Zustand besteht aus der aktuellen Position und Richtung der Schildkröte.
Hierzu gibt es die Zeichen [ und ] mit folgender Bedeutung:
[
– Lege den aktuellen Zustand auf dem Stack ab]
– Entferne den obersten auf dem Stack befindlichen Zustand und mache ihn zum aktuellen Zustand
Innerhalb eines Klammerpaars kann also eine Teilfigur, z. B. ein im Leeren endender Zweig, gezeichnet werden.
Siehe auch
Weblinks
- Java-Bibliothek APLU von Aegidius Plüss mit Kursen (an der Pädagogischen Hochschule Bern)
- Turtlegrafik für Smartphones und Tablets, Pädagogische Hochschule Bern
- Turtle-Komponente für Delphi
- Turtle-basierte Entwicklungsumgebung "Frosch für Kinder"
- Eine Turtle-Grafik Sprache und Muster-Galerie
- mjoy, ein Interpreter in Delphi zum maschinellen Zeichnen (Subset von Joy)