lehrkraefte:snr:mathematik:klasse-2:2022-23:python-koordinatengrafik

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
lehrkraefte:snr:mathematik:klasse-2:2022-23:python-koordinatengrafik [2022/12/15 23:20]
Olaf Schnürer [Aufgaben 1 und 2: Grafik-Bibliothek "kantigrafik" herunterladen und wesentliche Befehle kennenlernen]
lehrkraefte:snr:mathematik:klasse-2:2022-23:python-koordinatengrafik [2022/12/21 00:32]
Olaf Schnürer [Aufgabe 5: Funktionsgraph zeichnen (etwa Sinus, Cosinus, Tangens)]
Line 21: Line 21:
  
 <WRAP center round todo> <WRAP center round todo>
-Versuche anhand des folgenden Programms die wesentlichen Funktionen der Bibliothek ''kantigrafik'' zu verstehen. Du musst dieses Programm im selben Verzeichnis abspeichern wie die Datei ''kantigrafik''.+Versuche anhand des folgenden Programms die wesentlichen Funktionen der Bibliothek ''kantigrafik'' zu verstehen. Du musst dieses Programm **im selben Verzeichnis** abspeichern wie die Datei ''kantigrafik''.
  
 {{ :lehrkraefte:snr:mathematik:klasse-2:2022-23:demo-kantigrafik.py |}} {{ :lehrkraefte:snr:mathematik:klasse-2:2022-23:demo-kantigrafik.py |}}
Line 32: Line 32:
   * pygame installieren! In der Kommandozeile (cmd): ''pip install pygame'' + Enter   * pygame installieren! In der Kommandozeile (cmd): ''pip install pygame'' + Enter
   * Manchmal sind mehrere Versionen von Python installiert. In VS-Code kann man per "Ctrl+Shift+p", "Python: Select Interpreter" die gewünschte Version auswählen (Empfehlung: Version mit "global").   * Manchmal sind mehrere Versionen von Python installiert. In VS-Code kann man per "Ctrl+Shift+p", "Python: Select Interpreter" die gewünschte Version auswählen (Empfehlung: Version mit "global").
 +  * ??? 
 +  * beim Nachbarn mitprogrammieren
 </hidden> </hidden>
 </WRAP> </WRAP>
Line 86: Line 88:
 <WRAP center round todo> <WRAP center round todo>
 Zeichne mit Koordinatengrafik die folgende Figur (fünf konzentrische Fünfecke) bzw. allgemeiner einige konzentrische $n$-Ecke. Zeichne mit Koordinatengrafik die folgende Figur (fünf konzentrische Fünfecke) bzw. allgemeiner einige konzentrische $n$-Ecke.
 +
 +Hinweis: Zeichne zuerst ein Fünfeck, dessen Umkreis den Radius eins hat.
  
 (Lösung vermutlich gemeinsam. Benötigt Trigonometrie und die ''math''-Bibliothek. Achtung: Grad- vs. Bogenmass.) (Lösung vermutlich gemeinsam. Benötigt Trigonometrie und die ''math''-Bibliothek. Achtung: Grad- vs. Bogenmass.)
  
 {{:lehrkraefte:snr:mathematik:klasse-2:2022-23:konzentrische-fuenfecke.png?400|}} {{:lehrkraefte:snr:mathematik:klasse-2:2022-23:konzentrische-fuenfecke.png?400|}}
 +
 +----
 +
 +<hidden Mögliche Lösung>
 +<code python konzentrische-n-ecke.py>
 +from kantigrafik import *
 +from math import *
 +
 +n = 5
 +
 +zeichenfenster(-6, -5, 6, 5, 80, "Zeichenfenster")
 +
 +farbe(GRAU)
 +raster()
 +farbe(WEISS)
 +x_achse()
 +y_achse()
 +
 +farbe(ROT)
 +alpha = 360 / n
 +alpha_im_bogenmass = alpha / 180 * pi
 +for radius in range(2, 6):
 +    for i in range(n):
 +        gefuellter_kreis(radius * cos(i * alpha_im_bogenmass), radius * sin(i * alpha_im_bogenmass), 0.1)
 +        linie(radius * cos(i * alpha_im_bogenmass), radius * sin(i * alpha_im_bogenmass),
 +            radius * cos((i+1) * alpha_im_bogenmass), radius * sin((i+1) * alpha_im_bogenmass))
 +zeige()
 +speichere("bildchen.jpeg")
 +warte_auf_klick()
 +</code>
 +</hidden>
 </WRAP> </WRAP>
  
 <WRAP center round box> <WRAP center round box>
-Bekanntlich kann man leicht ein $n$-Eck mit Turtle-Grafik zeichnen. +Bekanntlich kann man leicht ein einzelnes $n$-Eck mit Turtle-Grafik zeichnen (aber schon die Berechnung des Umkreisradius ist nicht ganz offensichtlich
 Wer noch nicht von den Vorteilen von Koordinatengrafik überzeugt ist, zeichne einmal einige konzentrische $n$-Ecke mit Turtlegrafik. Wer noch nicht von den Vorteilen von Koordinatengrafik überzeugt ist, zeichne einmal einige konzentrische $n$-Ecke mit Turtlegrafik.
 </WRAP> </WRAP>
  
-===== Aufgabe 5: Funktionsgraph zeichnen (etwa Sinus, Cosinus, Tangens) =====+===== Aufgabe 5: Funktionsgraphen zeichnen (etwa Sinus, Cosinus, Tangens) =====
  
 <WRAP center round todo> <WRAP center round todo>
-Zeichne die Graphen von Sinus, Cosinus und Tangens in unterschiedlichen Farben mit Koordinatengrafik (oder den Graphen einer beliebigen anderen Funktion).+Zeichne die Graphen von Sinus, Cosinus und Tangens in unterschiedlichen Farben mit Koordinatengrafik.  
 +Du darfst natürlich auch den Graphen einer beliebigen anderen Funktion deiner Wahl zeichnen.
  
-(Lösung vermutlich gemeinsam. Im Bild ist neben der üblichen Bogenmass-Skala auch eine Grad-Skala angegeben.)+<hidden Hier ist ein mögliches Programm-Gerüst> 
 +<code python graphen-zeichnen.py> 
 +from kantigrafik import * 
 +# Lädt unter anderem die trigonometrischen Funktionen 
 +# sin(...), cos(...), tan(...), aber auch die Kreiszahl pi.  
 +from math import * 
 + 
 +# minimale x-Koordinate 
 +MINX = -10       
 +# maximale x-Koordinate 
 +MAXX = 10 
 + 
 +# minimale y-Koordinate 
 +MINY = -6 
 +# maximale y-Koordinate 
 +MAXY = 6 
 + 
 +# Länge einer Einheit im Koordinatensystem in Pixeln 
 +PIXEL_PRO_EINHEIT = 80 
 + 
 +zeichenfenster(MINX, MINY, MAXX, MAXY, PIXEL_PRO_EINHEIT, "Graphen der trigonometrischen Funktionen Cosinus (grün), Sinus (rot), Tangens (gelb)"
 + 
 +... und hier darfst du deinen Code ergänzen. 
 + 
 +zeige() 
 +speichere("graphen.jpeg"  
 +warte_auf_klick() 
 +</code> 
 +</hidden> 
 + 
 +---- 
 + 
 +{{:lehrkraefte:snr:mathematik:klasse-2:2022-23:sin-cos-tan.jpeg?600|}}
  
-{{:lehrkraefte:snr:mathematik:klasse-2:2022-23:sin-cos-tan.jpeg?400|}}+OptionalGib neben der üblichen Bogenmass-Skala wie im Bild auch die Grad-Skala an.
 </WRAP> </WRAP>
  
Line 119: Line 187:
   * ''breite_linie(3, 7, 1, -2, 0.2)'': Zeichnet eine Linie der Breite 0.2 vom Punkt $(3,7)$ zum Punkt $(1, -2)$.   * ''breite_linie(3, 7, 1, -2, 0.2)'': Zeichnet eine Linie der Breite 0.2 vom Punkt $(3,7)$ zum Punkt $(1, -2)$.
   * ''kreis(5, 2, 7)'': Zeichnet einen Kreis mit Mittelpunkt $(5,2)$ und Radius $7$.   * ''kreis(5, 2, 7)'': Zeichnet einen Kreis mit Mittelpunkt $(5,2)$ und Radius $7$.
-  * ''gefuellter_kreis(5, 2, 7)'': Zeichnet einen ausgefüllten Kreis mit Mittelpunkt $(5,2)$ und Radius $7$.+  * ''gefuellter_kreis(5, 2, 0.1)'': Zeichnet einen ausgefüllten Kreis mit Mittelpunkt $(5,2)$ und Radius $0.1$, also einen dicken Punkt.
   * ''punkt(3, -2)'': Zeichnet einen Punkt an der Stelle $(3, -2)$.   * ''punkt(3, -2)'': Zeichnet einen Punkt an der Stelle $(3, -2)$.
   * ''raster()'': Zeichnet das "Koordinatenraster" ein.   * ''raster()'': Zeichnet das "Koordinatenraster" ein.
Line 138: Line 206:
 ====== Link zur Kursseite ====== ====== Link zur Kursseite ======
  
-Link zur Seite [[lehrkraefte:snr:mathematik:klasse-2:2022-23|Zur Kursseite]]+Link zur  
 +  * [[lehrkraefte:snr:mathematik:klasse-2:2022-23|Zur Mathe-Kursseite]] 
 +  * [[lehrkraefte:snr:informatik:glf22|Zur Informatik-Kursseite]] 
 + 
  
  
  
  • lehrkraefte/snr/mathematik/klasse-2/2022-23/python-koordinatengrafik.txt
  • Last modified: 2023/01/31 17:37
  • by Olaf Schnürer