Skip to main content


Zutaten: Zucker, Kakaomasse (50%), Milchzucker, Weizenmehl, Vollmilchpulver, Magermilchpulver, Butterreinfett, Sahnepulver, Butter (1,4%)
Kann Spuren von Analysis und Geometrie enthalten.

IV_15_turtle_titel

Wie unterrichtet man TigerJython?

Max und Charly machen Osterferien. Max sucht immer noch einen Job, Charly hat eine Stelle an einer Schule als Lehrer für Mathe und Sport gefunden. Er ist Quereinsteiger. Sie sind zum Hohen Stein ins Sauerland gefahren. Eigentlich sind sie eher die Läufer und Ballspieler, aber heute wollen sie mal einen Felsen erklimmen.

Charly erzählt von seiner ersten Zeit als Lehrer. So soll er in der Sekundarstufe 1 auch Informatik unterrichten. Da gibt es eine Programmentwicklungsumgebung für Kinder: TigerJython, das soll er nehmen. Es ist eine “Kinderversion” von Python. Als didaktisches Konzept wird die Schildkröte Turtle eingeführt, die wie ein Stift funktioniert. Man lässt sie durch die Befehle FORWARD(), LEFT() und RIGHT() "zeichnen". Mit diesen Befehlen geht die Schildkröte eine bestimmte Länge vorwärts und mit den anderen Befehlen dreht sich die Schildkröte um einen bestimmtem Winkel nach links bzw. rechts. Diese Grafik-Tools dienen wegen der besonderen Anschaulichkeit als Einstieg ins Programmieren.

Charlys Problem

Nachdem Charly mit Turtle genug forward, left und right gegangen war, versuchte er nun, damit mathematische Funktionen wie

y\;=\;x^2

zu zeichnen und – verzweifelte. Nun fragt er Max.

Max Wie startet denn die Schildkröte?

IV_15_python_turtle_start_02

Charly Sie steht in Bildmitte und blickt nach oben, nach Norden. Achsen mit Bezeichnung und Skalierung gibt es nicht. Die denken wir uns! Wenn ich

y\;=\;x^2

mit Start im Nullpunkt zeichnen will, muss ich sie erst einmal um 90° nach rechts drehen. Das ist klar.

iV_15_parabel_A_03-04
Der braune Pfeil zeigt die aktuelle Ausrichtung der Turtle, hier der (Standard-)Zustand am Anfang.

Der erste Schritt der Turtle für die Kurve y = x²

Max Ja gut.

Charly Dann habe ich weiterüberlegt, in welche Richtung sie nach einem kleinen Schritt geht. Sie schaut also nach rechts, aber die Parabel steigt an.

iV_15_parabel_B_03-05
Der braune Pfeil zeigt wieder die letzte Ausrichtung der Turtle. Sie soll zum Punkt Q gehen, \alpha_1 ist der Anstiegswinkel der Strecke PQ, h soll die Schrittweite in x-Richtung sein.

Ich würde zum Punkt Q gehen, nicht geradeaus. Das ist doch eine gute Näherung. Am Felsen klettern wir doch auch schräg nach oben!

Max Gut, eine Treppennäherung wäre wirklich die allerletzte Idee.

Charly Dann muss sich die Turtle um \alpha_1 drehen; und ich muss den Winkel \alpha_1 berechnen. Das geht so:

\tan \; \alpha_1\;=\;\frac{y_1\;-\;y_0}{h}

Aber weißt Du, das erinnert mich an die 1. Ableitung. Der Tangens von \alpha_1 ist ein Differenzenquotient und  n ä h e r t  die 1. Ableitung einer Funktion an. Ich fand das zu krass!

Max Hmm, echt krass! Aber lass uns einfach geometrisch weitermachen, so einen Anstieg können wir uns doch ganz gut vorstellen, oder? Nach dem Winkel \alpha_1 umgestellt ergibt das:

 \alpha_1\;=\;\arctan \; \frac{y_1\;-\;y_0}{h}

Die Turtle geht um \alpha_1 nach links.

Charly Den Winkel muss man noch ins Gradmaß für die Turtle-Grafik umrechnen. Na gut, und die Schrittlänge ist l, nehmen wir den guten alten Pythagoras:

l^2\;=\;h^2\;+\;(y_1\;-\;y_0)^2

Mensch, Max, ist gar nicht schwer,

l\;=\;\sqrt{ h^2\;+\;(y_1\;-\;y_0)^2}.

Aber dann stehen wir in Q, schauen in die Richtung von eben und müssen ein neues Koordinatensystem einführen. Das fand ich auch etwas zu heftig. Was meinst Du?

Die nächsten Turtle-Schritte

Max Lass uns das zeichnen:

iV_15_parabel_C_03-07
Der braune Pfeil ist erneut der Vektor der letzten Ausrichtung von Turtle. Mit \alpha_0 wird nun der letzte Anstiegswinkel bezeichnet, mit \alpha_1 der für den nächsten Schritt.

Du nimmst ein neues Koordinatensystem. Es wandert mit der Schildkröte mit, das ist fast wie mit der Relativitätstheorie, haha! Du nimmst jetzt Deinen „alten“ Punkt Q für den neuen Startpunkt P, den alten Winkel \alpha_1 musst Du Dir merken, den bezeichnest Du jetzt mal mit \alpha_0. Und nun versuchst Du wieder, ein Stück weiterzugehen. Du rechnest wieder die Neigung Deines Schrittes zu Q aus, das ist \alpha_1 nach der Formel wie oben, Du rechnest die Länge l Deines Forward-Schrittes aus, und drehst Dich um die Differenz

\alpha_1\;-\;\alpha_0

nach links!

TigerJython-Code

Charly Okay, verstehe. Das kann ich dann gut wiederholen und in eine Schleife packen! Wir versuchen‘s! Ich muss es eben programmieren:

IV_15_python_code_01

Max Hey! Lass mal laufen!

Ausführung in der TigerJython-Umgebung

Charly Hier:

IV_15_python_turtle_b_02
Turtle nach 13 Schritten
IV_15_python_turtle_b_03
Turtle nach 34 Schritten
IV_15_python_turtle_b_end
Fertige Normalparabel mit TigerJython nach 50 Schritten, h =0.5

Max Okay! Nicht sehr schön, aber witzig, wieso läuft sie denn aus dem Fenster hinaus?

Charly Ist ein statisches Fenster, 800 x 600 px.

Max Ach so! Ist die Kurve nicht ein bisschen steil für eine Normalparabel? Welche Schrittweite hast Du denn?

Charly Die Schrittweite ist h, die habe ich variabel gelassen, wie man das so macht, jetzt hab' ich mal

h\;=\;0.5

gesetzt, eigentlich soll die Schrittweite ja sehr klein sein, eher so im \epsilon-Bereich, hab' ich gelesen, aber das klappt hier nicht.

Max Es sieht so aus, als wäre eine Längeneinheit ein Pixel. Na! Für welche Klasse ist das denn?

Charly Für die 7.!

Max Kleine Herausforderung, das einer 7. Klasse zu erklären. Dann musst die Differenzialrechnung geometrisch erklären, Du hast veränderliche Koordinatensysteme, Du brauchst die Arkustangens- und die Wurzel-Funktion, und das alles, um eine Parabel zu zeichnen!

Charly Ach, vielleicht sollten wir die Stunde hier am Hohen Stein machen, das ist wirklich anschaulich.

Max Hahaha!

 

***

Übungsaufgaben

  1. Stimmt es, dass die Längeneinheit 1 Pixel ist – bei Fenstergröße von 800 x 600 px?
  2. Was passiert, wenn man die Schrittweite h = 1 setzt?
  3. Programmiere die grafische Darstellung einer Funktion Deiner Wahl mit FORWARD(), RIGHT() und LEFT()!

Lösung

  1. Ja, nach 34 Schritten à 0.5 px haben wir eine Länge von 17 px in x-Richtung und

    y\; =\; x^2\; =\; 17^2\; =\; 289 \;\mathrm{px}

    nach oben. Da ist sie fast die halbe Fensterhöhe durchlaufen.

  2. Da ist sie nach 19 Schritten schon aus dem Fenster herausgelaufen.
  3. IV_15_phyton_turtle_sin_02
    f(x)\; =\; \sin \;x,\; h\;=\;1, 384 Schritte