Genuary 2023: Earth-Moon Orbit Sim

P5.js
Simulation
Pygame
Autor:in

Jörg Kantel

Veröffentlichungsdatum

2. Januar 2023

Auf den »Advent of Code« im Dezember (den ich wie jedes Jahr aus Zeitgründen links liegen gelassen habe) folgt gnadenlos der »Genuary«, der Wettbewerb, der dem Programmieren Generativer Art gewidmet ist. Den konnte ich dieses Jahr nicht ignorieren, weil der »glückliche Programmierer« Kevin Workman sich daran beteiligt hat. Und wie so oft finde ich die Arbeit des Happy Coders einfach insprierend:

In diesem Jahr, das unter dem Motto »Perfect loop/Infinite loop/endless GIFs« steht, hat er sich die Simulation eines Erde-Mond-Orbits in P5.js vorgenommen. Da es bei diesem Wettbewerb eher auf die Krativität denn auf die physikalische Genauigkeit ankommt, nutzt er Sinus und Cosinus für die Bewegung der beiden Himmelskörper und Emojis für eine animierte Darstellung. Den Quellcode findet Ihr wie immer auf Kevin Workmans Seiten.

Und als braver Lehrer hat er auch schon Remix-Ideen (nicht nur) für seine Studenten:

Das alles hat mich natürlich inspiriert, so etwas – natürlich mit Raketen und Aliens – in Pygame zu programmieren. Eine kleine Suche auf OpenGameArt.org brachte erst mal eine Menge Sprites hervor, die man nutzen könnte (siehe Bannerbild). Und dann ist da natürlich wie immer Kenney.nl, die mit ihrem

mehr freie Bilder (CC 1.0) liefern, als Ihr und ich je verarbeiten könnt.

Und wer auf mehr realistische Physik Wert legt, kann ja zu Beispiel mal hier reinschauen: Modelling the Three Body Problem in Classical Mechanics using Python (Medium.com-Link, möglicherweise hinter einer Bezahlschranke eingesperrt ☹️).

Und wo ich gerade Kevin Workman in der Mangel habe: An seiner Universtät scheinen die Semesterferien vorbei zu sein, und so hat er vor zwei Tagen die Wochen 12 und 13 seiner Vorlesungsreihe »Intro fo Creative Web Dev« online gestellt. Wie immer mit sehr interessanten Inhalten, dieses Mal mit

Da mir seine Vorlesungen immer sehr gefallen, konnte und wollte ich sie Euch nicht vorenthalten. Habt Spaß damit …