Gradientenbasierte Rauschfunktionen und Perlin Noise - Campus ...
Gradientenbasierte Rauschfunktionen und Perlin Noise - Campus ...
Gradientenbasierte Rauschfunktionen und Perlin Noise - Campus ...
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> 3<br />
F ′ (x,gp,gp+1) bezeichnet dabei die erste Ableitung der Funktion f in Bezug<br />
auf deren Parameter x, d. h.<br />
F ′ (x,gp,gp+1) = ∂F(x,gp,gp+1)<br />
∂x<br />
2.1.2 Interpolation im [0,1]-Intervall<br />
. (6)<br />
Da an jeder Stelle der Rauschfunktion das Interpolationsergebnis nur von<br />
den benachbarten Rasterpunkten abhängig ist, muss für gegebene Randwerte<br />
ga,gb zwischen jedem beliebigen Paar von benachbarten Rasterpunkten<br />
dasselbe Ergebnis entstehen, d. h.,<br />
F(x,ga,gb) = F(x+i,ga,gb), (7)<br />
für beliebige i ∈ Z. Insbesondere gilt natürlich auch<br />
F(x,ga,gb) = F(x−⌊x⌋,ga,gb), (8)<br />
mit (x−⌊x⌋) ∈ [0,1]. Wir können daher die Interpolation ohne Einschränkung<br />
der Allgemeinheit auf das Einheitsintervall [0,1] beschränken <strong>und</strong> ersetzen<br />
dazu<br />
F(˙x,g0,g1) = F(x−p,gp,gp+1), (9)<br />
mit p = ⌊x⌋, ˙x = x−p, g0 = gp <strong>und</strong> g1 = gp+1. Da ˙x ∈ [0,1], interessiert uns<br />
die Funktion f im Folgenden nur für Argumente im Intervall [0,1]. 2<br />
2.1.3 Interpolation mit einer Polynomfunktion<br />
Wenn wir – naheliegenderweise – als Interpolationsfunktion F(˙x,g0,g1) eine<br />
Polynomfunktion verwenden, so benötigen wir dafür mindestens ein Polynom<br />
dritten Grades, also eine Funktion der Form<br />
F3(˙x,g0,g1) = a3 · ˙x 3 +a2 · ˙x 2 +a1 · ˙x+a0<br />
(10)<br />
mit den (noch zu bestimmenden) Koeffizienten a0,a1,a2,a3 ∈ R. In diesem<br />
Fall ist die erste Ableitung (der Gradient) der Funktion<br />
F ′ 3(˙x,g0,g1) = 3a3 · ˙x 2 +2a2 · ˙x+a1<br />
<strong>und</strong> die zugehörige Lösung unter den Bedingungen in (5) ist<br />
(11)<br />
a3 = g0 +g1, a2 = −2g0 −g1, a1 = g0, a0 = 0, (12)<br />
2 Zur Klarheit wird nachfolgend die Variable ˙x anstelle vonxverwendet, um anzuzeigen,<br />
dass ˙x im Intervall [0,1] liegt.