Modellierung von Baumstrukturen mit einem einzigen Polygonnetz Seminar Computergraphik WS 12/13 Dozent: Prof. Dr. Winfried Kurth Referentin: Vlada Pototskaia 15. Januar 2013 Übersicht: 1. Einführung und Motivation 2. Vorgehensweise 3. Baummodell 4. Polygonnetz 5. Verfeinerung 6. Ergebnisse Pflanzenmodellierung Ziele: 1. Einführung und Motivation 2. Vorgehensweise Sanfte Übergänge in den Ästen Detaillierte Darstellung bei jeder Vergrößerungsstufe 3. Baummodell 4. Polygonnetz 5. Verfeinerung 6. Ergebnisse Verbreitete Methoden zur Darstellung von Ästen: Abgeschnittene Kegeln Zylinder Ein Polygonnetz für jeden Ast Probleme der Pflanzenmodellierung Unglattheiten bei den Übergängen Netze oder Zylinder der einzelnen Äste überschneiden sich an den Verbindungsknoten Eine zu langsame Visualisierung bei der Darstellung von mehreren Bäumen 1. Einführung und Motivation 2. Vorgehensweise 3. Baummodell 4. Polygonnetz 5. Verfeinerung 6. Ergebnisse dieser Methode 1. Einführung und Motivation 2. Vorgehensweise 3. Baummodell 4. Polygonnetz 5. Verfeinerung 6. Ergebnisse Basiert auf parametrischen L-Systemen Ermöglicht die Kontrolle über die Teilung der Ketten Erzeugt eines einzigen Polygonnetzes Drei Phasen der Konstruktion der Bäume 1. Einführung und Motivation 2. Vorgehensweise 1. Baummodellierung 2. Konstruktion eines Polygonnetzes 3. Baummodell 3. Verfeinerung der Baumknoten 4. Polygonnetz 5. Verfeinerung 6. Ergebnisse Baummodellierung: 'Turtle'-Metapher 1. Einführung und Motivation 2. Vorgehensweise 3. Baummodell 4. Polygonnetz 5. Verfeinerung 6. Ergebnisse Ausgangsdaten: Position Orientierung Vorherige Position und Orientierung Bewegung: Erfolgt nur in Richtung der Achse des Kopfes Hinterlässt eine Kontur in der Start- und Endposition (abhängig von der Dicke und Neigung der Äste) Baummodellierung: 'Turtle'-Metapher 1. Einführung und Motivation 2. Vorgehensweise 3. Baummodell 4. Polygonnetz 5. Verfeinerung 6. Ergebnisse Ausgangsdaten: Position Orientierung Vorherige Position und Orientierung Bewegung: Erfolgt nur in Richtung der Achse H Hinterlässt eine Kontur in der Start- und Endposition (abhängig von der Dicke und Neigung der Äste) Baummodellierung: 'Turtle'-Metapher 1. Einführung und Motivation 2. Vorgehensweise 3. Baummodell 4. Polygonnetz 5. Verfeinerung 6. Ergebnisse Ausgangsdaten: Position Orientierung Vorherige Position und Orientierung Bewegung: Erfolgt nur in Richtung der Achse H Hinterlässt eine Kontur in der Start- und Endposition (abhängig von der Dicke und Neigung der Äste) Baummodellierung: 'Turtle'-Metapher 1. Einführung und Motivation 2. Vorgehensweise 3. Baummodell 4. Polygonnetz 5. Verfeinerung 6. Ergebnisse Ausgangsdaten: Position Orientierung Vorherige Position und Orientierung Bewegung: Erfolgt nur in Richtung der Achse H Hinterlässt eine Kontur in der Start- und Endposition (abhängig von der Dicke und Neigung der Äste) Hierarchische Baumstruktur 1. Einführung und Motivation Knoten 11 Knoten 12 2. Vorgehensweise 3. Baummodell 4. Polygonnetz Knoten 1 5. Verfeinerung 6. Ergebnisse Wurzel Inhalt eines Knoten Sohn 1. Einführung und Motivation TransformationsMatrix 2. Vorgehensweise Kontur Bruder 3. Baummodell Vater 4. Polygonnetz Alle Söhne eines Vaterknotens sind in einer geordneten Liste gespeichert (nach Reihenfolge der Entstehung) Der Vaterknoten hat direkten Zugriff nur auf den ersten Sohn Die Struktur wird aus einer Zeichenkette erhalten, die durch das L-System erzeugt wurde 5. Verfeinerung 6. Ergebnisse Polygonnetz Wird aus der hierarchischen Baumstruktur erzeugt Die Konturen eines jeden Astes werden mit Kanten verbunden 1. Einführung und Motivation 2. Vorgehensweise 3. Baummodell 4. Polygonnetz 5. Verfeinerung 6. Ergebnisse Realisierung durch eine Softwarebibliothek, die ein Polygonnetzmodell aus der Folge der Konturen erstellt Das Netz enthält visuelle Fehler: Verfeinerung der Baumknoten 1. Einführung und Motivation 2. Vorgehensweise 3. Baummodell 4. Polygonnetz 5. Verfeinerung 6. Ergebnisse Dient zur Behebung der Fehler an den Astansätzen Algorithmus „Verfeinerung durch Intervalle“: 1. Hinzufügen der Subkonturen 2. Berechnung der Ellipsenparameter 3. Erzeugen einer neuen Kontur 4. Hinzufügen des neuen Knotens in die Baumstruktur 1. Hinzufügen der Subkonturen 1. Einführung und Motivation 2. Vorgehensweise 3. Baummodell 4. Polygonnetz 5. Verfeinerung 6. Ergebnisse Füge Subkonturen hinzu, beginnend mit der Verzweigung an dem Vaterzweig bis die Söhne völlig voneinander getrennt sind. Die Subkonturen werden in gleichen Abständen nacheinander Hinzugefügt, bis die Äste getrennt sind. 2. Berechnung der Ellipsenparameter 1. Einführung und Motivation Folgende Größen sind für jede elliptische Subkontur des Astes zu bestimmen: re – der kleine Radius der Ellipse 2. Vorgehensweise Re – der große Radius der Ellipse 3. Baummodell C – der Mittelpunkt der Ellipse 4. Polygonnetz 5. Verfeinerung 6. Ergebnisse δ – der Rotationswinkel 2. Berechnung der Ellipsenparameter die Radien: 1. Einführung und Motivation 2. Vorgehensweise 3. Baummodell 4. Polygonnetz 5. Verfeinerung 6. Ergebnisse v – Vektor entlang der Mittelachse des Astzylinders v proy – die Projektion von v auf die Schnittebene α – Winkel zwischen v und seiner Projektion Dann: r e= r c , re Re = sin (α) 2. Berechnung der Ellipsenparameter der Mittelpunkt: Der Mittelpunkt ist bestimmt durch 1. Einführung und Motivation 2. Vorgehensweise die Höhe h (zur Verschiebung der Ellipse) und den Rotationswinkel δ (zur Drehung der Ellipse in die richtige Position) 3. Baummodell 4. Polygonnetz 5. Verfeinerung 6. Ergebnisse 2. Berechnung der Ellipsenparameter der Mittelpunkt: 1. Einführung und Motivation 2. Vorgehensweise 3. Baummodell 4. Polygonnetz 5. Verfeinerung 6. Ergebnisse p – Vektor senkrecht zu v uvp – Einheitsvektor in Richtung der Projektion von v λ – die Länge dieser Projektion 2. Berechnung der Ellipsenparameter der Mittelpunkt: Da p senkrecht zu v ist, gilt 1. Einführung und Motivation 2. Vorgehensweise 3. Baummodell 4. Polygonnetz 5. Verfeinerung 6. Ergebnisse und somit p x⋅ v x + p y⋅ v y + p z⋅ v z = 0 h= p z= − ( p x⋅ v x + p y⋅ v y ) , vz Die Koordinaten von v sind bekannt. Die von p erhält man durch cos(β)= λ , re p x = − λ⋅ uvpx , p y = − λ⋅ uvp y. 2. Berechnung der Ellipsenparameter der Mittelpunkt: 1. Einführung und Motivation 2. Vorgehensweise 3. Baummodell 4. Polygonnetz 5. Verfeinerung 6. Ergebnisse Wenn der Punkt S als Ursprung angenommen wird, ist der Rotationswinkel cos(δ)= vx v = 2 x2 2 , ∥v∥ √v x + v y + v z δ= arccos (√ vx v 2x + v 2y + v 2z ) 3. Erzeugen der neuen Kontur 1. Einführung und Motivation 2. Vorgehensweise 3. Baummodell 4. Polygonnetz 5. Verfeinerung 6. Ergebnisse Ellipsen werden als Polygone approximiert Die Anzahl der Ecken ist abhängig von der Dicke des Astes und des optischen Anspruchs Die Ecken sind gegen den Uhrzeigersinn sortiert 3. Erzeugen der neuen Kontur Bei mehreren Ellipsen: 1. Einführung und Motivation 2. Vorgehensweise 3. Baummodell 4. Polygonnetz 5. Verfeinerung 6. Ergebnisse Neue Konturen: 4. Hinzufügen des Knotens in die Baumstruktur Beim Hinzufügen wird die bestehende Baumstruktur erhalten: 1. Einführung und Motivation 2. Vorgehensweise 3. Baummodell 4. Polygonnetz 5. Verfeinerung 6. Ergebnisse Ergebnisse Die Ergebnisse werden am Beispiel eines Dreiecksnetzes präsentiert: 1. Einführung und Motivation Nachteil: mit der Verfeinerung erhöht sich die Anzahl der Dreiecke im Netz 2. Vorgehensweise 3. Baummodell 4. Polygonnetz 5. Verfeinerung 6. Ergebnisse Vorteil: optische Verbesserung der Astübergänge Ergebnisse 1. Einführung und Motivation 2. Vorgehensweise 3. Baummodell 4. Polygonnetz 5. Verfeinerung 6. Ergebnisse Ergebnisse 1. Einführung und Motivation 2. Vorgehensweise 3. Baummodell 4. Polygonnetz 5. Verfeinerung 6. Ergebnisse Auflösung der Konturen 5 9 12 15 Anzahl der Polygone Original Verfeinert 4998 5028 5343 8435 9708 10 142 13 762 24 482 Eine Verringerung der Anzahl der Polygone ist mit einem Downsampling-Algorithmus möglich. Ergebnisse 1. Einführung und Motivation 2. Vorgehensweise 3. Baummodell 4. Polygonnetz 5. Verfeinerung 6. Ergebnisse Ergebnis eines Downsamplings: Nach Anwendung eines Belastungseffekts: Vor- und Nachteile der Methode Vorteile: 1. Einführung und Motivation 2. Vorgehensweise Einfache Anwendung von Texturen über das gesamte Modell möglich Problem der Unglattheit ist gelöst Es besteht die Möglichkeit, dynamische Modelle auf dem Netz zu implementieren (z.B. Einwirkung von Wind) Es besteht die Möglichkeit, Algorithmen zur Vereinfachung des Netzes anzuwenden Anwendung auf andere verzweigte Strukturen möglich (z.B. Blutgefäße) 3. Baummodell 4. Polygonnetz 5. Verfeinerung 6. Ergebnisse Nachteile: Größerer Aufwand durch mehr Polygone Unerwünschte optische Effekte und Unglattheiten bei den Übergängen zwischen den Vergrößerungsstufen