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

p 2<br />

y<br />

p 0<br />

p 6<br />

p 4<br />

D<br />

z<br />

Abbildung 13: Lexikographische Ordnung der Eckpunkte des Einheitswürfels<br />

in 3D: p 0 = p 000, p 1 = p 100, p 2 = p 010, ..., p 7 = p 111.<br />

Die Funktion interpolate(x,w,k) interpoliert die 2 N−k Werte in w für die<br />

Dimension k <strong>und</strong> liefert einen neuen Vektor mit der halben Länge von w.<br />

Dabei wird angenommen, dass die Werte in w nach ansteigender Dimension<br />

„lexikographisch“ sortiert angeordnet sind, also<br />

w (N−k) = (w0,w1,...wi,wi+1,...w 2 N −k−1)<br />

(siehe Abb. 13). Beispielsweise ergeben sich im dreidimensionalen Fall (N =<br />

3), mit den ursprünglichen 2 3 = 8 Vektorelementen wj = wxyz (0 ≤ j < 8),<br />

die nachstehende Interpolationsfolge <strong>und</strong> Zwischenergebnisse:<br />

p 1<br />

p 3<br />

w (3) = (w0,w1,w2,w3,w4,w5,w6,w7)<br />

= (w000,w100,w010,w110<br />

,w001,w101,w011,w111<br />

<br />

↓<br />

w00<br />

<br />

↓<br />

w10<br />

w (2) = (w00,w10,w01,w11<br />

<br />

↓<br />

w0<br />

w (1) = (w0,w1)<br />

<br />

↓<br />

w<br />

<br />

↓<br />

w1<br />

)<br />

x<br />

p 7<br />

p 5<br />

<br />

↓<br />

w01<br />

<br />

↓<br />

Im ersten Interpolationsschritt wird also nach der x-Koordinate (über 4 Wertepaare),<br />

im zweiten nach der y-Koordinate (über 2 Wertepaare) <strong>und</strong> abschließend<br />

nach der z-Koordinate (über 1 Wertepaar) interpoliert, mit dem<br />

Endergebnis w. Die lexiographische Anordnung gewährleistet, dass die zusammengehörenden<br />

Wertepaare innerhalb des Vektors immer nacheinander<br />

angeordnet sind. Für zwei aufeinanderfolgende Ergebnisvektoren w (N−k) ,<br />

w11<br />

)

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!