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

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

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

noise4(x)<br />

1<br />

1<br />

1 2 3<br />

Abbildung 3: Anwendung der ursprünglichen <strong>Perlin</strong>-Interpolationsfunktion<br />

[7] nach Gl. 17 für die ersten vier Gradientenwerte aus Abb. 1. An den ganzzahligen<br />

Positionen ist der Funktionswert jeweils null <strong>und</strong> der Anstieg der<br />

Funktion enspricht dem Wert g i der Zufallsfolge in Abb. 1 (a). Der Graph in<br />

(b) zeigt die selbe Funktion mit vergrößertem Maßstab in der y-Richtung.<br />

aufweist, wobei a2 noch frei wählbar ist. Für a2 = −3g1 ergibt sich die<br />

Funktion<br />

F4(˙x,g0,g1) = 2(g0 −g1)· ˙x 4 −(3g0 −5g1)· ˙x 3 −3g1 · ˙x 2 +g0 · ˙x (16)<br />

oder, in der von <strong>Perlin</strong> verwendeten Schreibweise,<br />

F4(˙x,g0,g1) = g0 · ˙x+ 3˙x 2 −2˙x 3 · g1 ·(˙x−1)−g0 · ˙x . (17)<br />

Abb. 3 zeigt ein Beispiel für die in dieser Form interpolierte Funktion unter<br />

Verwendung der ersten vier Gradientenwerte aus Abb. 1. Die zweite Ableitung<br />

(Krümmung) von F4() bezüglich ˙x beträgt an den Randstellen übrigens<br />

F ′′<br />

4(0,g0,g1) = −6g1 <strong>und</strong> F ′′<br />

4(1,g0,g1) = 6g0, (18)<br />

ist also im Allgemeinen ungleich null. 3 Dies ist nicht unproblematisch, da sich<br />

dadurch an den Übergängen zwischen benachbarten Segmenten die Krümmung<br />

der Funktion sprungartig ändern kann (s. Abschnitt 2.1.6).<br />

2.1.5 Interpolation der Tangenten<br />

Im eindimensionalen Fall spezifiziert jeder der vorgegebenen Gradientenwerte<br />

g i eine Tangente im Punkt i, also eine Gerade mit der Steigung g i, die die<br />

x-Achse an der Position i schneidet. Diese Tangentengerade wird durch die<br />

lineare Funktion<br />

hi(x) = g i·(x−i) (19)<br />

3 Interessanterweise ist also die Krümmung der Funktion an den Randpunkten des [0,1]-<br />

Intervalls nur vom jeweils gegenüber liegenden Gradientenwert abhängig.<br />

x

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!