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

dessen Elemente gradk(p) die partiellen Ableitungen der kontinuierlichen<br />

Rauschfunktion noise(p) in der Richtung xk am N-dimensionalen Punkt p<br />

spezifizieren, d. h.,<br />

gradk(p) = ∂noise(p)<br />

. (64)<br />

∂xk<br />

Jeder Gradientenvektor gp definiert wiederum eine lineare Tangentenfunktion<br />

hp(x) : RN → R, mit<br />

hp(x) = g T p · x−p =<br />

N−1 <br />

k=0<br />

grad k(p)·(xk −pk). (65)<br />

Die Tangentenfunktion hp(x) liefert einen skalaren, reelen Wert für jeden<br />

Punktx ∈ R N . Sie bildet eine Tangential-Hyperebene imN+1-dimensionalen<br />

Raum. 11 Der Wert der Funktion ist für den zugehörigen Gitterpunkt p selbst<br />

null, d. h.,<br />

hp(p) = g T p · p−p = g T p ·0 = 0,<br />

zumal ja die Gitterpunkte als Nullstellen der kontinuierliche Rauschfunktion<br />

vorgegeben sind.<br />

Wie im ein- <strong>und</strong> zweidimensionalen Fall ergibt sich die kontinuierliche<br />

Rauschfunktionnoise(x) – für kontinuierliche Koordinatenx ∈ RN – auch im<br />

N-dimensionalen Fall durch Interpolation zwischen den zu den umliegenden<br />

Gitterpunkten pj gehörigen Tangentialfunktionen hp (x). j<br />

Wurden in 1D jeweils zwei <strong>und</strong> in 2D jeweils vier Nachbarpunkte (bzw.<br />

deren Gradienten) berücksichtigt, so sind im dreidimensionalen Fall die 23 =<br />

8 Eckpunkte des x umgebenden Würfels in die Interpolation einzubeziehen.<br />

Im allgemeinen, N-dimensionalen Fall sind jeweils 2N umliegenden Gitterpunkte<br />

p0,p1,...p 2N−1 zu berücksichtigen. Diese Gitterpunkte bilden einen<br />

N-dimensionalen Einheits-Hyperwürfel (Hypercube) um die kontinuierliche<br />

Koordinate x. Ausgehend vom kanonischen Eckpunkt<br />

⎛ ⎞<br />

⌊x0⌋<br />

⎜ ⌊x1⌋ ⎟<br />

p0 = ⎜ ⎟,<br />

(66)<br />

⎝ . ⎠<br />

⌊xN−1⌋<br />

können die Koordinaten aller 2 N Eckpunkte p j dieses Hyperwürfels in der<br />

Form<br />

p j = p 0 +q j<br />

(67)<br />

generiert werden. Die Koordinaten q j stehen für die Eckpunkte des Ndimensionalen<br />

Einheitswürfels, der am Koordinatenursprung verankert ist.<br />

11 Im eindimensionalen Fall ist dies eine 2D-Gerade; im Fall einer zweidimensionalen<br />

Funktion ergibt sich eine Tangentialebene in 3D. Siehe auch Abschnitt 4.2.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!