Interaktive Demo
Simplex Noise
Ken Perlin stellte Simplex Noise 2001 als Nachfolger seines Perlin Noise vor. Es nutzt ein Gitter aus Dreiecken statt Quadraten, so hängt jeder Punkt nur von drei Ecken ab und das Gitter ist kaum zu sehen.
Bewege den Zeiger über das Bild: Das hervorgehobene Dreieck enthält den Punkt, die Linien zeigen, was jede seiner drei Ecken zum Rauschwert beiträgt.
Steuerung
Unter dem Zeiger
- Ecke 1
- 0.00
- Ecke 2
- 0.00
- Ecke 3
- 0.00
- Rauschwert
- 0.00
Legende
- Gitterpunkt und sein Gradient
- Ecke erhöht den Wert
- Ecke verringert den Wert
1. Ein verzerrtes Gitter
Die Ebene wird in gleichseitige Dreiecke zerlegt. Um das Dreieck eines Punkts zu finden, werden seine Koordinaten so verzerrt, dass die Dreiecke zu halben Quadraten werden. Dann liegt der Punkt in einer quadratischen Zelle, und ein Vergleich (x > y) wählt die Hälfte.
2. Drei Beiträge
Wie bei Perlin Noise hat jede Ecke einen zufälligen Gradienten. Ihr Beitrag ist das Skalarprodukt des Gradienten mit dem Vektor zum Punkt, gewichtet mit (0,5 − d²)⁴. Ab einem Abstand von etwa 0,71 ist das Gewicht null.
3. Warum es besser ist
Statt vier Ecken zu überblenden, addiert Simplex Noise einfach drei Beiträge, die von selbst ausklingen. Das ist günstiger, besonders in höheren Dimensionen (n + 1 Ecken statt 2ⁿ), und zeigt weniger Artefakte entlang der Gitterachsen.
Quellen
- Die Umsetzung folgt Simplex noise demystified von Stefan Gustavson (2005), der Ken Perlins Simplex Noise von 2001 erklärt.