Trinket cont.: Amöben in der Petrischale (2)

Python
Processing
Trinket
Autor:in

Jörg Kantel

Veröffentlichungsdatum

24. Februar 2023

Meine Erkundungen von Trinket und der darin eingebauten Python-Version von Processing sind zu einem vorläufigen Abschluß gekommen: Ich habe weiter mit den virtuellen Amöben aus dem wunderbaren Buch »Learn Python Visually« (Seiten 207 ff.) von Tristan Bunn experimentiert.

Das entsprechende Trinket findet Ihr hier.

Als erstes Zwischenergebnis kann ich sagen, daß der Processing-Mode in Trinket tatsächlich sehr brauchbar ist. In der Performance kann er durchaus mit Py5, dem freundlichen Python3-Port von Processing, mithalten. Und wenn ich aus dem obigen Code die erste und die letzte Zeile entferne und den CamelCase der Processing-internen Befehle und Variablen in den SnakeCase von Python 3 umwandle (also zum Beispiel strokeWeight zu stroke_weight), dann läuft der Sketch auch ohne Probleme mit Py5.

Allerdings fehlt das von mir so geliebte with zum pythonischen Klammern von Transformationen und Zuständen. So ist zum Beispiel in obigem Code

with beginShape():  # in Py5: with begin_shape():
  befehle()

nicht möglich, sondern es muß stattdessen wie in obigem Beispiel in

beginShape()
befehle
endShape()

ohne Einrückung (!) geklammert werden. Da dies jedoch sowohl in Py5 wie auch in Processing.py alternativ ebenfalls möglich ist, ist es nicht schön, aber ich kann damit leben.

Testweise habe ich auch ein wenig mit der Trinket/Processing-Implementierung von PVector() gespielt. Hier scheint ähnliches zu gelten wie für beginShapeendShape oder pushMatrixpopMatrix. Zwar ist die Klasse PVector() vorhanden, aber sie scheint sehr stark an die Java-Implementierung angelehnt. Die meisten der schönen Python-typischen Shortcuts funktionieren nicht. Zur Orientierung sollte man sich daher an die Processing-Referenz halten.

Da die Klasse aber PVector() und nicht wie in P5.js p5.Vector() heißt, läßt dies jedoch keine Rückschlüsse zu, welche JavaScript-Implementierung von Python und/oder Processing hinter Trinket werkelt. Hier tappe ich leider immer noch völlig im Dunkeln. Aber egal, solange es funktioniert …

Und es funktioniert ziemlich gut. Daher werde ich erst einmal mit Trinket weiterbasteln. Still digging!

Literatur

Tristan Bunn: Learn Python Visually. Creative Coding with Processing.py, San Francisco CA (no starch press) 2021