Simple Grafik mit graphics.py
Installieren Sie zuerst das nötige Paket, siehe unten.
Dokumentation
Aufgaben
Wiederholungen
Testen und Verstehen Sie folgenden Code:
from graphics import * win = GraphWin("Hello", 600, 600) for i in range(100,600,100): r = Rectangle(Point(i,200), Point(i+50,250)) r.setFill("red") r.draw(win) win.getMouse() # Pause to view result win.close() # Close window when done
Cosinus/Sinus
Testen und Verstehen Sie folgendes Programm:
from graphics import * from math import cos,sin,pi win = GraphWin("Hello", 600, 600) win.setCoords(-2,-2,2,2) # Koordinatensystem setzen for i in range(5): grad = 360/5*i bogenmass = grad/180*pi x = cos(bogenmass) y = sin(bogenmass) c = Circle(Point(x,y),0.05) c.setFill("red") c.draw(win) Circle(Point(0,0),1).draw(win) # Einheitskreis win.getMouse() # Pause to view result win.close() # Close window when done
Ändern Sie das Programm so ab, dass 10 Punkte auf dem Einheitskreis eingezeichnet werden.
Funktion für $P_\alpha$
Damit wir Punkte auf dem Einheitskreis mit Linien verbinden können, ist es praktisch Punkte auf dem Einheitskreis einfach berechnen zu können. Dazu definieren wir eine Funktion palpha
, die einen Winkel in Grad als Argument entgegennimmt und den Punkt $P_\alpha$ als Point
-Objekt zurückgibt:
def palpha(grad): bogenmass = grad/180*pi x = cos(bogenmass) y = sin(bogenmass) return Point(x,y) # Resultat zurückgeben
Bauen Sie die Funktion palpha
im Code ein und verwenden Sie diese direkt im Circle
-Befehl (ersetzen Sie damit Point(x,y)
). Testen Sie Ihr Programm.
Linien
Testen und verstehen Sie folgendes Programm:
from graphics import * from math import cos,sin,pi win = GraphWin("Hello", 600, 600) win.setCoords(-2,-2,2,2) # Koordinatensystem setzen def palpha(grad): bogenmass = grad/180*pi x = cos(bogenmass) y = sin(bogenmass) return Point(x,y) # Resultat zurückgeben Line(palpha(0), palpha(120)).draw(win) Line(palpha(120), palpha(240)).draw(win) Line(palpha(240), palpha(360)).draw(win) win.getMouse() # Pause to view result win.close() # Close window when done
Ändern Sie das Programm so, dass der Befehl Line
nur noch einmal vorkommt. Verwenden Sie dazu eine Wiederholung.
Zeichnen Sie ein Fünfeck.
Definieren Sie am Anfang des Programms eine Variable n
, die angibt, wie viele Ecken die Form haben soll.
Testen Sie Ihr Programm, indem Sie für n
die Werte 3,4 und 7 testen.
Weitere Aufgaben
Setup
Es gibt einen Screencast: direkter link, oder Stream auf BLDSG Sharepoint
Windows
Auf der Kommandozeile (git-bash) egal in welchem Ordner:
pip install graphics.py
Linux/Mac
sudo pip3 install tk graphics.py
Alle Systeme
Gehen Sie in einen geeigneten Ordner (wo Ihre eigenen Dateien fürs Programmieren liegen) und öffnen Sie dort den Ordner mit VisualCode:
code .
wobei der Punkt für das aktuelle Verzeichnis steht. Alternativ kann natürlich Code auch über das Startmenu gestartet werden und via File→Open Folder der Ordner geöffnet werden.
Wird ein ganzer Ordner geöffnet, können mehrere Dateien bearbeitet werden und die Programme komfortabel gestartet werden.
Beispiel-Programm zum Testen:
from graphics import * win = GraphWin("Hello", 600, 600) text = Text(Point(100,300), "It works") text.setSize(36) text.draw(win) win.getMouse() # Pause to view result win.close() # Close window when done