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

6 Zusammenfassung<br />

Dieser Bericht ist als Einführung <strong>und</strong> Tutorial gedacht, vorwiegend um das<br />

Verständnis <strong>und</strong> die Implementierung von Gradientenrauschen nach der Methode<br />

von Ken <strong>Perlin</strong> zu erleichtern. Die allermeisten der hier gezeigten Zusammenhänge<br />

sind entweder in den zitierten Quellen zu finden oder können<br />

relativ einfach selbst hergeleitet werden, sofern dazu ausreichend Zeit <strong>und</strong><br />

Bereitschaft vorliegt.<br />

Hier nicht berücksichtigt ist der Umstand, das <strong>Perlin</strong> [9] zur Verbesserung<br />

der Orientierungsunabhängikeit beim 3D-Verfahren die Gradienten nicht an<br />

den 8 Eckpunkten des Würfels, sondern an den Mittelpunkten der 12 Kanten<br />

definiert. Die Interpolation der Tangentenwerte erfolgt in der selben Form<br />

wie hier beschrieben. Ausführlichere Hinweise <strong>und</strong> eine Implementierung dazu<br />

findet man in [5]. Ebenfalls nicht berücksichtigt ist „Simplex <strong>Noise</strong>“, die<br />

neuere <strong>und</strong> – in höherdimensionalen Räumen wesentlich effizientere – Variante<br />

von <strong>Perlin</strong>’s Rauschverfahren. Auch dazu ist allerdings kaum publiziertes<br />

Originalmaterial auffindbar, man findet aber wiederum in [5] weiterführende<br />

Informationen <strong>und</strong> einen konkreten Implementierungsvorschlag. Weitere interessante<br />

Online-Quellen zu diesem Thema sind die Seiten von Hugo Elias, 25<br />

Mandelbrot Dazibao 26 <strong>und</strong> Matt Zucker. 27<br />

Eine prototypische Java-Implementierung der hier beschriebenen Algorithmen<br />

(für ImageJ 28 ) findet sich auf der Homepage des Autors (s. Titelseite).<br />

Bei dieser Implementierung wurde allerdings vorrangig Wert auf<br />

gute Lesbarkeit <strong>und</strong> Klarheit gelegt, um die Algorithmen durch Abbildung<br />

in eine konkreten Programmiersprache zu verdeutlichen. Entsprechend zahlreich<br />

sind daher auch die Möglichkeiten zur Erhöhung der Effizienz. Darüber<br />

hinaus sind natürlich Fragen oder Anregungen zu diesem Text immer willkommen.<br />

Literatur<br />

[1] Bourke, Paul: <strong>Perlin</strong> noise and turbulence. Technischer Bericht, University<br />

of Western Australia, January 2000. http://local.wasp.uwa.edu.au/<br />

~pbourke/texture_colour/perlin/.<br />

[2] Burger, Wilhelm <strong>und</strong> Mark J. Burge: Digitale Bildverarbeitung. Springer,<br />

2. Auflage, 2006. www.imagingbook.com.<br />

[3] Burger, Wilhelm <strong>und</strong> Mark J. Burge: Digital Image Processing—An<br />

Algorithmic Introduction using Java. Springer, New York, 2008. www.<br />

imagingbook.com.<br />

25 http://freespace.virgin.net/hugo.elias/models/m_perlin.htm<br />

26 http://www.mandelbrot-dazibao.com<br />

27 http://www.cs.cmu.edu/~mzucker/code/perlin-noise-math-faq.html<br />

28 http://rsb.info.nih.gov/ij/

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!