Perlin Noise und Lindenmayer Systeme

Slides:



Advertisements
Ähnliche Präsentationen
8. Termin Teil B: Wiederholung Begriffe Baum
Advertisements

Hier einige Hieroglyphen:
Vorlesung Compilertechnik Sommersemester 2008
Eine dynamische Menge, die diese Operationen unterstützt,
Das duale Zahlensystem
Frame-Logik Eine Einführung Andreas Glausch.
7. Natürliche Binärbäume
R. Der - Vorlesung Algorithmen und Datenstrukturen (Magister)
8. Formale Sprachen und Grammatiken
Kapitel 4 Datenstrukturen
Runde Fraktale Präsentation eines MatLab-Programms von Nele Fröse
FH-Hof Grammatiken Richard Göbel. FH-Hof Begriffe Eine Grammatik definiert die Struktur (Syntax) einer Zeichenkette Eine Grammatik definiert nicht die.
Formale Sprachen – Mächtigkeit von Maschinenmodellen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (17 –Turingmaschinen) Prof. Dr. Th. Ottmann.
Kapitel 5 Stetigkeit.
Kapitel 6 Differenzierbarkeit. Kapitel 6: Differenzierbarkeit © Beutelspacher Juni 2005 Seite 2 Inhalt 6.1 Die Definition 6.2 Die Eigenschaften 6.3 Extremwerte.
Prof. Dr. rer.nat. Ralph Großmann Fakultät Informatik / Mathematik Sommersemester 2012 Internet-Technologien XML-basierte Techniken Teil Metasprache der.
Beispiele für Ausdrucksalgebren
Grammatik als Deduktionssystem
V. Algebra und Geometrie
Interpretation und Isomorphie Bedeutung und Form in der Mathematik.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Vorwoche Programm besteht aus mehreren Bestandteilen: Schlüsselwörter Sonderzeichen Bezeichner Kommentare Texte.
Struktur und Funktion von Biopolymeren Elmar Lang
MAKE SOME NOISE … von Perlin Noise zu Wavelet Noise
(Ron Rivest, Adi Shamit, Leonard Adleman , 1977)
Zahlen mit Zahlen ausmessen
5.6. Mathematik im Hellenismus
Special Effects Realistischeres Rendern einer Scene.
Konfidenzintervalle Intervallschätzung
Struktur-Funktions-Modelle von Pflanzen - Sommersemester Winfried Kurth Universität Göttingen, Lehrstuhl Computergrafik und Ökologische Informatik.
Modellierung von Baumstrukturen mit einem einzigen Polygonnetz
Struktur-Funktions-Modelle von Pflanzen - Sommersemester Winfried Kurth Universität Göttingen, Lehrstuhl Computergrafik und Ökologische Informatik.
Folie 1 Kapitel II. Vom Raumbegriff zu algebraischen Strukturen Neubeginn: Herleitung des Begriffs Vektorraum aus intuitiven Vorstellungen über den Raumbegriff.
§8 Gruppen und Körper (8.1) Definition: Eine Gruppe G ist eine Menge zusammen mit einer Verknüpfung, die jedem Paar (a,b) von Elementen aus G ein weiteres.
Wie macht man ein Sudoku? Transformations-Methode:
§10 Vektorraum. Definition und Beispiele
1. Mengenlehre Grundbegriffe.
§24 Affine Koordinatensysteme
Endliche Automaten Informatik JgSt. 13, Abitur 2009
6. Lange Nacht der Mathematik
1. Mengenlehre Grundbegriffe.
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
§3 Allgemeine lineare Gleichungssysteme
Verhalten von Objekten in der Szene
Lindenmayer-Systeme: Fraktale rekursiv zeichnen
Formale Sprachen Grammatiken und die Chomsky-Hierarchie
Baum-Simulation mit Lindenmayer-System
Atommodelle.
Fraktale und iterierte Funktionensysteme
POCKET TEACHER Mathematik Algebra
Noam CHOMSKY, Sheila GREIBACH
Noam CHOMSKY, Sheila GREIBACH
ENDLICHE KÖRPER RSA – VERFAHREN.
Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 3: Potenzreihen und kontextfreie Sprachen (Vgl. Buch von A. Salomaa)
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Scaffold 29S: Komplexe Zahlen
Informatik Formale Sprachen 1.2 Grammatiken formaler Sprachen
Vom graphischen Differenzieren
Der Hund jagt die Katze. Theoretische Informatik Satz S P O
7. Formale Sprachen und Grammatiken
Kapitel 4:Die Chomsky Hierarchie
Der A*-Algorithmus.
Beugung an Streuzentren
Lineare Gleichungen Allgemeine Einführung Äquivalenzumformungen
Struktur-Funktions-Modelle von Pflanzen - Sommersemester Winfried Kurth Universität Göttingen, Lehrstuhl Computergrafik und Ökologische Informatik.
Binärbäume.
„Inside CAS“ Teil I: Polynome faktorisieren Teil II: Automatisches Beweisen Heinz Klemenz, KZO Wetzikon,
Lineare Optimierung Nakkiye Günay, Jennifer Kalywas & Corina Unger Jetzt erkläre ich euch die einzelnen Schritte und gebe Tipps!
Struktur-Funktions-Modelle von Pflanzen
 Präsentation transkript:

Perlin Noise und Lindenmayer Systeme CG-Seminar Vortrag WS 04/05 von Sebastian Limbach

Perlin Noise & Lindenmayer Systeme Übersicht Perlin Noise & Lindenmayer Systeme Übersicht Teil 1 – Die Perlin Noise Funktion Teil 2 – Lindenmayer Systeme

Perlin Noise & Lindenmayer Systeme Die Perlin Noise Funktion Perlin Noise & Lindenmayer Systeme Teil 1 – Die Perlin Noise Funktion Übersicht: Ken Perlin, Hintergründe, Motivation Aufbau der Perlin Noise Funktion Verwendungszwecke

Perlin Noise & Lindenmayer Systeme Die Perlin Noise Funktion Perlin Noise & Lindenmayer Systeme Ken Perlin, Hintergründe Ken Perlin ist Professor an der New York University (Department of Computer Science). Er arbeitete unter anderem an dem Film „Tron“ (1981). 1983 erstellte er die erste Version einer dreidimensionalen Noise Funktion für prozedurale Texturen. 1984 entwickelte er die erste Shader-Sprache. 1997 erhielt er einen Academy Award (von der „Academy of Motion Picture Arts and Science“) für die Entwicklung der Perlin Noise Funktion.

Perlin Noise & Lindenmayer Systeme Die Perlin Noise Funktion Perlin Noise & Lindenmayer Systeme Motivation für die Perlin Noise Funktion Eine Vielzahl natürlicher Phänomene weisen eine fraktale Struktur auf. Der Begriff „fraktal“ kommt von lat. fractus: gebrochen; frangere: brechen, in Stücke zerbrechen. Silhouette einer Bergkette Wellen auf einer Wasseroberfläche Muster im Marmor Wind …

Perlin Noise & Lindenmayer Systeme Die Perlin Noise Funktion Perlin Noise & Lindenmayer Systeme Motivation für die Perlin Noise Funktion Um diese Phänomene in der Computergrafik nachzubilden ist eine Funktion mit fraktalen Eigenschaften hilfreich. -> Perlin Noise Funktion Einige Eigenschaften: basiert auf pseudozufälligen Noise-Funktionen fraktale Struktur durch ähnliche, jedoch unterschiedlich gewichtete und skalierte Grundmuster ähnliche Funktionsparameter führen zu ähnlichem Funktionswert

Perlin Noise & Lindenmayer Systeme Die Perlin Noise Funktion Perlin Noise & Lindenmayer Systeme Aufbau der Perlin Noise Funktion Die Grundlage bildet eine Noise-Funktion. noise: 9 ® [0,1] Jeder ganzen Zahl wird ein Zufallswert zwischen 0 und 1 zugeordnet. Der gleiche Funktionsparameter muss zu einem immer gleichen Funktionswert führen. Mögliche Realisierung: Potenzfunktion mod p (wobei p = große Primzahl)

Perlin Noise & Lindenmayer Systeme Die Perlin Noise Funktion Perlin Noise & Lindenmayer Systeme Beispiel Dies ist die Funktion noise(i) = ( |( i + 685 )5| mod 7919 ) / 7918 .

Perlin Noise & Lindenmayer Systeme Die Perlin Noise Funktion Perlin Noise & Lindenmayer Systeme Interpolation Als nächstes benötigt man eine erweiterte Noise-Funktion noiser, die beliebige reelle Werte annehmen kann. Um diese Funktion zu realisieren, muss zwischen den Werten der Funktion „noise“ interpoliert werden. Einige Interpolationsverfahren: lineare Interpolation Kosinus-Interpolation kubische Interpolation

Perlin Noise & Lindenmayer Systeme Die Perlin Noise Funktion Perlin Noise & Lindenmayer Systeme Lineare Interpolation Der Funktionswert an der Stelle a Î 3 \ 9 zwischen den ganzen Zahlen l = ë x û und r = é x ù mit x = a – l ergibt sich aus der Formel: ( 1 – x ) * noise( l ) + x * noise( r )

Perlin Noise & Lindenmayer Systeme Die Perlin Noise Funktion Perlin Noise & Lindenmayer Systeme Beispiel für lineare Interpolation ( 1 – x ) * noise( l ) + x * noise( r )

Perlin Noise & Lindenmayer Systeme Die Perlin Noise Funktion Perlin Noise & Lindenmayer Systeme Kosinus-Interpolation Der Funktionswert an der Stelle a Î 3 \ 9 zwischen den ganzen Zahlen l = ë a û und r = é a ù mit x = a – l ergibt sich aus der Formel: ( 1 – xc ) * noise( l ) + xc * noise( r ) Dabei ist xc = (1 – cos( x * π )) / 2

Perlin Noise & Lindenmayer Systeme Die Perlin Noise Funktion Perlin Noise & Lindenmayer Systeme Beispiel für Kosinus-Interpolation

Perlin Noise & Lindenmayer Systeme Die Perlin Noise Funktion Perlin Noise & Lindenmayer Systeme Kubische Interpolation Der Funktionswert an der Stelle a Î 3 \ 9 zwischen den ganzen Zahlen l = ë a û und r = é a ù mit x = a – l ergibt sich aus der Formel: p * x3 + q * x2 + r * x + s Wobei: p = (noise(r + 1) – noise(r)) – (noise(l – 1) – noise(l)) q = (noise(l – 1) – noise(l)) – p r = noise(r + 1) – noise(l – 1) s = noise(l)

Perlin Noise & Lindenmayer Systeme Die Perlin Noise Funktion Perlin Noise & Lindenmayer Systeme Beispiel für kubische Interpolation

Perlin Noise & Lindenmayer Systeme Die Perlin Noise Funktion Perlin Noise & Lindenmayer Systeme Wellenlänge, Frequenz und Amplitude Definitionen Die Wellenlänge der noiser Funktion ist der Abstand zwischen zwei Werten der zugrunde liegenden „noise“ Funktion. Die Frequenz der noiser Funktion ist 1 / Wellenlänge. Die Amplitude der noiser Funktion ist die Differenz zwischen dem maximalen und minimalen Funktionswert.

Perlin Noise & Lindenmayer Systeme Die Perlin Noise Funktion Perlin Noise & Lindenmayer Systeme Zusammensetzen der Perlin Noise Funktion Grundlage bildet eine noiser Funktion mit Frequenz und Amplitude von 1. Als nächstes addiert man zur ersten Funktion weitere noiser Funktionen („Oktaven“), deren Frequenz sich jeweils erhöht (i.d.R. verdoppelt) und deren Amplitude sich verringert (i.d.R. halbiert). Jede Oktav benötigt eine eigene Noise Funktion als Grundlage (-> Primzahl variieren). Die Summe der noiser Funktionen ist die Perlin Noise Funktion.

Perlin Noise & Lindenmayer Systeme Die Perlin Noise Funktion Perlin Noise & Lindenmayer Systeme Beispiel Oktave 0, Frequenz = 1, Amplitude = 1

Perlin Noise & Lindenmayer Systeme Die Perlin Noise Funktion Perlin Noise & Lindenmayer Systeme Beispiel Oktave 1, Frequenz = 2, Amplitude = 1/2

Perlin Noise & Lindenmayer Systeme Die Perlin Noise Funktion Perlin Noise & Lindenmayer Systeme Beispiel Oktave 2, Frequenz = 4, Amplitude = 1/4

Perlin Noise & Lindenmayer Systeme Die Perlin Noise Funktion Perlin Noise & Lindenmayer Systeme Beispiel Oktave 3, Frequenz = 8, Amplitude = 1/8

Perlin Noise & Lindenmayer Systeme Die Perlin Noise Funktion Perlin Noise & Lindenmayer Systeme Beispiel Oktave 4, Frequenz = 16, Amplitude = 1/16

Perlin Noise & Lindenmayer Systeme Die Perlin Noise Funktion Perlin Noise & Lindenmayer Systeme Beispiel Perlin Noise Funktion, zusammengesetzt aus 7 Oktaven

Perlin Noise & Lindenmayer Systeme Die Perlin Noise Funktion Perlin Noise & Lindenmayer Systeme Persistence Üblicherweise wird in jeder Oktave die Frequenz verdoppelt und die Amplitude halbiert. Andere Faktoren führen zu unterschiedlichen Perlin Noise Funktionen. Den Faktor, um den sich die Amplitude bei doppelter Frequenz verändert, bezeichnet man als Persistence. (Im Normalfall beträgt die Persistence also ½).

Perlin Noise & Lindenmayer Systeme Die Perlin Noise Funktion Perlin Noise & Lindenmayer Systeme Höhere Dimensionen Die Perlin Noise Funktion lässt sich problemlos auch in zwei, drei oder mehr Dimensionen berechnen. Dazu benötigt man eine zwei-, drei- oder mehr-dimensionale Noise Funktion.

Perlin Noise & Lindenmayer Systeme Die Perlin Noise Funktion Perlin Noise & Lindenmayer Systeme Beispiele + + + + + Oktave 0 Oktave 1 Oktave 2 Oktave 3 Oktave 4 Oktave 5 = 2D-Perlin Noise, zusammengesetzt aus 6 Oktaven

Perlin Noise & Lindenmayer Systeme Die Perlin Noise Funktion Perlin Noise & Lindenmayer Systeme Beispiele 3D-Perlin Noise, zusammengesetzt aus 6 Oktaven Loop: z-Koordinate („Zeit“) wird in jeder Oktave modulo der jeweiligen Frequenz gerechnet

Perlin Noise & Lindenmayer Systeme Die Perlin Noise Funktion Perlin Noise & Lindenmayer Systeme Einsatzmöglichkeiten Prozedurale Texturen / Shader Wolken Wasseroberflächen Feuer Rauch Modelling Landschaftsgenerierung (Displacement Mapping) Pflanzen (L-Systeme) Animation natürliche Bewegungen Partikelsysteme unterschiedliche Animation vieler einzelner Akteure (Menschenmengen, Fischschwärme etc.)

Perlin Noise & Lindenmayer Systeme Die Perlin Noise Funktion Perlin Noise & Lindenmayer Systeme Prozedurale Texturen / Shader Perlin Noise Funktionen mit unterschiedlicher Persistence, mehrere kombinierte Perlin Noise Funktionen und Funktionen, die mit den Perlin Noise Werten weiterrechnen, können eingesetzt werden um unterschiedliche Texturen zu erzeugen. Prozedurale Texturen besitzen unendliche Ausdehnung bei geringem Speicherbedarf. 3D-Texturen beseitigen Probleme beim Mapping. Die Ableitung der Perlin Noise Funktion kann für bestimmte Textureffekte genutzt werden (z.B. für Reflexion von Wasseroberflächen oder Beleuchtung von Wolken).

Perlin Noise & Lindenmayer Systeme Die Perlin Noise Funktion Perlin Noise & Lindenmayer Systeme Beispiel: Wolken ursprüngliche 2D Perlin Noise Funktion Wolkendichte = Perlin Noise Perlin Noise als Teil der Texturfunktion für realistische Wolken Wolkendichte = 1.0 – 0.01(Perlin Noise)

Perlin Noise & Lindenmayer Systeme Die Perlin Noise Funktion Perlin Noise & Lindenmayer Systeme Beispiel: Fischschwarm

Perlin Noise & Lindenmayer Systeme Teil 2 – Lindenmayer Systeme Übersicht: Grundlagen Verschiedene Lindenmayer Systeme Lindenmayer Systeme und die Perlin Noise Funktion

Perlin Noise & Lindenmayer Systeme Grundlagen Lindenmayer Systeme (kurz L-Systeme) wurden erstmals 1968 von Aristid Lindenmayer (ungarischer(?) Biologe, 1925 - 1989) vorgestellt. L-Systeme sind eine mathematische Theorie der Entwicklung von Pflanzen. Sie ähneln formalen Sprachen und Grammatiken ( -> GdI ). Ursprünglich wurden sie zur Beschreibung von einfachen mehrzelligen Organismen genutzt, sie wurden jedoch weiterentwickelt um auch komplexe Pflanzen zu beschreiben. Außer für Computergrafiker sind L-Systeme auch für Biologen und Mathematiker interessant.

Perlin Noise & Lindenmayer Systeme Einfache L-Systeme Die einfachsten L-Systeme sind die D0L-Systeme (deterministische, kontextfreie L-Systeme). L-System ist ein Tripel (V, ω, P), wobei V das Alphabet des L-Systems, ω Î V+ das nicht leere Axiom (Anfangswort) und P eine Menge von Produktionsregeln (a, Χ) bezeichnet. Für die Produktionsregeln gilt: a Î V bezeichnet man als Vorgänger. Χ Î V* bezeichnet man als Nachfolger. Das System ist deterministisch, falls keine zwei Produktionsregeln den gleichen Vorgänger besitzen, sonst nennt man es 0L-System.

Perlin Noise & Lindenmayer Systeme Einfache L-Systeme Ausgehend vom Anfangswort (Axiom) können, den Produktionsregeln entsprechend, neue Wörter abgeleitet werden. In jedem Ableitungschritt werden dabei alle Symbole des aktuellen Wortes gleichzeitig durch die in den Produktionsregeln festgelegten Nachfolger ersetzt. Falls für ein Symbol keine Produktionsregel mit entsprechendem Vorgänger existiert, so wird die Identitätsproduktion a → a (a Î V) angewandt.

Perlin Noise & Lindenmayer Systeme Grafische Interpretation Zur grafischen Darstellung der Wörter wird die so genannte „Schildkröten (Turtle) - Interpretation“ angewandt. Die Turtle beginnt bei einer Startposition mit einer bestimmten Ausrichtung. Einzelne Symbole des Wortes werden benutzt, um die Turtle zu steuern (alle anderen Symbole werden ignoriert): „F“ Die Turtle geht einen Schritt vorwärts und hinterlässt auf dem Weg eine Linie. „f“ Die Turtle geht einen Schritt vorwärts, ohne dass eine Linie gezeichnet wird. „+“ Die Turtle dreht sich nach links. „-“ Die Turtle dreht sich nach rechts. Die Schrittweite d und der Drehwinkel δ der Schildkröte müssen für jedes System festgelegt werden.

Perlin Noise & Lindenmayer Systeme Beispiel: D0L-System mit Turtle-Interpretation Axiom 1. Ableitung 2. Ableitung 3. Ableitung D0L-System „quadratische Kochinsel“: ω: F – F – F – F p: F → F – F + F + FF – F – F + F δ = 90°

Perlin Noise & Lindenmayer Systeme Geklammerte L-Systeme Um verästelte Strukturen zu erzeugen benötigt man spezielle Baum-0L-Systeme, bei denen einzelne, um eine Mittellinie (axis) angeordnete Kanten („Äste“) durch „Unterbäume“ ersetzt werden, die ihrerseits wieder aus einzelnen Ästen bestehen. Um solche Strukturen modellieren zu können verwendet man geklammerte L-Systeme. Diese entsprechen den (D)0L-Systemen, jedoch kommen zwei neue Symbole für die Turtle-Interpretation hinzu: „[“ Die aktuelle Position und Ausrichtung der Turtle wird auf einen Stack gepusht. „]“ Die oberste Position und Ausrichtung der Turtle wird vom Stack gepopt.

Perlin Noise & Lindenmayer Systeme Beispiel: Geklammertes L-System 1. Ableitung 3. Ableitung 5. Ableitung 7. Ableitung L-System: ω: X p: X → F – [[X] + X] + F[+FX] – X F → FF δ = 22,5°

Perlin Noise & Lindenmayer Systeme Dreidimensionale Interpretation Um Pflanzen in drei Dimensionen zu modellieren benötigt man weitere Turtle-Steuerzeichen: „+“, „-“ Die Turtle dreht sich nach links / rechts (wie gehabt). „&“, „^“ Die Turtle kippt nach unten / oben. „\“, „/“ Die Turtle „rollt“ nach links / rechts. „|“ Die Turtle dreht sich um 180°. „{“, „}“ Das Zeichnen eines ausgefüllten Polygons wird begonnen / beendet. „!“ Der Liniendurchmesser wird verkleinert. „ ‘ “ Der Farbindex wird erhöht. Alle Drehungen beziehen sich hierbei auf den Drehwinkel δ.

Perlin Noise & Lindenmayer Systeme Beispiel Bild: „Three-dimensional bush“ P. Prusinkiewicz (1986) 7. Ableitung L-System: δ = 22,5° ω: A p: A → [&FL!A]/////‘[&FL!A]///////‘[&FL!A] F → S ///// F S → F L L → [‘‘‘^^{-f+f+f-|-f+f+f}]

Perlin Noise & Lindenmayer Systeme Stochastische L-Systeme Möchte man mehrere Pflanzen der gleichen Art visualisieren (Wald, Blumenwiese), dann müssen sich die einzelnen Pflanzen voneinander unterscheiden. Verschiedene Pflanzen desselben Typs lassen sich über stochastische L-Systeme realisieren. Jeder Produktionsregel wird eine bestimmte Wahrscheinlichkeit p zugeordnet. Die Summe aller Wahrscheinlichkeiten von Produktionen mit gleichem Vorgänger muss 1 betragen. Per Zufall wird bei der Ableitung zwischen den möglichen Produktionen gewählt. Mit Hilfe einer Perlin Noise Funktion ließe sich beispielsweise erreichen, dass auf einer Wiese ähnliche Pflanzen auch nahe zusammen stehen.

Perlin Noise & Lindenmayer Systeme Kontextsensitive L-Systeme Um eine Signalweitergabe zwischen einzelnen Pflanzenteilen simulieren zu können benötigt man kontextsensitive L-Systeme. Neue Produktionsregeln: al < a > ar → Χ al Î V ist der linke Kontext, ar Î V ist der rechte Kontext. (2L-System) (k, l)-System: linker Kontext ist Wort der Länge k, rechter Kontext ist Wort der Länge l. al < a → Χ bzw. a > ar → Χ sind Produktionsregeln eines 1L-Systems. Zur Vereinfachung kann man zulassen, dass in 1L-Systemen al und ar Wörter beliebiger Länge seien dürfen.

Perlin Noise & Lindenmayer Systeme Parametrische L-Systeme Die bisherigen L-Systeme haben einige Nachteile. Beispielsweise ist die Länge einzelner Segmente auf Vielfache ganzer Zahlen begrenzt. Um wirklich realistische Pflanzen modellieren zu können benötigt man parametrische L-Systeme. Jedem Buchstaben aus dem Alphabet können endlich viele Parameter zugeordnet werden. In jedem gültigen Wort sind alle Parameter mit reellen Zahlen belegt. Die Produktionsregeln können um logische Ausdrücke ergänzt werden und werden nur angewandt, wenn der logische Ausdruck wahr wird. Der Nachfolger kann mit Hilfe von arithmetischen Ausdrücken neue Parameter berechnen.

Perlin Noise & Lindenmayer Systeme Beispiel eines parametrischen L-Systems ω: B(2)A(4,4) p: A(x,y) : y <= 3 → A(x*2, x+y) A(x,y) : y > 3 → B(x)A(x/y, 0) B(x) : x < 1 → C B(x) : x >= 1 → B(x-1) Ableitung: B(2)A(4,4) Þ B(1)B(4)A(1,0) Þ B(0)B(3)A(2,1) Þ CB(2)A(4,3) Þ CB(1)A(8,7) Þ ...

Perlin Noise & Lindenmayer Systeme Beispiel eines parametrischen L-Systems Bild: P. Prusinkiewicz ω: !(1)F(200)/(45)A p: A : * → !(vr)F(50)[&(a)F(50)A]/(d1)[&(a)F(50)A] /(d2)[&(a)F(50)A] F(l) : * → F(l*lr) !(w) : * → !(w*vr) Parameter für Bild: d1=180,00; d2=252,00; a=36.00; lr=1,070 T = (-0,61;0,77;-0,19) Die Ausrichtung der Turtle wird nach dem Zeichnen jedes Segmentes etwas in Richtung T geneigt („Tropismus“).

Perlin Noise & Lindenmayer Systeme Beispiel eines parametrischen L-Systems Bild: „Medicine lake“ F. K. Musgrave, C. E. Kolb, P. Prusinkiewicz, B. B. Mandelbrot (1988)

Perlin Noise & Lindenmayer Systeme Lindenmayer Systeme & Perlin Noise Die Perlin Noise Funktion kann dazu verwendet werden, um in stochastischen L-Systemen Produktionsregeln auszuwählen, die aktuelle Farbe oder Liniendicke in einem L-System zu variieren, einzelne Parameter in parametrischen L-Systemen zu variieren, den „Biegevektor“ zu variieren, aus mehreren L-Systemen bei der „Bepflanzung“ einer Landschaft auszuwählen, Wind, der beispielsweise über eine Wiese weht, zu simulieren, …

Perlin Noise & Lindenmayer Systeme Vielen Dank für Ihre Aufmerksamkeit!

Perlin Noise & Lindenmayer Systeme Die Perlin Noise Funktion Perlin Noise & Lindenmayer Systeme Beispiel: Wolken Wolken als kachelbare Textur für Echtzeit-3D-Grafik