image image


Von Perlin-Noise nach (Open) Simplex Noise (in Processing (Java))

Processing (Java) und damit auch Processing.py und P5.js verfügen bekanntlich über eine Perlin-Noise-Bibliothek. Perlin-Noise ist eine von Ken Perlin 1983 entwickelte fraktale Rauschfunktion auf der Basis von pseudozufälligen Gradientwerten, mit der man sehr viele, seltsame Dinge anstellen kann. So wird sie zum Beispiel genutzt, um in Spielen (zum Beispiel auch in Minecraft) zufallsgeneriertes Terrain zu erzeugen.

Es gibt einen Nachfolger von Perlin-Noise namens Simplex Noise, ebenfalls schon 2001 von Ken Perlin entwickelt. Im Gegensatz zu Perlin-Noise kann Simplex Noise auch mit höheren Dimensionen umgehen image, arbeitet nicht mit Umgebungsvariblen im rechteckigen 2D-Raum, sondern mit Simplizes, das heißt n-dimensionalen Dreiecken, zwischen denen interpoliert wird. Eine Folge daraus ist, daß es im Gegensatz zu Perlin-Noise keine spürbaren Richtungsartefakte mehr gibt (Simplex Noise ist isotrop).

Warum wurde dann nicht Simplex Noise statt Perlin-Noise in Processing implementiert? Ganz einfach, auf Simplex Noise liegt ein Patent, das erst 2022 ausläuft. Aber nun hat Daniel Shiffman eine offene Version von Simplex Noise entdeckt, OpenSimplexNoise, deren Java-Version vom Entwickler Kurt Spencer in die Public Domain entlassen wurde. Sie ist als Java-Klasse implementiert und läuft daher (fast) ohne Änderungen sofort in Processing (Java).

In obigem Video erklärt Daniel Shiffman die Differenzen zwischen Perlin-Noise, Simplex Noise und OpenSimplexNoise, zeigt wie er die Klasse in Processing nutzt und spekuliert darüber, ob man sie nicht als Standard in Processing integrieren kann. Weitere Videos sollen folgen.

Ich sehe übrigens keinen Grund, warum diese Klasse nicht auch in Processing.py laufen sollte. Wenn ich mit meiner selbst auferlegten Lektürepause durch bin, werde ich das einmal ausprobieren und dann berichten. Still digging!

image


(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