1 / 27

Thomas Schultze-Drescher FH-Fulda

Thomas Schultze-Drescher FH-Fulda. Im Rahmen der Lehrveranstaltung „JAVA 3D“ WS 2002 - Prof. Dr. Heinzel. Intro. Hintergrund / Präambel Möglichkeiten der Landschaftsgenerierung Funktionsweise ausgesuchter Algorithmen Umsetzung des „diamond square“ Algorithmus in Java3D

apollo
Télécharger la présentation

Thomas Schultze-Drescher FH-Fulda

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Thomas Schultze-Drescher FH-Fulda Im Rahmen der Lehrveranstaltung „JAVA 3D“WS 2002 - Prof. Dr. Heinzel

  2. Intro • Hintergrund / Präambel • Möglichkeiten der Landschaftsgenerierung • Funktionsweise ausgesuchter Algorithmen • Umsetzung des „diamond square“ Algorithmus in Java3D • C-LOD, Continuous Level of Detail, eine Einführung in Konzept und Funktion (Java3d)

  3. Hintergrund / Präambel Einsatzfelder: • Simulation • Spiele • Topographische Visualisierung • „Hintergrund“ für alle Animationen etc. • Wissenschaftliche Forschung

  4. Ansätze für Landschaftsgenerierung • Heightmapping • Fraktale Verfahren • Mathematische Prozeduren • Gesteuerter Zufall • Simulation (Physikalischer Ansatz) • Entwicklung / Evolution

  5. Heightmaps Heightmaps bedeutet, das aus einer Höhenkarte (z.B. in Form einer Bitmap oder auch nur einer reinen Datensammlung) eine Landschaft geniert wird. Oftmals werden die Daten über Scanner/Abtastung erfasst und dann im 3D System weiter verarbeitet. • Topographische Wiedergabe realer Daten • „Photoshop Gelände“, man zeichnet in 2D seine Höhenkarte für die spätere Verwendung • Oftmals in Mischtechnik mit der Fraktalen Generierung eingesetzt.

  6. Fraktale Verfahren Fraktale (lat. fractus,-a,-um = gebrochen) sind Gebilde deren innere Struktur ihrer äußeren ähnelt, auch als „Selbstähnlichkeit“ bezeichnet. Geprägt wurde der Ausdruck von dem Computerwissenschaftler Benoit Mandelbrot. • Immer dort zu finden, wo „endlose“ Landschaften benötigt werden • Sehr schnell zu realisieren, für Computer optimiert. • Nicht durch Quelldaten beschränkt • Sehr gute Nährung an die Realität, da eben aus der Realität entwickelt.

  7. Mathematische Prozeduren Komposition einer Landschaft durch rein mathematische Kombinationen von verschieden Funktionen, im allgemeinen Schwingungen. Durch Ändern der Frequenz, Amplitude oder Phase kann dann auf die entstehende Landschaft Einfluss genommen werden. Oftmals finden sich solche Verfahren in Zusammenspiel mit den Fraktalen Verfahren. • Die Oberflächen von Nanostrukturen werden oft durch solche Verfahren simuliert, da hier die fraktalen Algorithmen nicht greifen können. • Sicher im Einsatz, schneller als Fraktale, dafür unrealistischere Landschaften.

  8. Gesteuerter Zufall Algorithmen, die auf einem Grundprinzip beruhen welches immer wieder – mit zufälligen Variablen – wiederholt wird. Das bekannteste Beispiel für den gesteuerten Zufall ist das Falten eines Stücks Papiers, immer und immer wieder, bis eine Berglandschaft entstanden ist. Durch Art der Faltung und Druck/Papierwahl etc. kann man in gewisser Weise das Ergebnis beeinflussen, letztendlich ist es aber Zufällig. Da oftmals bei diesen Algorithmen mit Kombination von mehren verschieden Zufallssystem gearbeitet wird, bezeichnet man diesen Ansatz auch als als „Collaging“ oder „Falten“.

  9. Simulation (Physikalischer Ansatz) Erzeugen einer Landschaft, durch die Simulation von den Physikalischen Vorgängen, durch die eine Landschaft entsteht: Tektonik, Erosion, Korrosion und die Hydrologie Dabei gibt es zwei Grundlegende Ansätze:„Makro“ bzw. Globale Systeme benutzen meistens nur die Tektonik und die Korrosion, um z.B. Landschaften zu erzeugen die wie die Erde vor oder in 1 Million Jahre aussehen. Teil der Klimaforschung. Die „feinere“ Variante versucht, bei gegebenen Landschaften zu simulieren, was die äußeren Einflüsse an der Veränderung der Landschaft bewirken, hier kommt meistens nur die Erosion und die Umwelt im allgemeinen in Bezug. Beides sind extrem komplexe Verfahren, die immer nur sehr spezifisch eingesetzt werden, und die Rechenzeit macht diese Verfahren für normale Rechner absolut ungeeignet.

  10. Entwicklung / Evolution Aufgrund eines Lebenssystem / festen Regeln wird aus einer Grundzelle (Seed) Schritt für Schritt eine Landschaft entwickelt. Ähnlich den allg. Evolutionssystemen für Lebewesen. Im Kern wird dabei die Landschaft als Lebewesen begriffen, das bestimmte Regeln hat. • Extrem aufwendig und sehr Komplex • Nicht Steuerbar • Es gibt kein Ende, der Prozess ist unendlich

  11. Funktionsweise ausgesuchter Algorithmen • Heightmapping • diamond-square • C-LOD

  12. Heightmapping - Grundprinzip 4 Schritte: Erzeugen, Auslesen, Umwandeln, Darstellen

  13. Das Prinzip der Height-Surface Maps Höhenbitmap

  14. Das Prinzip der Height-Surface Maps Punkte einer Höhenmatrix verbinden

  15. „diamond-square“ (2D) N/2

  16. „diamond-square“ (3D)

  17. „diamond-square“ (3D)

  18. „diamond-square“ (3D)

  19. „diamond-square“ (3D)

  20. „diamond-square“ (3D)

  21. Der C-LOD-Algorithmus Entwickelt von Steffan Roedger Dozent für Graphische Datenverarbeitung - Universität Erlangen-Nürnberg • Optimierung von Höhen oder Fraktalen Quadtrees im Bezug auf die Geschwindkeit. • Dafür wird ein Algorithmus eingesetzt, der neben der Ausnutzung des „Blur“ Effektes für entfernte Objekte eine dynamische Anpassung an die Qualität und die mögliche Renderzeit benötigt. • Optimal geignet, für Einsatzbereiche wo eine konstante, schnelle Darstellung wichtiger ist, als Details (Spiele)Eingesetzt bei u.a. bei Aquanox

  22. Der C-LOD-Algorithmus Grundidee: • Erst das Grobe, dann das Feine • Entfernte Objekte können vereinfacht werden • Nicht zu sehende Bereiche sollten gar nicht erst berechnet werden

  23. Der C-LOD-Algorithmus QaudTree als Grundlegende Datenstruktur -> Im Prinzip, das Konzept wie beim Diamond Square Algorithmus

  24. Der C-LOD-Algorithmus Subdivisionskriterien: Sicht (I/D<C) Hierbei ist l die Entfernung zum Augpunkt und d die Kantenlänge eines Blocks. Die Konstante C ist ein Qualitätskriterium, dass für die minimale globale Auflösung steht.Wird C erhöht so wächst die Anzahl zu zeichnender Vertices quadratisch.

  25. Der C-LOD-Algorithmus Oberflächenrauhigkeitswert Der Oberflächen-rauhigkeitswert legt fest, ob ein unter-Quad sich überhaupt so von den anderen Punkten abhebt, das sich eine Darstellung loht. Auch hier kann eine ein QK festgelegt werden.

  26. Der C-LOD-Algorithmus „Cracks“ Regeln: Benachtbarte Blöcke dürfen sich maximal um einen Level unterscheiden. Der Detaillierte Block gibt dabei die Werte für den „niedrigen Detaillevel“ vor, damit es nicht zu „Sprüngen“ kommt.

  27. Quellen: • Generating Random Fractal Terrainwww.gameprogrammer.com • Landschaftsvisualisierung mit Java 3Dhttp://ncstrl.informatik.uni-stuttgart.de/Dienst/UI/2.0/Describe/medoc.ustuttgart_fi/STUD-1835 • Terrain Visualization with Java 3Dhttp://wwwvis.informatik.uni-stuttgart.de/javatevi/ • 3D Graphic Java: Render fractal landscapeswww.javaworld.com • Erstellen einer Landschaft durch Heightmapswww.neobrothers.de • Real-Time Generation of Continuous Levels of Detail for Height Fieldhttp://wwwvis.informatik.uni-stuttgart.de/~roettger/

More Related