Für dieses Projekt verwenden wir die "World Map" Bibliothek von Snap! um einen Kartenausschnitt auf den Bildschirm zu zaubern. Über diese Karte lassen wir anschliessend einen Farbfilter laufen, um sie in ein Kunstwerk zu verwandeln.

Zuerst benötigen wir die Bibliothek, die wir über das Dateimenü oben links in der Snap!-Umgebung importieren können.

Bibliothek importieren

Dort wählen wir "World Map" aus und importieren die Bibliothek durch Drücken der Schaltfläche OK. Anschliessend stehen im Variablenregister (braun) eine Reihe von neuen Befehlen zu Verfügung.

Geografieblöcke

Nun können wir die eigentliche Programmierung durchführen. Am Schluss sollte dieses etwa so aussehen:

Programmierung Kartenkunstwerk

Im Hauptprogramm wird zuerst dafür gesorgt, dass beim Neustart alles richtig eingestellt ist. Der blaue Block "set value Stage size" stammt aus der Bibliothek "getters and setters" und muss ebenfalls importiert werden. Der anschliessende wait-Block sorgt dafür, dass die Anpassung der Bildschirmgrösse erfolgreich durchgeführt ist, bevor das Programm weiterläuft.

Dann wird mit den grauen Blöcken die Karte vorbereitet, wobei die Koordinaten und der Ausschnitt der Karte mit Zufallsvariablen so gesteuert werden, dass der später angezeigte Kartenausschnitt in der Schweiz oder näheren Umgebung liegt.

Die drei Variablen r, g, b müssen zuerst über die Schaltfläche "Make a variable" im Variablenbereich (braun) erzeugt werden.


Anschliessend werden sie mit einer Zufallszahl von 1 bis 255 (RGB-Farbwerte) initialisiert. Nun können wir die Karte als Kostüm für unser aktuelles Objekt verwenden. Die um den Kartenblock (as costume) dienen dazu, die Farben zu verändern. Dies funktioniert mit dem Modulusblock, der für jeden der Farbwerte Rot, Grün, Blau (0 bis 255) eine Division durchführt und dann den Rest zurückgibt.

Wenn also beispielsweise der Zufallswert r für Rot auf 20 gesetzt ist, erhalten wir als mögliche Ergebnisse die Zahlen 0 bis 19. Nehmen wir einmal an, ein Pixel in der Karte hat den Rotwert 25, dann ist der Rest bei einer Division 5, bei einem Wert von 75 wäre der Rest 15 usw. Diese Reste verwenden wir nun als neue Farbwerte. Dies bedeutet auch, dass bei einer Berechnung von modulus 20 sich 20 unterschiedliche Farbwerte über alle Schattierung von Rot immer wieder wiederholen. Da wir für alle drei Farbkanäle unterschiedliche Operation verwenden, ergeben sich daraus vor allem für Karten mit langsamen Farbübergängen, wie das bei der Option "watercolor" der Fall ist, interessante Farbeffekte.

Zuletzt wird mit dem stamp-Block noch eine Kopie der veränderten Karte erzeugt und auf den Hintergrund abgelegt. Der hide-Block am Ende dient nur dazu, dass so entstandene Bilder einfach exportiert werden können.

Zusätzlich ist im Programm noch eine Möglichkeit eingebaut, das ursprüngliche Kartenbild anzeigen zu lassen, indem du die Leertaste drückst. 

Wenn dir das ganze Programm zu sehr von Zufall abhängig ist, kannst du die zufälligen Werte natürlich auch durch eigene Angaben ersetzten. Das ist vor allem dann praktisch, wenn du mehrere Kartenausschnitte mit den gleichen Parametern in Kunstwerke verwandeln möchtest. 

Das Ergebnis all dieser Bemühungen sind dann immer wieder neue Kartenbilder in Falschfarben. Hier ist eine solches Beispiel abgebildet.

Kartenausschnitt in Falschfarben

Wenn du möchtest, kannst du hier direkt auf das Programm zugreifen: Swiss Map Art.

Zuletzt geändert: Donnerstag, 6. Mai 2021, 16:54