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> 8<br />

noise(x)<br />

1<br />

1<br />

1 2 3<br />

Abbildung 6: Anwendung der modifizierten <strong>Perlin</strong>-Interpolationsfunktion<br />

[9] nach Gl. 29 für die ersten vier Gradientenwerte aus Abb. 1.<br />

terpolationsfunktion (Gl. 17) modifiziert zu<br />

F5(˙x,g0,g1) = h0(˙x)+ 10˙x 3 −15˙x 4 +6˙x 5 · h1(˙x)−h0(˙x) <br />

= g0 · ˙x+ 10˙x 3 −15˙x 4 +6˙x 5 · g1 ·(˙x−1)−g0 · ˙x <br />

= (−6g0 +6g1)· ˙x 6 +(15g0 −21g1)· ˙x 5<br />

+(−10g0 +25g1)· ˙x 4 +(−10g1)˙x 3 +g0 · ˙x (29)<br />

für0 ≤ ˙x ≤ 1, <strong>und</strong> somit ein Polynom sechsten Grades (in ˙x). Die Funktion in<br />

Gl. 29 erfüllt nicht nur die vier Bedingungen in Gl. 5, sondern hat zusätzlich<br />

an den Endstellen auch die Eigenschaft<br />

F ′′<br />

5(0,g0,g1) = F ′′<br />

5(1,g0,g1) = 0, (30)<br />

für beliebige g0,g1. 7 Damit ist die Krümmung der Funktion an beiden Enden<br />

des [0,1]-Intervalls null <strong>und</strong> es ergeben sich C2-kontinuierliche Übergänge<br />

zwischen benachbarten Segmenten (das Ergebnis der ursprüngliche <strong>Perlin</strong>-<br />

Interpolation in Gl. 17 ist hingegen nur C1-kontinuierlich).<br />

2.1.7 Zusammenfassung<br />

Gegeben ist eine diskrete Folge von zufällig gewählten aber fixen, im Intervall<br />

[−1,1] gleichverteilten Gradientenwerten g i, mit i ∈ Z. Die Werte der<br />

zugehörigen eindimensionalen <strong>Perlin</strong>-Funktion noise(x) an einer beliebigen<br />

Position x ∈ R erhält man durch stückweise Interpolation mit der lokalen<br />

Interpolationsfunktion F(˙x,g0,g1) in der Form<br />

noise(x) = F(x−p,g p,g p+1), (31)<br />

7 F ′′<br />

5 (˙x,...) bezeichnet die zweite Ableitung von F5 an der Stelle ˙x.<br />

x

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!