Es ist für die Verfolgung eines solchen Projekts (und für die Zusammenarbeit) nützlich, das Programm in Module aufzuteilen, um die man sich einzeln kümmert. Ich habe nun folgende Struktur vorbereitet die sich im Unterverzeichnis projekt eures Verzeichnisses befindet.
Das Modul
kontouren.py enthält Funktionen zur Parametrisierung von Kanten/Kontouren. Schon implementiert ist die Funktion
parametrisiere_kanten die einen geeigneten Anfangspunkt sucht. Von diesem aus sucht die Funktion
finde_kontour eine Kontour (also eine Folge von Punkten), die bloß deklariert wurden und noch zu implementieren ist.
1)
Das Modul
bewegeturtle.py definiert die Funktionen
bewege_turtle_auf_bild, um die Turtle über ein Bild zu bewegen. Diese Funktion ist bisher nur deklariert und noch zu implementieren.
Das Modul
bildoperationen.py enthält die Funktionen zur Bildbearbeitung, die ihr bisher definiert habt (und eine weitere). Selbstverständlich könnt ihr weitere Funktionen ergänzen, wenn ihr wollt.
Das Modul
turtlemod.py enthält Klassen, die es ermöglichen, eine Turtle vor einem Hintergrundbild zu bekommen.
An diesem Modul ist nichts zu tun. Ich habe es vorbereitet, da es dabei technische Probleme gab, bei deren Lösung ihr meines Erachtens nicht sonderlich viel hättet lernen können.
Das neue „Hauptprogramm“ kanten_erkennen_neu.py importiert die Funktionen und Klassen dieser Module, macht aber ansonsten genau das, was euer altes Hauptprogramm getan hat. Neu hinzugekommen ist nur der Aufruf von *parametrisiere_kanten*, das Einzeichnen der gefundenen Kanten in ein Bild und der Aufruf von *bewege_turtle_auf_bild*.
Nun könntet ihr in zwei Gruppen an den Modulen kontouren.py und bewegeturtle.py arbeiten (und die jeweils nur deklarierte Funktionen implementieren.) Damit man gut unabhängig arbeiten kann, enthält jedes der Programme einen kleinen Test in der Funktion main().