Interaktive Demo
Perlin Noise
Perlin Noise, 1983 von Ken Perlin erfunden, erzeugt glatte und natürlich wirkende Zufälligkeit. Es ist die Grundlage unzähliger prozeduraler Texturen, Wolken und Landschaften.
Die Pfeile sind die zufälligen Gradienten an den Gitterpunkten. Stelle die Interpolation auf Linear, um zu sehen, warum die Überblendkurve wichtig ist.
Steuerung
Legende
- Gitterpunkt und sein Gradient
Rauscharten im Vergleich
| Rauschen | Ergebnis | Aufgebaut aus | Aufwand pro Wert | Glatt |
|---|---|---|---|---|
| Value Noise | Skalarfeld | Zufallswerte auf einem Gitter | 4 Gitterpunkte | Ja |
| Perlin Noise diese Seite | Skalarfeld | Zufallsgradienten auf einem Gitter | 4 Gitterpunkte | Ja |
| Simplex Noise | Skalarfeld | Gradienten auf einem Dreiecksgitter | 3 Ecken | Ja |
| Worley Noise | Skalarfeld | Zufällige Merkmalspunkte | 9 bis 25 Zellen | Nein |
| Blue Noise | Punktmenge | Zufällige Kandidaten um vorhandene Punkte | Bis zu 30 Versuche pro Punkt | – |
| Fraktales Rauschen | Skalarfeld | Oktaven eines Basisrauschens | 1 Basisrauschen pro Oktave | Ja |
| Diamond-Square | Höhenkarte | Verschobene Mittelpunkte eines Gitters | 4 Nachbarn pro Punkt | Nein |
| Farben des Rauschens | Signal oder Bild | Nach Frequenz gefiltertes weißes Rauschen | 1 FFT für alle Werte | – |
| Domain Warping | Skalarfeld | Fraktales Rauschen an verschobenen Stellen | Bis zu 5 fraktale Rauschen | Ja |
| Curl Noise | Vektorfeld | Ableitungen eines Rauschfelds | 4 Rauschwerte | Ja |
| Gelände aus Rauschen | Höhenkarte | Gestapelte Rauschebenen | Ebenen × Oktaven | – |
1. Ein Gitter aus Gradienten
Jeder Gitterpunkt bekommt einen zufälligen Einheitsvektor, seinen Gradienten. Genau an den Gitterpunkten ist das Rauschen 0, um sie herum steigt es in die Richtung, in die der Gradient zeigt.
2. Skalarprodukte
Für einen Punkt in einer Zelle werden die Vektoren von den vier Ecken zum Punkt mit den Gradienten der Ecken multipliziert (Skalarprodukt). Das ergibt einen Wert pro Ecke.
3. Glattes Überblenden
Die vier Werte werden mit der Kurve 6t⁵ − 15t⁴ + 10t³ überblendet. Ihre erste und zweite Ableitung sind an den Zellrändern null, deshalb entstehen keine Kanten. Beim linearen Überblenden ist das Gitter deutlich zu sehen.