Gradientenbasierte Rauschfunktionen und Perlin Noise - Campus ...
Gradientenbasierte Rauschfunktionen und Perlin Noise - Campus ...
Gradientenbasierte Rauschfunktionen und Perlin Noise - Campus ...
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.