Thomas Schultze-Drescher
This presentation is the property of its rightful owner.
Sponsored Links
1 / 27

Thomas Schultze-Drescher FH-Fulda PowerPoint PPT Presentation


  • 139 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Thomas schultze drescher fh fulda

Thomas Schultze-Drescher

FH-Fulda

Im Rahmen der Lehrveranstaltung „JAVA 3D“WS 2002 - Prof. Dr. Heinzel


Intro

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)


Hintergrund pr ambel

Hintergrund / Präambel

Einsatzfelder:

  • Simulation

  • Spiele

  • Topographische Visualisierung

  • „Hintergrund“ für alle Animationen etc.

  • Wissenschaftliche Forschung


Ans tze f r landschaftsgenerierung

Ansätze für Landschaftsgenerierung

  • Heightmapping

  • Fraktale Verfahren

  • Mathematische Prozeduren

  • Gesteuerter Zufall

  • Simulation (Physikalischer Ansatz)

  • Entwicklung / Evolution


Heightmaps

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.


Fraktale verfahren

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.


Mathematische prozeduren

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.


Gesteuerter zufall

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“.


Simulation physikalischer ansatz

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.


Entwicklung evolution

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


Funktionsweise ausgesuchter algorithmen

Funktionsweise ausgesuchter Algorithmen

  • Heightmapping

  • diamond-square

  • C-LOD


Heightmapping grundprinzip

Heightmapping - Grundprinzip

4 Schritte: Erzeugen, Auslesen, Umwandeln, Darstellen


Das prinzip der height surface maps

Das Prinzip der Height-Surface Maps

Höhenbitmap


Das prinzip der height surface maps1

Das Prinzip der Height-Surface Maps

Punkte einer Höhenmatrix verbinden


Diamond square 2d

„diamond-square“ (2D)

N/2


Diamond square 3d

„diamond-square“ (3D)


Diamond square 3d1

„diamond-square“ (3D)


Diamond square 3d2

„diamond-square“ (3D)


Diamond square 3d3

„diamond-square“ (3D)


Diamond square 3d4

„diamond-square“ (3D)


Der c lod algorithmus

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


Der c lod algorithmus1

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


Der c lod algorithmus2

Der C-LOD-Algorithmus

QaudTree als Grundlegende Datenstruktur ->

Im Prinzip, das Konzept wie beim Diamond Square Algorithmus


Der c lod algorithmus3

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.


Der c lod algorithmus4

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.


Der c lod algorithmus5

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.


Quellen

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/


  • Login