image image


image

Nachdenken über »The Nature of Py5« – erste Konkretisierungen

Mein gestern spontan gefaßter Plan, Daniel Shiffmans Processing-Buch »The Nature of Code« zu überarbeiten und in einer Py5-Version zu veröffentlichen, hat mir keine Ruhe gelassen. Nachdem ich noch einmal durch die Py5-Dokumentation gesteppt bin und durch die gestern erwähnte Python- und Processing-Literatur (und einige Bücher mehr, zum Beispiel Peter Farrells »Math Adventures with Python«, Amit Sahas »Doing Math with Python« oder Tristan Bunns (aka TabReturn) »Learn Python Visually«) geblättert hatte. kristallisierte sich ein erster Gliederungsversuch für die ersten Kapitel heraus1:

So wird das erste Kapitel eine Einleitung sein, die Py5 und die verschiedenen Modi von Py5 vorstellt, zeigt wie man Py5 und die Entwicklungsumgebunt Thonny mit Tristan Bunns Py5-Plugin installiert, weil vermutlich werde ich alle meine Sketche damit entwickeln. Aber ich werde auch Ausflüge zu anderen Texteditoren unternehmen, zum Beispiel läuft Py5 hervorragend mit meinem Leib- und Magen-Editor TextMate. Obwohl ich kein Jupyter-Fan bin, werde ich dennoch Ausflüge zu JupyterLab und eventuell zu nteract und Spyder unternehmen. Da ja bekanntlich Visual Studio Code und ich keine Freunde werden, da Microsoft den Atom-Editor gekillt hat, werde ich versuchen, die VS-Jupyter-Umgebung unter VSCodium zum Laufen zu bekommen. Aber ich habe – wie auch bei meinen geplanten Versuchen mit Spyder – keine Ahnung, wie dies ausgehen wird. Daher versprecht Euch nicht zuviel.

Nach diesem Vorgeplänkel möchte in in medias res gehen und mich im zweiten Kapitel mit der Erzeugung von Zufallszahlen beschäftigen. Ich bin ein großer Freund und ständiger Nutzer von Pythons random-Bibliothek, und hieraus möchte ich auf jeden Fall randint(), uniform() und choice() vorstellen. Wie ich mit der Erzeugung von Perlin-Noise vorgehe, weiß ich noch nicht, das wird die Zukunft zeigen.

Das dritte Kapitel soll dann Vektoren behandeln. Py5 besitzt eine ausgefeilte Py5Vector-Klasse, die eng mit Numpy zusammenspielt. Hier möchte ich die einzelnen Methoden ausführlich und mit Beispielen vorstellen.

Das vierte Kapitel soll dann »Kraft, Reibung und Widerstand« heißen und Newtons Bewegungsgesetze und ihre Implementierung in Py5 behandeln.

Danach möchte ich den Pfad, den Daniel Shiffman in seinem Buch vorgegeben hat, verlassen und in einem Exkurs die Behandlung von Differentialgleichungen und ihre numerischen Lösungsmethoden vorstellen. Neben dem klassischen Eulerschen Polygonzug-Verfahren sollen zumindest die Methode von Heun und der/ein Algorithmus von Runge-Kutta implementiert werden. Mit diesem Vorwissen werden dann die Leserinnen und Leser an die SciPy-Methoden odeint() und solve_ip() herangeführt. Sie sind dann hoffentlich genügend sensibilisiert für die Probleme, die bei numerischen Lösungen von Differentialgleichungen auftreten können.

Weiter weiß ich noch nicht, ich werde vermutlich dann wieder Shiffman folgen wollen und die Themen Oszillation und Partikelsysteme behandeln, aber auch die Physik-Engine Pymunk steht auf dem Programm. Und wenn ich es dann noch schaffe, autonome Agenten, zelluläre Automaten und den Komplex Chaos und Fraktale zu behandeln, wäre das – glaube ich – ein rundes Werk. Denn das bei Shiffman abschließende Kapitel zu Genetischen Algorithmen und Künstlicher Intelligenz möchte ich lieber separat in meinem Themenbereich »Retrogaming und Künstliche Intelligenz« behandeln. Beim derzeitigen Stand meiner Planung habe ich hierfür als Programmierumgebung(en) Pygame Zero und TIC-80 vorgesehen. Aber noch ist nichts festgeklopft.

Weil die Frage in den sozialen Netzen gestern nach meiner Ankündigung schon auftauchte: Natürlich werde ich alles dokumentieren, einmal hier im Blog Kritzelheft und dann – wie bei meinen Processing.py-Experimenten – auf einer eigens noch dafür einzurichtenden Website. Als Autorenumgebung könnte ich mir herfür Quarto vorstellen, das Teil harrt auf meiner Liste der zu testenden Software auch noch auf seinen Einsatz. Still digging!

  1. Es gibt in meinen Regalen natürlich noch viele andere Bücher zu Python und/oder Processing, die ich bei Bedarf zu Rate ziehen und hier auch vorstellen werde, aber das sind die, die mir für einen ersten Entwurf erst einmal am Nützlichsten schienen. 


(Kommentieren) 

image image



Über …

Der Schockwellenreiter ist seit dem 24. April 2000 das Weblog digitale Kritzelheft von Jörg Kantel (Neuköllner, EDV-Leiter Rentner, Autor, Netzaktivist und Hundesportler — Reihenfolge rein zufällig). Hier steht, was mir gefällt. Wem es nicht gefällt, der braucht ja nicht mitzulesen. Wer aber mitliest, ist herzlich willkommen und eingeladen, mitzudiskutieren!

Alle eigenen Inhalte des Schockwellenreiters stehen unter einer Creative-Commons-Lizenz, jedoch können fremde Inhalte (speziell Videos, Photos und sonstige Bilder) unter einer anderen Lizenz stehen.

Der Besuch dieser Webseite wird aktuell von der Piwik Webanalyse erfaßt. Hier können Sie der Erfassung widersprechen.

Diese Seite verwendet keine Cookies. Warum auch? Was allerdings die iframes von Amazon, YouTube und Co. machen, entzieht sich meiner Kenntnis.


Werbung

Diese Spalte wurde absichtlich leergelassen!


Werbung


image  image  image
image  image  image


image