Modellierung von Pflanzen - Oliver Deussen Pflanzenmodellierung
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Computergraphik II zwei unterschiedliche Herangehensweisen: 1. Prozedurale Methoden (Algorithmen) intuitiv, einfache Parameter, Speziallösung für einzelne Pflanzen 2. Regelbasierte Systeme (formale Grammatiken) lokale Regeln, schwierig aufzubauen, generell einsetzbar → Verbindung beider Paradigmen durch regelbasierte Objekterzeugung → Versuch, Stärken beider Ansätze zu verbinden → andere Unterteilungen möglich Oliver Deussen Pflanzenmodellierung 2
Computergraphik II Verzweigungsmuster aus zellulären Automaten → Ulam 1966: zelluläre Automaten (v. Neumann) für Verzweigungen → Zellen werden nach bestimmten Regeln angeschaltet 5 5 4 3 4 4 5 3 4 3 3 4 2 3 4 5 5 4 4 5 3 2 1 2 5 4 3 5 4 5 3 4 2 3 4 3 4 4 3 4 5 3 5 4 5 Verzweigungsmuster nach Ulam Oliver Deussen Pflanzenmodellierung 3
Computergraphik II Erstes kontiunierliches Modell → 1967, Biologe E. Cohen: Erzeugung von Verzweigungsstrukturen → für jedes Verzweigungsmuster Fortran-Programm mit Wachstums- regeln Verzweigungsstrukturen nach Cohen Oliver Deussen Pflanzenmodellierung 4
Computergraphik II Beschreibung des Modells: • Wachstum findet nur an den Spitzen der Äste statt • Stärke und Winkel des Wuchses werden durch die aktuelle Richtung, ein lokales Dichtefeld, dessen Gradienten sowie die Resistenz der Struktur gegen Winkelveränderungen bestimmt. • Die Verzweigungstendenz wird durch ein probabilistisches Maß be- stimmt, das neben einem generellen Wert von der Entfernung zur letzten Verzweigung und vom lokalen Dichtefeld abhängt. Oliver Deussen Pflanzenmodellierung 5
Computergraphik II Verfahren von Honda und Fischer → weiteres prozedurales Modell • Die Internodien sind gerade, ihre Dicke wird nicht beachtet • Verzweigung geschieht binär, die Länge der verzweigenden Segmente (Kindsegmente) ist über zwei Verhältniswerte r1 und r2 auf die Länge des Vatersegments bezogen. • Vatersegment und die beiden Kindsegmente liegen in einer Ebene (Aus- nahme Abzweigungen vom Hauptstamm, hier ist Divergenz zugelassen), die Kindsegmente haben einen konstanten Verzweigungswinkel. • Die Verzweigung nimmt in diskreten Schritten mit jeder Verzweigungs- ordnung zu. Oliver Deussen Pflanzenmodellierung 6
Computergraphik II ⇒ es wird untersucht, wie Regulationsmechanismen die Verzweigung steuern, d.h. keine Überlappung zwischen Ästen → betrachteten Modelle sind zweidimansional und es werden zwei Arten von Regelungen untersucht: 1. Verzweigung wird nur ausgeführt, wenn in einem um den Verzweigungs- punkt gezogenen Kreis keine anderen Äste hineinragen → Kreis hat konstante Größe Verzweigungsbildung nach Honda Oliver Deussen Pflanzenmodellierung 7
Computergraphik II 2. wie ändert sich Verzweigungcharakteristik ändert, Nachfolgeäste un- terschiedliche Wachstumsraten erhalten Verzweigunsbildung nach Honda Oliver Deussen Pflanzenmodellierung 8
Computergraphik II Erweiterte Vielfalt → effiziente Modellierung von Verzweigungstrukturen → welche Vielfalt kann damit erzeugt werden → aufbauend auf Grundverfahren von Aono und Kunii: 1. Verzweigung geschieht durch Bifurkation, die damit modellierten Bäu- me haben monopodiale oder sympodiale Form. 2. Länge und Durchmesser der verzweigenden Äste nehmen mit konstan- tem Faktor ab, die Verzweigungswinkel bleiben konstant über alle Ver- zweigungsstufen. 3. Die beiden verzweigenden Äste liegen in der Ebene, die durch den Vater und seinen maximalen Gradienten aufgespannt wird. 4. Die Verzweigung geschieht simultan an allen Enden der Zweige. Oliver Deussen Pflanzenmodellierung 9
Computergraphik II (a) (b) a) Parametrisierung von Ästen; b) Divergenzwinkel. Parameter im Modell nach Aono und Kunii → Koordinaten von P1 und P2 ergeben sich über die Winkelfunktionen xi = xB + Ri ∗ (u ∗ cos(hi) − S ∗ T ∗ v ∗ sin(hi)) yi = yB + Ri ∗ (v ∗ cos(hi) + S ∗ T ∗ u ∗ sin(hi)) zi = zB + Ri ∗ w ∗ cos(hi) Oliver Deussen Pflanzenmodellierung 10
Computergraphik II → mit den folgenden Parametern (Ri konstanter Reduktionsfaktor für den Radius): u = xB − xA, v = yB − yA , w = zB − zA p S = 1/ u2 + v 2 p T = u2 + v 2 + w 2 ⇒ später Ansätze verwenden meistens Elemente dieses Verzweigungmodells → Nachteile: → Blätter werden aber nur rudimentär angedeutet → Geomatrie von Stamm und Ästen ist nur durch Liniensegmenten unterschiedlicher Dicke dargestellt Oliver Deussen Pflanzenmodellierung 11
Computergraphik II Ergebnisse: Verzweigungsstrukturen nach Aono und Kunii Oliver Deussen Pflanzenmodellierung 12
Computergraphik II Darstellung von Bäumen über Partikelsysteme → visuelle Modelle, für Film → primitives rekursives Verzweigungmodell Postprocessing: Zufälligkeiten werden eingebaut Blätter: kleine Kugel mit Farbe und Ausrichtung → wichtig: korrekte Farben sowie Licht/Schatten → Ergebnis trotz botanischer Inkorrektheit brauchbar Oliver Deussen Pflanzenmodellierung 13
Computergraphik II Ergebnisbilder: Strukturierte Partikelsysteme nach Reeves und Blau Oliver Deussen Pflanzenmodellierung 14
Computergraphik II Fraktale Baummodelle nach Oppenheimer → inspiriert durch Arbeiten von Mandelbrot → rekursive Prozedur zur Erzeugung von Selbstähnlichkeit ⇒ Verwendete Parameter sind: → Verzweigungswinkel → Verhältnis der Größe von Vater- und Kindzweigen → Grad der Verjüngung entlang Stamm und Ästen → Anzahl Zweige pro Stamm-Segment → Deviationswinkel Oliver Deussen Pflanzenmodellierung 15
Computergraphik II Ergebnisbild: Fraktales Baummodell nach Oppenheimer Oliver Deussen Pflanzenmodellierung 16
Computergraphik II Algorithmus nach Oppenheimer: procedure fractaltree() begin Zeichne aktuelles Astsegment if (klein genug) then Zeichne Blatt else begin Transformiere für aktuellen Ast fractaltree() repeat begin Transformiere für Verzweigung fractaltree() end end end Oliver Deussen Pflanzenmodellierung 17
Computergraphik II → Stamm und Äste: generalisierte Zylinder durch Verbindung von Segmenten → realistisch aussehende Rinde: horizental verlaufende Sägezahnfunktion + Brownsches Rauschen Rinde(x, y) = Sägezahn(N ∗ (x + R ∗ noise(x, y))) noise(x, y): periodisch in x− und y−Richtung verlaufendes Rauschen Oliver Deussen Pflanzenmodellierung 18
Computergraphik II Geometrisches Modellieren in Bäumen (Bloomthal → Kontrollpunkte über rekursiven Algorithmus erzeugt → Punkte werden über Spline-Interpolation C2 stetig verbunden → Oberfläche wird erzeugt, indem senkrecht zum Spline kreisförmige Scheiben angeordnet und verbunden werden → Schwierigkeit: natürliche Verzweigungen → Lösung: sattelförmige Flächen zwischen verzweigenden Strängen → Rinde wird durch Bump- Mapping mit einer aus echter Rinde gewonnenen Textur dargestellt Oliver Deussen Pflanzenmodellierung 19
Computergraphik II Ergebnisgeometrien nach Bloomthal: Prozedurales Modell nach Bloomthal Oliver Deussen Pflanzenmodellierung 20
Computergraphik II Knospung: ein botanischer Ansatz → Simulation des Wachstums der Spossachsen in diskreten Zeitabschnitten von Knoten zu Knoten → entlang eines Sprosses wird so Internodium an Intermodium gesetzt, nach definierter Länge Blätter/Verzweigungen → Spross kann ruhen oder absterben → Knospe trägte Wahrscheinlichkeiten für Zustände in sich: 1. Wahrscheinlichkeit abzusterben 2. Wahrscheinlichkeit einen Zeitabschnitt auszusetzen 3. Wahrscheinlichkeit sich zu verzweigen Oliver Deussen Pflanzenmodellierung 21
Computergraphik II Wachstumsvorgang nach deReffye verwendete Parameter: • Alter des Baums, • Wachstumsgeschwindigkeiten der Äste verschiedener Ordnungen, • Anzahl möglicher Knospen pro Knoten in Abhängigkeit der Ordnung, • Wahrscheinlichkeiten für Absterben, Aussetzen, Verzweigen Oliver Deussen Pflanzenmodellierung 22
Computergraphik II → Der Algorithmus procedure budtree() begin for jedes Zeitsignal do begin for jede noch lebende Knsope do begin if Knospe stirbt nicht und setzt nicht aus then begin generiere Internodium generiere apikales Blatt end for jede in Frage kommende Knospe do begin Oliver Deussen Pflanzenmodellierung 23
Computergraphik II if Knospe verzweigt then bilde Vezweigung end end end end Oliver Deussen Pflanzenmodellierung 24
Computergraphik II Ergebnissgeometrien nach deReffye et al.: Ergebnisse botanisch motivierter Wachstumsmodelle nach deReffye Oliver Deussen Pflanzenmodellierung 25
Computergraphik II Eine Kombinatorische Methode (Vienot et al.) → Strahleranalyse weißt jedem Knoten/jeder Kante eine Zahl zu → Erweiterung zu Biordnung: Zahlenpaar (c, d) pro Knoten ist k die Horton-Strahler-Ordnung des Vaters und i und j die der Söhne, so ist: c = k, d = i wenn j = k und i < k c=d=k−1 sonst (i = j = k − 1) → Biordnung beschreibt Charakteristikum des Knotens im Sinne der Ordnungsverteilung der Söhne Oliver Deussen Pflanzenmodellierung 26
Computergraphik II → für alle Knoten mit Strahler- Zahl wird Wahrscheinlichkeit für bestimmte Biordnung festgelegt → Werte werden in Verzweigungsmatrix P gespeichert: → ak Anzahl Knoten mit Horton-Strahler-Ordnung k k≥2 → bk,i Anzahl Knoten mit Biordnung (k, i) 1≤i
Computergraphik II 0 1 0 0 1 Pperf ekt = 0 0 0 1 .. .. .. .. . . . Matrix für einen perfekt verzweigten binären Baum 1/2 1/2 1/2 1/4 1/4 Pzuf all = 1/2 1/4 1/8 1/8 1/2 1/4 1/8 1/16 1/16 .. .. .. .. .. ... Matrix für zufällige Binärbäume mit n Knoten Oliver Deussen Pflanzenmodellierung 28
Computergraphik II → topologisch selbstähnliche Verzweigungsstrukturen besitzen gleiche Zeilen, die um jeweils eine Spalte nach rechts verschoben sind 1 − 1/p 1/p 0 1 − 1/p 1/p PF arn = 0 0 1 − 1/p 1/p .. .. .. .. . . . Matrix für Farne → zur Herstellung eines Baumes wird aus gegebener dreiecksförmiger (s − 1) × s Verzweigungsmatrix R und gegebenen S ≤ s zufällig ein Binärbaum Tn mit Horton-Strahler Zahl S erzeugt, dessen Verzweigungmatrix ähnlich R ist Oliver Deussen Pflanzenmodellierung 29
Computergraphik II procedure kombitree() begin erzeuge T1 n=1 repeat Wähle terminale Kante aus Tn mit Horton-Strahler-Ordnung k > 1 Verzweige von dieser Kante und gebe den Kindkanten die Ordnungen k und i entsprechend der Wahrscheinlichkeiten für die Biordnung der Kanten dieser Ordnung in der Verzweigungsmatrix Tn+1 = Tn until alle terminalen Kanten von Tn+1 haben Horton-Strahler-Ordnung k = 1 end Oliver Deussen Pflanzenmodellierung 30
Computergraphik II Ergebnisgeometrien nach Vienot et al.: Kombinatorischer Aufbau von Bäumen nach Vienot Oliver Deussen Pflanzenmodellierung 31
Computergraphik II Bäume aus Strängen → Idee: Leonardo da Vinci → Baum wird durch Stränge von der Wurzel bis zu jeweils einem Blatt definiert → in einer Gabelung werden die Stränge aufgeteilt und laufen als Kinder weiter → dabei ist die Summe des Querschnitts des Vaters einer Astgabelung gleich die Summe der Querschnitte der Söhne → Anzahl der Stränge bestimmt Dicke und Länge der Äste, Anzahl der Blätter und den Verzweigungswinkel Oliver Deussen Pflanzenmodellierung 32
Computergraphik II → gabelt sich ein Ast mit S0 Strängen, wobei das Verhältniss der Strangzahlen mit PG,W in Abhängigkeit von der Gravelius- und Weibull- Ordnungszahl des Astes gegeben ist, so gilt für die Anzahl der Stränge S1, S2 in den Kindern: S1 = 1 + PG,W (S0 − 2) S2 = 1 + (1 − PG,W )(S0 − 2) S0 = S1 + S2 . Modell aus Strängen nach Holton Oliver Deussen Pflanzenmodellierung 33
Computergraphik II √ → Druchmesser der Äste: d i = T Si mit T eine Konstante daraus folgt: d20 = d21 + d22. → Länge der Zweige wird aus den Strängen berechnet, wobei Verhältniss der Wurzelfunktionen der Strangzahlen verwendet wird: S2 a1 = AG,W S0 a2 = AG,W − a1 → charakteristische Längen Li und und aktive im Modell erscheinende Längen li sind vom Benutzer vorgegebene Parameter Oliver Deussen Pflanzenmodellierung 34
Computergraphik II Bäume nach Holton: Beispielbäume nach Holton → Tannen aus jeweils 2500 Strängen Oliver Deussen Pflanzenmodellierung 35
Computergraphik II Aproximatives Modellieren der Pflanzengestelt → Ziel ist es aproximative Lösungen für Bäume im Hintergrund zu finden → Baumprozedur benötigt 50 Parameter, wie Form des Baumes, Größe des untern Teils ohne Äste, Anzahl Verzweigungebenen und Form des Stammfußes (=generelle Parameter) Beispielpflanze nach Weber und Penn Oliver Deussen Pflanzenmodellierung 36
Computergraphik II Wachstum mit Voxeln → Betrachtung von Interaktion von Pflanzen mit ihrer Umgebeung und ihr effiziente Erzeugung → Zerlegung der Szene in Voxel und Spezifizierung der Voxel, in denen die Winde wachsen kann → ein parametrisierbarer probabilistischer Algorithmus läßt die Pflanze von manuelle spezifizierten Saatpunkt aus wachsen → über Suchstrategien werden Internodien in den möglichen Voxeln platziert (dabei Betrachtung des direkt einfallenden Sonnenlichts und diffusen Beleuchtungen Oliver Deussen Pflanzenmodellierung 37
Computergraphik II Voxelpflanzen nach Green: Oliver Deussen Pflanzenmodellierung 38
Computergraphik II Voxelmodell nach Green Oliver Deussen Pflanzenmodellierung 39
Computergraphik II Regelbasierte Modellierung von Planzen → Verwendung einer formalen Regelbasis um einen Anfangszustand in einen Endzstand zu verwandeln → ermöglicht eine äußerst kompakte Beschreibung für komplexe Endzustände → Daten müssen in einem zeitaufwendigen Prozess aus Regelmenge generiert werden → in einem Textersetzungssystem werden Zeichen in einem Text durch andere ersetzt mit Hilfe von Regeln → zur Herstellung der Geometrien werden die Zeichen des Textes graphisch interpretiert Oliver Deussen Pflanzenmodellierung 40
Computergraphik II Ersetzungssysteme klassisches Beispiel: Koch-Kurve → jede Ersetzung geschieht graphisch, d.h. jede Kante wird durch eine Folge von Kanten ersetzt → Ersetzungsvorgang wird durch den Generator realisiert → sukzessive Anwenden des Genarators auf die Kanten des initialen Objektes (Initiator) ergibt eine Komplexe Figur Oliver Deussen Pflanzenmodellierung 41
Computergraphik II mögliche Ersetzungssysteme: • Graphen Kanten oder Knoten werden durch Teilgraphen ersetzt • Felder Werte oder Wertekombinationen in einem Felde werden durch andere Werte ersetzt • Texte Es werden Zeichen in einem Text ersetzt Oliver Deussen Pflanzenmodellierung 42
Computergraphik II Lindenmayer- Systeme → Lindenmayer- System (L- System) ist ein Textersetzungssystem → gegeben durch eine formale Grammatik G = (V, ω, P ) mit: V ...Alphabet ω... ein nichtleeres Wort (Axiom) P ... eine Menge von Produktionen → die Menge V ∗ ist die Menge der Worte über V die Menge V + ist die Menge aller nichtleeren Worte → eine Produktion p ∈ P wird beschrieben durch: φ ::= χ mit φ, χ ∈ V + → in einem kontextfreien L- System (OL-System) hat φ die Länge Eins, d.h. die Regel ist immer anwendbar, wenn a = φ auftaucht Oliver Deussen Pflanzenmodellierung 43
Computergraphik II Kontextsensitive L- Systeme → in einem kontextsensitiven L- System wird die Anwendbarkeit einer Regel vom Umfeld des Buchstabens abhängig gemacht: φ = τ aυ mit τ, υ ∈ V + und a ∈ V → Hat τ die Länge k und υ die Länge l, so nennt man dies ein (k,l)-System Deterministische L- System → in deterministischem L- System (DOL-Systeme) existiert zu einem φ höchstens eine Regel mit φ als linke Seite Oliver Deussen Pflanzenmodellierung 44
Computergraphik II Stochastische L- Systeme → stochastische L- Systeme werden beschrieben durch formale Grammatik: G = (V, ω, P, π) → in Ergänzung zum deterministischem L- System wird der Produktions- Menge P eine Menge von Wahrscheinlichkeiten π : P → (0, 1] zugeordnet Oliver Deussen Pflanzenmodellierung 45
Computergraphik II → in L- Systemen erfolgt die Ersetzung parallel → pro Schritt werden alle möglichen Ersetzungen vorgenommen → daraus entstehen neue Mächtigkeiten in Bezug auf die Chomsky-Sprachen IL-Systeme Endliche Sprachen Reguläre Sprachen (k,l)-Systeme Kontextfreie Sprachen Kontextsensitive Sprachen Aufzählbare Sprachen Mächtigkeit von 0L- Systemen und (kl)-Systemen im Vergleich zu Chomsky-Sprachen Oliver Deussen Pflanzenmodellierung 46
Computergraphik II Ein Beispiel: Alphabet: V = {f, F, +, −} Axiom: w = F − −F − −F Regelmenge: P = {F ::= F + F − −F + F } Entstehende Ableitungsfolge: F − −F − −F F + F − −F + F − −F + F − −F + F − −F + F − −F + F F + F − −F + F + F + F − −F + F − −F + F − −F + F + F + F − −F + F − −F + F − −F + F + F + F − −F + F − −F + F −−F +F +F +F −−F +F −−F +F −−F +F +F +F −−F +F → Text muß im letzen Schritt graphisch interpretiert werden Oliver Deussen Pflanzenmodellierung 47
Computergraphik II Graphische Interpretation → häufig verwendet: Turtle-Metapher (Schildkröte) → hierbei wird eine Turtle über die Zeichenebene oder durch den Raum geschoben → Zustand der Turtle: Vektor (x, y, α) aus Position+Winkel der aktuellen Bewegungsrichtung (plus weiteres) → ist Position und Richtung vorgegeben, so läuft Turtle immer geradeaus bis Richtungsänderung notwendig wird Oliver Deussen Pflanzenmodellierung 48
Computergraphik II → Fahrbefehle für die Turtle: F Bewege Turtle um Länge d in aktueller Richtung, zeichne eine Linie: (x, y, α) → (x + d cos δ, y + d sin δ, α) f Bewege Turtle um Länge d in aktueller Richtung, ohne zu zeichnen: (x, y, α) → (x + d cos δ, y + d sin δ, α) + Erhöhe aktuellen Winkel um δ: (x, y, α) → (x, y, α + δ) - Erniedrige aktuellen Winkel um δ: (x, y, α) → (x, y, α + δ) → was kommt bei Beispiel heraus (Winkel: 30◦) Oliver Deussen Pflanzenmodellierung 49
Computergraphik II Raumfüllende Kurven → weitere Kurven erhält man, wenn zwei zusätliche Zeichen L und R dem Alphabet hinzugefügt werden → sie signalisieren den Zustande eines Kurvenstückes und werden bei der Expansion getrennt behandelt → für Fahranweisung spielen sie jedoch keine Rolle → man unterscheidet Kanten- und Knotenersetzungen: Oliver Deussen Pflanzenmodellierung 50
Computergraphik II Beispiel für Knotenersetzung: Sei n = 3, δ = 90◦ und w = −L. Mit den Produktionen: L ::= LF + RF R + F L − F − LF LF L − F RF R+ R ::= −LF LF + RF RF R + F + RF − LF L − F R Ergebnis: Oliver Deussen Pflanzenmodellierung 51
Computergraphik II werden die Produktionen auf folgende Weise verändert L ::= LF LF + RF R + F LF L − F RF − LF L − F R + F + RF − LF L − F RF RF R+ R ::= −LF LF LF + RF R + F L − F − LF + RF R + F LF + RF RF − LF L − F RF R, Ergebnis: Oliver Deussen Pflanzenmodellierung 52
Computergraphik II Dreidimensionale Fahrbefehle → allgemeine Rotationen werden durch Rotationen bzgl. der drei Koordinatenachsen beschrieben → Differenzwinkel δ kann nun drei Winkel (α, β, γ) bezüglich der x-,y- und z-Achse verändern → Zustand der Maschine wird über das Tupel (x, y, z, M) beschrieben, mit M als Rotationsmatrix zugehörige Fahrbefehle: F Bewege Turtle um Vektor d~ in aktueller Richtung, zeichne eine Linie: (x, y, z, M) → (x + (Md)~ 1, y + (Md)~ 2, z + (Md)~ 3, M) Oliver Deussen Pflanzenmodellierung 53
Computergraphik II f Bewege Turtle um Länge d in aktueller Richtung, ohne zu zeichnen: (x, y, z, M) → (x + (Md) ~ 1, y + (Md)~ 2, z + (Md)~ 3, M) + Erhöhe aktuellen Winkel γ um δ: (x, y, z, M) → (x, y, z, M · Rγ (δ)) - Erniedrige aktuellen Winkel γ um δ: (x, y, z, M) → (x, y, z, M · Rγ (−δ)) & Erhöhe aktuellen Winkel β um δ: (x, y, z, M) → (x, y, z, M · Rβ (δ)) ∧ Erniedrige aktuellen Winkel β um δ: (x, y, z, M) → (x, y, z, M · Rβ (−δ)) \ Erhöhe aktuellen Winkel α um δ: (x, y, z, M) → (x, y, z, M · Rα(δ)) Oliver Deussen Pflanzenmodellierung 54
Computergraphik II / Erniedrige aktuellen Winkel α um δ: (x, y, z, M) → (x, y, z, M · Rα(−δ)) | Drehe um, hierbei verwende Matrix Rγ (180◦): (x, y, z, M) → (x, y, z, M · Rα(180◦)) Oliver Deussen Pflanzenmodellierung 55
Computergraphik II Verzweigungstrukturen → zur Erzeugung von Verzweigungsstrukturen werden verwendete L- System erneut erweitert → Abarbeitung geschieht als sogenannter Pushdown- Automat Pushdown- Automaten → um bei Auswertung einen Pushdown- Automaten zu implementieren muss mittels eines Stacks der aktuelle Zustand des Systems gespeichert und auch wieder geladen werden können [ Speichere aktuellen Zustand (x, y, z, M) auf Stack Zeichen: ] Lade Zustand (x, y, z, M) vom Stack Oliver Deussen Pflanzenmodellierung 56
Computergraphik II (a) (b) (c) (d) Abbildung n δ w P (a) 5 25,7◦ F { F ::= F[+F]F[-F]F } (b) 4 22,5◦ F { F ::= FF-[-F+F+F]+[+F-F-F] } (c) 7 25,7◦ X { X ::= F[+X][-X]FX, F ::= FF } (d) 5 22,5◦ X { X ::= F[[X]+X]+F[+FX]-X, F ::= FF } Oliver Deussen Pflanzenmodellierung 57
Computergraphik II Dreidimensionales Beispiel: A ::= [&F L!A]/////0[&F L!A]///////0[&F L!A] F ::= S/////F S ::= F L L ::= [000∧ ∧ {−f + f + f − | − f + f + f }] → geschweifte Klammern dienen zur Markierung eines grphischen Pfades in Form einer Folge von Punkten → Punke werden bei Geometrieerzeugung über Triangulierung in eine Fläche umgewandelt → ! und ’ dienen zur Vermiderung des Astdurchmessers und zur Steuerung der Farben Oliver Deussen Pflanzenmodellierung 58
Computergraphik II Ein dreidimensionaler Busch aus Prusinkiewicz, Lindenmayer: The algorithmic beauty of plants Oliver Deussen Pflanzenmodellierung 59
Computergraphik II Stochastische und parametrische Systeme → bisher vorgestellte L- Systeme erzeugen immer dieselben Verzweigungsstrukturen → nun: zufällige Ereignisse in die Strukturen einbauen → Variation von Parametern → zufällige Anwendung der Regeln (mehrer Regeln mit gleicher linker Seite, Auswahlmechanismus) → außerdem: Einführung von Parametern → diese werden während Expansion verändert Oliver Deussen Pflanzenmodellierung 60
Computergraphik II F(w) Bewege Turtle um Vektor d(w) ~ in aktueller Richtung, ~ zeichne eine Linie: (x, y, z, M) → (x + (Md(w)) 1, y + ~ (Md(w)) ~ 2, z + (Md(w))3, M) f(w) Bewege Turtle um Länge d in aktueller Richtung, oh- ~ ne zu zeichnen: (x, y, z, M) → (x + (Md(w)) 1, y + ~ (Md(w)) ~ 2, z + (Md(w))3, M) +(w) Erhöhe aktuellen Winkel γ um a: (x, y, z, M) → (x, y, z, M · Rγ (w)) &(w) Erhöhe aktuellen Winkel β um a: (x, y, z, M) → (x, y, z, M · Rβ (w)) /(w) Erhöhe aktuellen Winkel α um a: (x, y, z, M) → (x, y, z, M · Rα(w)) Oliver Deussen Pflanzenmodellierung 61
Computergraphik II Ein einfaches Beispiel: Binärbaum mit n = 10, δ = 85◦, R = 1.456 und Axiom w = A(1)) Produktion: A(s) ::= F (s)[+A(s/R)][−A(s/R)] Oliver Deussen Pflanzenmodellierung 62
Computergraphik II Weitere Beispiele mit parametrisierten L- Systemen: Oliver Deussen Pflanzenmodellierung 63
Computergraphik II Phyllotaxis → Beschreibung der Anordnung von Blättern und Blütenblättern in Pflanzen → Beispiel: Arangements der Samen der Sonnenblume → mathematische Beschreibung: goldener Schnitt √ ri = c · i αi = i · φ (1) wobei c eine positive Konstante ist und φ genau den Wert von 137.5◦ einnehmen muß. Es gilt ◦ √ 360 5+1 φ = 2 = 137.5077..◦ mit τ= . (2) τ 2 Oliver Deussen Pflanzenmodellierung 64
Computergraphik II 21er Nachbarschaft 9 1 22 30 43 17 35 56 64 51 Divergenz φ 14 77 4 85 38 98 72 48 69 90 111 119 106 59 25 27 132 93 03 124 145 140 12 82 1 153 6 7 11 34er Nachbarschaft 61 46 166 80 161 4 12 7 174 14 6 13 158 40 8 11 179 187 18 φ = 137.7o 10 95 195 13 67 2 16 19 200 1 33 71 5 74 208 9 0 1 2 19 15 9 216 203 12 15 12 3 53 88 21 221 108 2 19 6 54 4 229 5 0 3 18 20 1 16 1 20 6 32 87 234 1 43 22 142 7 22 21 09 23 7 4 8 7 7 197 242 1 121 198 164 21 5 66 176 130 11 9 232 41 23 47 231 155 2 24 210 185 100 96 2 19 5 45 151 189 7 240 244 206 134 62 223 248 9 117 227 172 79 24 168 236 202 24 28 113 1 23 138 24 8 9 214 01 188 246 147 215 3 3 1 3 181 5 58 24 28 1 104 5 49 2 92 22 180 1 238 9 4 3 2 126 23 233 160 2 19 125 0 7 37 0 20 1 7 22 φ = 137.5o 20 1 5 0 71 225 3 46 217 9 5 9 17 67 10 13 91 6 212 3 18 9 16 19 196 11 6 204 2 50 15 175 13 2 15 8 84 57 11 191 3 5 183 4 16 178 2 78 1 162 13 170 99 29 14 12 23 97 63 144 157 149 1 0 44 0 11 136 107 128 65 76 123 86 8 42 115 10 89 102 94 55 73 52 31 21 68 81 34 60 0 47 39 18 13 26 5 φ = 137.2o Oliver Deussen Pflanzenmodellierung 65
Computergraphik II → erstaunlich: Nachbarschaften entsprechen Fibonaccizahlen f = 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 ... a) 8-Nachbarschaft wird zu 144-Nachbarschaft b) Parastichien: 21 rot, 34 grün, 55 blau, 89 magenta, 144 c) Nicht-Fibonacci-Zahlen erzeugen keine reinen Parastichien (22-26) Oliver Deussen Pflanzenmodellierung 66
Computergraphik II Phyllotaxis mit L-Systemen √ Produktion: A(n) ::= +(137.5)[f ( n) ∼ D]A(n + 1) → D ist L-System zur Beschreibung eines kleine Kreises → Kompletter Kopf einer Sonnenblume unter Zuhilfenahme von L-Systemen zur Erzeugung der Form von Samen S, von Blütenständen R und von Blütenblättern M, N, O, P √ A(n) ::= +(137.5)[f ( n)C]A(n + 1) C(n) : n ≤ 440 ::= ∼ S C(n) : 440 < n ≤ 565 ::= ∼ R C(n) : 565 < n ≤ 580 ::= ∼ M C(n) : 580 < n ≤ 595 ::= ∼ N C(n) : 595 < n ≤ 610 ::= ∼ O C(n) : 610 < n ::= ∼ P Oliver Deussen Pflanzenmodellierung 67
Computergraphik II Sonnenblume und Rosen, generiert über parametische L-Systeme aus Prusinkiewicz, Lindenmayer: The algorithmic beauty of plants Oliver Deussen Pflanzenmodellierung 68
Computergraphik II Animation mit L-Systemen → differential L- Systems → L-Systemartige Produktionen beschreiben topologische Änderungen und Differentialgleichungen die kontinuierlichen Prozesse → Produktionen bestehen auf der linken Seite aus: φ = τ aυ mit τ, υ, a ∈ V → diese parametrischen 2L -Systeme besitzen den Parametersatz: φ = τ (wτ )a(w)υ(wυ ) → kontinuierliche Verhalten der a(w) wird durch gewöhnliche Differentilagleichungen beschrieben Oliver Deussen Pflanzenmodellierung 69
Computergraphik II Wachstum von Lychnis coronaria aus Prusinkiewicz, Lindenmayer: The algorithmic beauty of plants Oliver Deussen Pflanzenmodellierung 70
Computergraphik II Interaktion von Pflanzen und Umwelt → umweltsensitive L-Systeme Interaktion von Pflanzen mit ihrer Umwelt Oliver Deussen Pflanzenmodellierung 71
Computergraphik II Regelbasierte Objekterzeugung Regelbasierte Verfahren: • mächtig und flexibel, um Struktur herzustellen • nicht intuitiv, Erzeugungsregeln lokal Prozedurales Modellieren: • mächtige Methode, um Geometrie • und auch Struktur herzustellen (CAD-Systeme) • intuitiv, aber beschränkt Oliver Deussen Pflanzenmodellierung 72
Computergraphik II Idee: Regelbasiertes und prozedurales Modellieren verbinden Umsetzung: Baum repräsentiert Modell Knoten: Komponenten (Daten + Algorithmen) Kanten: Erzeugungsabhängigkeiten bzw. -regeln Oliver Deussen Pflanzenmodellierung 73
Computergraphik II Geometrieerzeugung Drei Arten von Komponenten: 1. Geometrieerzeugung (Primitive, Blätter, Zweige etc.) 2. Multiplikation anderer Komponenten 3. Globale Modellierung Problem: Strukturinformation wird auf zwei Arten repräsentiert: → Multiplikatorkomponenten → Graphstruktur Oliver Deussen Pflanzenmodellierung 74
Computergraphik II Daher: Dreistufiger Algorithmus 1. erzeuge Graph aus Komponentenprototypen (p-graph) 2. expandiere Graph zu Baum (i-tree) 3. erzeuge Geometrie durch Traversierung des Baums Oliver Deussen Pflanzenmodellierung 75
Computergraphik II Komponenten (a) (b) (c) (d) (e) (f) (g) (h) (i) (j) (k) Geometrieerzeugung: a) Simple, b) Revo, c) Horn, d) Leaf Multiplikation: e) Tree, f) Hydra, g) Wreath, h) Phiball Globale Modellierung: i) FFD, j) Hyperpatch, k) World Oliver Deussen Pflanzenmodellierung 76
Computergraphik II Horn/Tree-Geometrie (inspiriert von Todd/Latham): T2 T1 Oliver Deussen Pflanzenmodellierung 77
Computergraphik II Multiplikation: a) Hydra, b) Wreath, c) Phiball Oliver Deussen Pflanzenmodellierung 78
Computergraphik II Ein Beispiel A Wurzel B Geometrieerzeugende Komponente C Multiplikator (Anzahl Kopien=3) D Geometrieerzeugende Komponente (Rekursionstiefe=3) Oliver Deussen Pflanzenmodellierung 79
Computergraphik II → Multiplikatoren speichern Werte in Form von Wertebereichen → Jede multiplizierte Komponente erhält individuellen Wert Oliver Deussen Pflanzenmodellierung 80
Computergraphik II Pflanzenbeispiel Eins: Sonnenblume Oliver Deussen Pflanzenmodellierung 81
Computergraphik II Pflanzenbeispiel Zwei: Rhododendron Oliver Deussen Pflanzenmodellierung 82
Computergraphik II Pflanzenbeispiel Drei: Baum Oliver Deussen Pflanzenmodellierung 83
Computergraphik II Erzeugung von Pflanzenpopulationen/ Ökosystemen • Verwendung parametrisierter Pflanzenmodelle → xfrog, L-Systeme • Spezifikation von Terrain und Bodendaten → interaktiv oder mit Geodaten Oliver Deussen Pflanzenmodellierung 84
Computergraphik II • Spezifikation von Pflanzenpositionen und -parametern → interaktiv, deklarativ oder simulativ • Reduktion von Geometriedaten → Quantisierung, approximative Instanziierung • effiziente Bilderzeugung → cache-koherentes Raytracing → hardware-beschleunigtes Raycasting Oliver Deussen Pflanzenmodellierung 85
Computergraphik II Spezifikation von Pflanzenpositionen und -parametern Möglichkeiten: a) Interaktive Spezifikation “Malprogramm” b) Prozedurale Generierung anhand explizit bekannter Verteilungen → Interpretation von Satellitenbildern c) Prozedurale Generierung aufgrund von Simulationsverfahren → Verdrängung, Kampf um Licht Oliver Deussen Pflanzenmodellierung 86
Computergraphik II Interaktive Spezifikation Anwendungen: • Gärten, Parks, gestaltete Landschaften • menschliche Einflußnahme Vorgehensweise: • male Bilder, deren Grauwerte Parameter bestimmen → Positionen, Größe/Prosperität, Orientierung, Auflösung • bestimme Positionen durch Halftoning Verfahren → hierbei evtl. Relaxation Oliver Deussen Pflanzenmodellierung 87
Computergraphik II • ordne Pflanzenpositionen Parameterwerte zu → Funktionen spezifizieren, wie Bilder interpretiert werden • erzeuge Datei mit Pflanzenparametern Oliver Deussen Pflanzenmodellierung 88
Computergraphik II Beispiel: Garten Parameterbilder, Positionen: Oliver Deussen Pflanzenmodellierung 89
Computergraphik II Generiertes Bild: Oliver Deussen Pflanzenmodellierung 90
Computergraphik II Grasmodell: Oliver Deussen Pflanzenmodellierung 91
Computergraphik II Spezifikation durch Simulation → Ausgangspositionen zufällig oder interaktiv spezifiziert → Simulation von Selbstverdrängung (self-thinning) Yoda et al.: 3 log(m) = − log[d] + const 2 (m: Trockengewicht, d: Pflanzendichte) Population unter Selbstverdrängungskurve ⇒ mehr Individuen Wachstum (Vergrößerung des Gewichts) ⇒ Selektion Oliver Deussen Pflanzenmodellierung 92
Computergraphik II Oliver Deussen Pflanzenmodellierung 93
Computergraphik II → Simulation verschiedener Pflanzenarten Komplexeres Modell: → Verdrängung/Selbstverdrängung → Umweltfaktoren (Wasser, Erdbeschaffenheit) Oliver Deussen Pflanzenmodellierung 94
Computergraphik II Oliver Deussen Pflanzenmodellierung 95
Computergraphik II Oliver Deussen Pflanzenmodellierung 96
Computergraphik II Oliver Deussen Pflanzenmodellierung 97
Computergraphik II Oliver Deussen Pflanzenmodellierung 98
Sie können auch lesen