Schildkröten-Grafik - Turtle graphics
In der Computergrafik , Schildkröte Grafiken sind Vektorgrafiken eine relative Verwendung von Cursor (der „ Schildkröte “) , auf einer kartesischen Ebene (x und y - Achse) . Turtle-Grafik ist ein Schlüsselmerkmal der Logo-Programmiersprache .
Überblick
Die Schildkröte hat drei Attribute: einen Ort, eine Orientierung (oder Richtung) und einen Stift. Auch der Stift hat Attribute: Farbe, Breite und Ein/Aus-Zustand (auch Down und Up genannt ).
Die Schildkröte bewegt sich mit Befehlen, die sich auf ihre eigene Position beziehen, wie zum Beispiel "10 Felder vorwärts bewegen" und "90 Grad nach links drehen". Der von der Schildkröte getragene Stift kann auch gesteuert werden, indem Sie ihn aktivieren, seine Farbe oder seine Breite einstellen. Ein Schüler konnte die Bewegung der Schildkröte verstehen (und vorhersagen und argumentieren), indem er sich vorstellte, was er tun würde, wenn er die Schildkröte wäre. Seymour Papert nannte diese Argumentation "körpersyntonisch".
Ein vollständiges Turtle-Grafiksystem erfordert Kontrollfluss, Prozeduren und Rekursion: Viele Turtle-Zeichnungsprogramme versagen. Aus diesen Bausteinen kann man komplexere Formen wie Quadrate, Dreiecke, Kreise und andere zusammengesetzte Figuren bauen. Die Idee der Schildkrötengrafik ist beispielsweise in einem Lindenmayer-System zur Generierung von Fraktalen nützlich .
In Grafikumgebungen wird manchmal auch Turtle-Geometrie als Alternative zu einem streng koordinatenadressierten Grafiksystem verwendet.
Geschichte
Turtle-Grafiken werden oft mit der Programmiersprache Logo in Verbindung gebracht . Seymour Papert fügte Logo Ende der 1960er Jahre Unterstützung für Turtle-Grafiken hinzu, um seine Version des Turtle-Roboters zu unterstützen , einen einfachen Roboter, der von der Workstation des Benutzers aus gesteuert wird und die ihm zugewiesenen Zeichenfunktionen mit einem kleinen einziehbaren Stift in or . ausführt am Körper des Roboters befestigt. Die Schildkrötengeometrie funktioniert etwas anders als die ( x , y ) adressierte kartesische Geometrie , da sie hauptsächlich vektorbasiert ist (dh relative Richtung und Entfernung von einem Startpunkt) im Vergleich zu koordinatenadressierten Systemen wie Bitmaps oder Rastergrafiken. In der Praxis ahmt die Verwendung der Turtle-Geometrie anstelle eines traditionelleren Modells die tatsächliche Bewegungslogik des Turtle-Roboters nach. Die Schildkröte wird traditionell und am häufigsten bildlich entweder als Dreieck oder als Schildkrötensymbol dargestellt (obwohl sie durch jedes beliebige Symbol dargestellt werden kann).
Heute enthält die Standardbibliothek der Programmiersprache Python ein Turtle-Grafikmodul. Wie sein Logo-Vorgänger ermöglicht die Python-Implementierung von Turtle Programmierern, eine oder mehrere Turtles in einem zweidimensionalen Raum zu steuern. Da neben dem Turtle-Modul auch die Standard-Python-Syntax, der Kontrollfluss und die Datenstrukturen verwendet werden können, ist Turtle zu einem beliebten Weg für Programmierer geworden, die Python lernen, um sich mit den Grundlagen der Sprache vertraut zu machen.
Erweiterung auf drei Dimensionen
Die Ideen hinter Schildkrötengrafiken können auf den dreidimensionalen Raum erweitert werden. Dies wird durch die Verwendung eines von mehreren verschiedenen Koordinatenmodellen erreicht. Wenn die Turtle in Zylinderkoordinaten arbeitet, hat sie eine Position und einen Kurs innerhalb ihrer Ebene, und ihre Ebene kann um die vertikale Achse gedreht werden. Dies manifestiert sich oft darin, dass die Schildkröte zwei verschiedene Kurswinkel hat, einer innerhalb des Flugzeugs und der andere, der den Winkel des Flugzeugs bestimmt. Normalerweise wird die Schildkröte nicht bewegt, wenn der Winkel der Ebene geändert wird.
Darin wird der Turtle ein zusätzlicher Roll- Befehl gegeben, der den Normalenvektor der Turtle um ihren Kursvektor dreht, und der Artikel entwickelt eine algebraische Theorie, um geometrische Eigenschaften aus syntaktischen Eigenschaften der zugrunde liegenden Turtle-Programme zu beweisen.
Andere Koordinatenmodelle können ebenfalls verwendet werden. Cheloniidae Turtle Graphics ist eine 3D-Schildkrötenbibliothek für Java .
Siehe auch
Verweise
Weiterlesen
- Papert, Seymour (1993). Mindstorms: Kinder, Computer und leistungsstarke Ideen (2. Aufl.). New York: Grundbücher . ISBN 0-465-04674-6. OCLC 794964988 .
- Papert, Seymour (1993). Die Kindermaschine: Schule im Zeitalter des Computers neu denken . New York: Grundbücher. ISBN 0-465-01830-0. OCLC 248428992 .