Computergrafik

Rauschen
Motivation
Rauschen ist in der Computergrafik eine wesentliche Voraussetzung zur Darstellung von u.a.:
- Wolken
- Berge
- Lichteffekten
- und vielen weiteren Effekten in der Natur
Alle Bilder sind gemeinfrei
Erzeugen von «Chaos» I

Bild: Patricio Gonzalez Vivo
Erzeugen von «Chaos» II

Bild: Patricio Gonzalez Vivo
Erzeugen von «Chaos» III

Bild: Patricio Gonzalez Vivo
Geht es noch besser?
Value-Noise (Werterauschen)

Bild: Thorsten Thormählen
Bisher haben wir jedem Pixel einen pseudo-zufälligen Wert gegeben.
Bei Value-Noise ist das Vorgehen etwas komplexer:
- Ein grobes Gitter wird erstellt
- Jeder Gitterpunkt bekommt Zufallswert
- Zwischen Gitterpunkten wird interpoliert
➔ Dadurch entstehen glatte Übergänge
Value-Noise (Interpolation)


Bilder: Thorsten Thormählen
Value-Noise (Beispiel)
⌨️ Aufgabe
Passen Sie den vorhergehenden Code dahingehend an, dass ein farbliches Rauschen dargestellt wird.
Seien Sie kreativ 🎨 !
5 Min
Geht es noch besser?
Ken Perlin

Image: Ken Perlin
- Mathematiker & Computergrafiker
- forschte zum Thema Rauschen
🏆 Oscar für technische Verdienste (1997):„For the development of Perlin Noise, a technique used to produce natural appearing textures on computer generated surfaces for motion picture visual effects“
Ken Perlin hat mit seinen Arbeiten zum Thema Rauschen ("Perlin-Rauschen") wesentlich zum Fortschritt in der Computergrafik beigetragen.
Gradient-Noise
Bilder: Thorsten Thormählen

- für jeden Gitterpunkt (🔴) werden zufällige Gradientenvektoren erstellt

- Wert f(p) für p (🔵) ergibt sich aus Skalarprodukt des Gradienten am Gitterpunkt (🔴) und dem Richtungs-vektor zu p (🔵)
Gradient-Noise (Beispiel)
Grenzen von Gradient-Noise
- Gradient-Noise bzw. Perlin-Noise erreicht sehr gute visuelle Ergebnisse
- wird in vielen Anwendungen eingesetzt
- Einziger Nachteil (gilt auch für Value-Noise):
- Der Aufwand bei >2 Dimensionen steigt drastisch
➔ Gitterstruktur mit Dimension N hat Aufwand
- Der Aufwand bei >2 Dimensionen steigt drastisch
- Für hochdimensionale Echtzeitanwendungen sind
andere Strukturen besser geeignet
Simplex-Noise
- Ken Perlin hat Perlin-/Gradient-Noise weiterentwickelt
- Wesentliche Änderungen:
- Nutzung von Dreieck-Gittern (anstelle von viereckigen)
- (linearer) Aufwand von N (konkret N+1)
- Vergleich: Value-/Gradient-Noise
- Verfahren kann noch einfacher in Hardware (GPU) implementiert werden
- Visuelle Ergebnisse konnten auch verbessert werden
- Die Laufzeit-Effizienz ist aber der wesentliche Vorteil
Simplex-Noise (Beispiel)
✅ Zusammenfassung
- Rauschen ist eine wichtige Basis in Computergrafik
- z.B. für Wolken, Küstenlinien, Berge
- z.B. für Wolken, Küstenlinien, Berge
- Wesentliche Verfahren:



Gradient-/Perlin-Noise
Value-Noise
Simplex-Noise
CG4 Rauschen
By blackbill
CG4 Rauschen
- 83