image image


image

Worknote: Neues von der PVector (Python)-Klasse

In meiner Begeisterung über P5 (Python) habe ich angefangen, einige der Processing (Java)-Programme aus Daniel Shiffmans wunderbarem Buch »The Nature of Code« darin nachzuprogrammieren. Dazu benötigte ich auch wieder meinen Python-Nachbau von Processings PVector-Klasse, den ich dafür außerdem noch um die (Klassen-) Methode random2D() ergänzen mußte:

import random

    @classmethod
    def random2D(cls):
        x = random.uniform(-1, 1)
        y = random.uniform(-1, 1)
        v = cls(x, y)
        v.normalize()
        return(v)

Da die Klasse nicht nur in P5, sondern auch mit anderen Python-Anwendungen funktionieren muß (getestet habe ich die bisher neben P5 mit der NodeBox 1 und mit Pythons Turtle-Modul), habe ich auf P5-Funktionen wie random_uniform() verzichtet und stattdessen auf Pythons Standardbibliothek zurückgegriffen. Sie läuft dadurch außerdem mit Python 2.7 und mit Python >= 3.5 und sie sollte auch mit vielen anderen Bibliotheken, wie zum Beispiel PyGame, die Arcade-Bibliothek, PyGlet, Cocos2D (Python) und sogar auch unter Jython (TigerJython) lauffähig sein. Bisher einzige Abhängigkeiten sind die Module math und random aus der Standardbibliothek.

Ich dachte mir, daß solch eine Klasse sicher auch für einige von Euch da draußen nützlich sein könnte, daher habe ich sie unter die MIT-Lizenz gestellt und auf GitHub veröffentlicht. Doch Vorsicht: Für eine Fehlerfreiheit kann ich nicht garantieren. Sollte Euch daher etwas auffallen, wäre ich um eine Fehlermeldung dankbar. Auch Verbesserungswünsche sind jederzeit willkommen.

Caveat: Die Methoden sollten so aufgerufen werden können und funktionieren, wie sie in der Referenz zur PVector-Klasse in der Processing-Dokumentation beschrieben sind. Es ist jedoch eine reine 2D-Klasse, mit 3D- oder noch höherwertigen Vektoren funktioniert sie nicht und eine 3D-Implementierung (oder noch mehr) ist auch nicht vorgesehen. [Photo (cc): Jörg Kantel]


(Kommentieren) 

image image



Über …

Der Schockwellenreiter ist seit dem 24. April 2000 das Weblog digitale Kritzelheft von Jörg Kantel (Neuköllner, EDV-Leiter, 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


Werbung


image  image  image
image  image  image


image