08.10.2013 Aufrufe

Gradientenbasierte Rauschfunktionen und Perlin Noise - Campus ...

Gradientenbasierte Rauschfunktionen und Perlin Noise - Campus ...

Gradientenbasierte Rauschfunktionen und Perlin Noise - Campus ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Burger: <strong>Gradientenbasierte</strong> <strong>Rauschfunktionen</strong> <strong>und</strong> <strong>Perlin</strong> <strong>Noise</strong> 2<br />

1<br />

1<br />

g u<br />

1 2 3 4 5 6 7 8 9<br />

Abbildung 1: Die Werte der diskreten Zufallsfolge g u (blau) geben die<br />

Steigung der Rauschfunktion noise(x) an den ganzzahligen Positionen x =<br />

u ∈ Z vor (die resultierenden Tangenten sind in magenta angezeigt). Diese<br />

Positionen sind gleichzeitig Nullstellen der Funktion.<br />

zwischen den Werten an den x umgebenden Rasterpunkten p = ⌊x⌋ <strong>und</strong><br />

p+1.<br />

2.1 Gradienten-<strong>Noise</strong><br />

<strong>Perlin</strong> <strong>Noise</strong> ist eine Form von Gradient <strong>Noise</strong>, die Zufallswerte gu definieren<br />

also den Anstieg (gradient) der Funktion noise(x) an den diskreten Punkten<br />

x = u. Die diskreten Gradientenwerte werden von einer Funktion grad(u)<br />

erzeugt, d. h.,<br />

g u = grad(u) ∈ [−1,1].<br />

Dabei istgrad(u) eine Abbildung der ganzen ZahlenZauf reellwertige Pseudo-<br />

Zufallszahlen im Intervall [−1,1], die (so wird angenommen) annähernd<br />

gleichverteilt sind. Diese Abbildung wird üblicherweise mithilfe einer Hash-<br />

Funktion realisiert, wie in Abschn. 2.4 genauer beschrieben wird.<br />

2.1.1 Stückweise, lokale Interpolation<br />

Die Eigenschaften der Rauschfunktion werden maßgeblich von der gewählten<br />

Interpolationsfunktion F bestimmt. Diese sollte nicht nur die oben genannten<br />

Bedingungen erfüllen, sondern auch zu einem visuell guten Ergebnis<br />

führen. In den folgenden Abschnitten geht es daher um die Definition der<br />

Interpolationsfunktion F.<br />

An den diskreten Positionen x = u sind nicht nur die Gradientenwerte<br />

gu vorgegeben, sie sollen zudem auch Nullstellen der Rauschfunktion sein.<br />

Für die Rauschfunktion noise(x) soll also zunächst gelten<br />

noise(u) = 0 <strong>und</strong> noise ′ (u) = g u, (4)<br />

für alle u ∈ Z. Für die lokale Interpolationsfunktion F (Gl. 3) muss daher<br />

gelten:<br />

F(p,gp,gp+1) = 0, F ′ (p,gp,gp+1) = gp,<br />

F(p+1,gp,gp+1) = 0, F ′ (p+1,gp,gp+1) = gp+1.<br />

u<br />

(5)

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!