This is an old revision of the document!
Koordinatengrafik mit Python
Aufgaben 1 und 2: Grafik-Bibliothek "kantigrafik" herunterladen und wesentliche Befehle kennenlernen
Speichere die folgende Grafik-Bibliothek unter dem Namen kantigrafik.py
in deinem Python-Verzeichnis ab (Anklicken mit rechter Maustaste).
Neue Version vom 15.12.2022:
Wir verwenden diese Bibliothek im Folgenden als black box, so wie wir etwa die Turtle-Bibliothek als black box verwendet haben.
Ich habe diese (im wesentlichen auf pygame
basierende) Bibliothek geschrieben, da ich im Internet bisher keine “einfache, schulgeeignete” Grafik-Bibliothek gefunden habe.
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
.
Aufgabe 3: Rechtwinkliges Dreieck mit Umkreis zeichnen
- rechtwinkliges-dreieck-mit-umkreis.py
from kantigrafik import * zeichenfenster(-4, -4, 8, 6, 100, "Rechtwinkliges Dreieck mit Umkreis") a = 4 b = 3 # Hier deinen Code ergänzen! zeige() warte_auf_klick()
Ergänze das obige Python-Programm so, dass ein rechtwinkliges Dreieck gezeichnet wird, dessen Katheten parallel zu den Koordinatenachsen sind und Länge a
und b
haben. Ändert man die Werte der Variablen a
und b
, so muss sich die Zeichnung entsprechend ändern.
Eine Skizze mag helfen.
Bonusaufgabe: Zeichne zusätzlich den Umkreis dieses rechtwinkligen Dreiecks.
Je nach Zeichnung mag Koordinatengrafik oder Turtlegrafik besser geeignet sein.
Die obige Zeichnung (rechtwinkliges Dreieck mit Umkreis) ist meinem Geschmack nach deutlich leichter mit Koordinatengrafik als mit Turtle-Grafik zu zeichnen - wer eine kleine Herausforderung benötigt, zeichne Dreieck samt Umkreis mit der Turtle!
Aufgabe 4: Konzentrische n-Ecke zeichnen
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.)
Bekanntlich kann man leicht ein $n$-Eck mit Turtle-Grafik zeichnen. Wer noch nicht von den Vorteilen von Koordinatengrafik überzeugt ist, zeichne einmal einige konzentrische $n$-Ecke mit Turtlegrafik.
Aufgabe 5: Funktionsgraph zeichnen (etwa Sinus, Cosinus, Tangens)
Die Befehle der Bibliothek ''kantigrafik''
Die wichtigsten Befehle der Bibliothek kantigrafik
an Beispielen erläutert:
zeichenfenster(-3, -2, 8, 5, 100)
: Öffnet ein Zeichenfenster mit einem (unsichtbaren Koordinatensystem), dessen $x$-Koordinaten von -3 bis 8 gehen und dessen $y$-Koordinaten von -2 bis 5 gehen. Der Punkt $(-3,-2)$ ist also der Punkt ganz links unten und der Punkt $(8,5)$ ist der Punkt ganz rechts oben. Die Zahl 100 legt fest, dass eine Einheit des Koordinatensystems auf dem Bildschirm 100 Pixel lang sein soll.linie(3, 7, 1, -2)
: Zeichnet eine Linie 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$.gefuellter_kreis(5, 2, 7)
: Zeichnet einen ausgefüllten Kreis mit Mittelpunkt $(5,2)$ und Radius $7$.punkt(3, -2)
: Zeichnet einen Punkt an der Stelle $(3, -2)$.raster()
: Zeichnet das “Koordinatenraster” ein.x_achse()
: Zeichnet die $x$-Achse ein.y_achse()
: Zeichnet die $y$-Achse ein.schreibe(3, -2, “Kantigrafik-Demo”, 0.5)
: Schreibt den angegebenen Text in der Grösse 0.5 (in Einheiten) mit “linker unterer Ecke” am Punkt (3, -2).farbe(ROT)
: Setzt die Farbe auf rot. Andere vordefinierte Farben sindGRUEN
,BLAU
,GELB
,MAGENTA
,CYAN
,WEISS
,SCHWARZ
,GRAU
. Weitere Farben bekommt man mit Funktionsaufrufen wiefarbe(224, 114, 213)
unter Verwendung des RGB-Farbmodells (RGB steht für Red-Green-Blue; verwende etwa den RGB Color Calculator auf https://www.w3schools.com/colors/colors_rgb.asp).zeige()
: Mit diesem Befehl wird alles bisher Gezeichnete sichtbar. (Die vorigen Zeichenbefehle zeichnen in Wirklichkeit “im Hintergrund”. Erst mit dem Funktionsaufrufzeige()
wird alles angezeigt.)
Zum Anzeigen des bereits Gezeichneten muss man den Befehl zeige()
verwenden.
pause(1.5)
: Pausiert 1.5 Sekunden.speichere(“zeichnung.jpeg”)
: Speichert den Inhalt des Zeichenfensters in der Datei “zeichnung.jpeg”.warte_auf_klick()
: Lässt das Zeichenfenster so lange offen, bis der Benutzer hineinklickt oder Escape drückt oder es schliesst oder die Taste “q” drückt. Dieser Befehl steht üblicherweise ganz am Ende des Programms (und nirgendwo sonst).
Link zur Kursseite
Link zur Seite Zur Kursseite