Navigation: Befehlsübersicht > Zeichne >

Turtle-Grafik

Diese Seite drucken
Vorherige Seite Nächste Seite
Zurück zur Kapitelübersicht

Mit dem Zeichne-Befehl ist es möglich, eine Kette von Anweisungen zu definieren, über die der Zeichenstift gesteuert wird. Durch Drehungs- und Positionsvorgaben können damit sehr vielseitige Muster gezeichnet werden. Eine einzige Anweisung zaubert etwa ein Vieleck, eine Skala, eine geometrische Figur, einen Pfeil u.v.m. auf den Bildschirm bzw. Drucker!

 

Der Begriff "Turtle-Grafik" (Turtle = Schildkröte) stammt aus der Programmiersprache LOGO und war ursprünglich als pädagogische Einführung in das computerunterstützte Zeichnen gedacht. Diese Technik wurde auch für das Ansteuern von Stiftplottern verwendet. Da hiermit komplexe Muster mit sehr geringem Aufwand erstellbar sind, wurde dies auch in angepasster Form in click.EXE eingeführt.

 

Die Anweisungen sind normalerweise relativ zur aktuellen Position und Richtung. Die Startrichtung ist 0°, also aufwärts. Der aktuelle Winkel kann im Platzhalter [cX.TurtleWinkel] abgefragt werden.

Aufeinander folgende Anweisungen machen da weiter, wo die letzte Anweisung geendet hat, es sei denn, es wird mit dem Zeichne-Befehl eine neue Startposition in X/Y definiert.

 

Folgende Anweisungen können als Liste hintereinander gegeben werden, üblicherweise jeweils durch ein Semikolon getrennt:

 

Zeichnen

n = Linie der Länge n Millimeter in der aktuellen Richtung zeichnen (optional bei Angabe von "nPixel" Länge in Pixel)

Tx = Ausgeben des Textes x unter der aktuellen Position (siehe auch [cX.TurtleIndex] oder [cX.TurtleWinkel])

Bx = einfaches Bild x an aktueller Position zeichnen
 (Hinweis: In der Bildquelle können hier keine Parameter mit ; angegeben werden, wenn dieses als Listentrenner verwendet wird)

Kx = Kreis um die aktuelle Position mit optionalem Radius x (Standard=1mm) zeichnen

 

Drehen

n° = neue Richtung in Grad

Ln = links n° (ohne n: 90°)

Rn = rechts n° (ohne n: 90°),  Z = zurück (180°)

Z = Winkel umdrehen (+180°)

Zx = Winkel umdrehen und Linie x mm zurückzeichnen

 

Position

Xn = zur gegebenen X-Position zeichnen (n mit +/- relativ)

X+n = zur aktuellen X-Position plus n Millimeter nach rechts zeichnen

X-n = zur aktuellen X-Position minus n Millimeter nach links zeichnen

Yn = analog dazu mit Y-Position

 

P+ = aktuelle Position auf Stapel sichern (Push)

P- = Position wiederherstellen (Pop)

Pn = Position n vom Stapel wiederherstellen (Peek); führt zu Fehler, wenn Stapelposition nicht vorhanden!

 

Zeichenstil und -farbe

Fx = Farbe x ab hier (ohne x: Hintergrundfarbe)

Dx = Liniendicke x

Sx = Linienstil x (0=Linie, 1=Striche, 2=Punkte, 3=Strichpunkt, 4=Strichpunkt-Punkt, 5=unsichtbar)

 

Pfade

A1 = Pfad ab hier bis Kommando A abschließen (zurück zum Anfang des Pfades zeichnen)

A2 = wie A1, jedoch wird der geschlossene Pfad mit der aktuellen Farbe gefüllt

 

Schleifen

(n;...;) = Anweisungen in Klammern n mal wiederholen; der Schleifenzähler ist in [cX.TurtleIndex] enthalten (für Textausgabe)

 

Hinweis: Schleifen, Positionssicherung oder Pfade können nur innerhalb eines einzelnen Zeichne-Befehls verwendet werden.

 

 

Beispiele:

Dieses Skript demonstriert die möglichen Anweisungen und erzeugt die folgende Ausgabe:

 

*** Test der Turtlegrafik 

Anzeige-Fenster 'Turtle-Test', Höhe=150

 

*** Turtlepfad-Anweisungen bei "Linie": 

Zeichne Turtlegrafik, Text '20;90°;10;R45;20;L;20;R45;10;R;20;B%Icon%', X=10, Y=30

Zeichne Turtlegrafik, Text 'F ;X+10; F12;D2;Z;20;R;10;R45;20;L;20;R45;10;R;20'

 

*** Pfeile zeichnen: gefüllt oder ungefüllt 

Zeichne Turtlegrafik, Text '90°;40; A2; L160;10;L110;7;A', X=10, Y=40

Zeichne Turtlegrafik, Text '120°;40; A1; L160;10;L110;7;A', X=10, Y=40

Zeichne Turtlegrafik, Text '150°;S2; 40;L160;10;L110;7;L110;10', X=10, Y=40

 

*** Position merken und wiederverwenden + Endpunkte 

Zeichne Turtlegrafik, Text 'P+;90°; 20;K; P1; 180°; 20;K; P1; 135°;10;K', X=10, Y=80

 

*** einfaches Vieleck durch Wiederholungsanweisung 

Setze in [Anz]: '8' 

Zeichne Turtlegrafik, Text '([Anz];T[cX.TurtleWinkel]°;10;R360/[Anz];)', X=30, Y=100

 

*** andere Beispiele für Wiederholfunktion 

 

*** Figur 

Zeichne Linie, X=80, Y=60

Zeichne Turtlegrafik, Text '(30;30;R151;)'

 

*** Skala 

Zeichne Turtlegrafik, Text '(9;0°;10;T[cX.TurtleIndex];X+3;Y110;)', X=50, Y=110

*** Sterne 

Zeichne Turtlegrafik, Text '(10;R20;10;Z10;)', X=95, Y=115

Zeichne Turtlegrafik, Text 'P+;(18;10;P1;R20;)', X=115, Y=115

 

Warte Endlos (Warten auf zu behandelnde Ereignisse)

 

cX4Web:

**cx5AR-LC AAAAAAABAD NVttu2kAQf a_UfxhZSkU VpdiAU5KFS KQJahQqoYB CLsqDYw-ww qzpsi6Er-o H9Kn9sc7aB mIqQeOEphK yZ4b1zNkzl 91Ky5V8pI7 evgGofAp9F Uo88rCSn8v xH8Fw6AhvH GlLHZJ3-2G EVUMrKJQBb ZyqqtHGsQI PJbRDqXzsS afLBwbk1_p o9YNJhwsvm CzcRF_vaW8 GfEbe65PRs k0DvnDBh3y Gx8G0amjdm ab09ZFOhyP 1sGnR6pYiL KOu4-3VxAT 5OBQ9FHCPH N59DQPFGgQ JY_Fwk-8T6 ehNRnJ5HqF gsgPz53dmm eyiZDNSG_q hZW3S8vHOm RuIHQOawZg rHogr4sNcq tdVo2gaSWg KXg-EWkLJJ xieDq0O7Gq XQEDdKrCTA ruJgK1B-jw MWfLT7CL3E WbI3b5AcQg 97P764fsKA l2IOluxnik 3UWJKRECtw KBh7Zt6ow2 LHh9ZbV06S ttIh1VYwLH -Bzi2htMiZ koaRQpN9Ho M4uUxZaqWJ DwMUQ6ojUN aP-FIlfIN5 QSFR7ZdOBX eKBQDhZlqp rkb9zNQa5w zaFKqrPKqo WjHHX--jqH yKzCEXHQdt 49juOToozs AL5RuHzoRS _3Ap44aO_N JuHG2o7p0J HfufeJyLlW NmpgZtFAoC hwxl4Hm3C1 5uWPtW_fqQ zyk6RAZoH- XjNLivpmPl 7xPcVxMc2y Zr0Ay2VEiH BOJI80y0Ii SS4q7uvgI3 jbOszrvhfI phJdS7JXT7 O1vY67kiia j34VlW5S7f 56c1sDxnWw lecCSg_xRV Z5Rrqd3dI4 W2bUeiulqt Feq0Xomoat 7UShFtjGW0 01UiGb6zR- wD-wV2PYW6 oAGac4qawA 0MjWUNAYd9 EVB_FWxdBy -8SqRcrSIr W_SlXxy9_4 NZvVFuoQLA AA==*

 

 


cX-Webseite: http://www.clickexe.net