Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen

Größe: px
Ab Seite anzeigen:

Download "Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen"

Transkript

1 Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen Sommersemester 2012 Matthias Fischer Vorlesung Matthias Fischer 282

2 Übersicht Motivation und Idee Datenstruktur Sichtbarkeitstest Boxentest Aufbau der Z-Pyramide Verwendung der Z-Pyramide Rendering Kohärenz Hardwareunterstützung Beispiele Matthias Fischer 283

3 Literatur Tomas Akenine-Möller, Eric Haines Real-Time Rendering AK Peters, 2002 Frédo Durand A multidisciplinary survey of visibility SIGGRAPH 2000 course notes:visibility, Problems, Techniques, and Applications auch zu finden im 2.Teil der Dissertation von Durand: Frédo Durand. 3D Visibility: Analytical Study and Applications. PhD thesis, Université Joseph Fourier, 1999 (siehe Web) Daniel Cohen-Or, Yiorgos L. Chrysanthou, Cláudio T. Silva, Frédo Durand A survey of visibility for walkthrough applications IEEE Transactions on Visualization and Computer Graphics, 9(3): , Ned Greene, Michael Kass, Gavin Miller Hierarchical Z-buffer visibility Proc. 20th Conference on Computer Graphics and Interactive Techniques (SIGGRAPH '93), p , Matthias Fischer 284

4 Motivation Motivation Effizientes Frustum Culling berechnen wir mit räumlichen Datenstrukturen (Octree, Loose-Octree)! Effizientes Occlusion Culling berechnen wir mit Potentially Visible Sets (PVS)! Wozu benötigen wir weitere Occlusion-Culling Methoden? Szenen sind von unterschiedlicher Gestalt und Form Methoden sind für unterschiedliche Topologie unterschiedlich wirksam Beispiele. (echte Aufnahmen, keine 3D-Modelle) Matthias Fischer 285

5 Motivation Bäume und Waldszenen Annahme: Zweige, Nadeln und Blätter sind ausmodelliert PVS-System greifen hier nicht Zellen mit beschränkter Sichtbarkeit lassen sich schlecht bilden Stabtree würde sehr groß werden Aggregierte Verdeckung Viele kleine, jeweils wenig verdeckende Objekte ergeben zusammen einen guten Occluder. Matthias Fischer 286

6 Motivation Dynamische Szenen beispielsweise Menschenmassen Objekte ändern ständig Ihre Position Offene Szenen Mit großen Abständen zwischen den Occludern, die von vielen Standpunkten aus eingesehen werden. Eine aggregierte Verdeckung entsteht durch viele kleine Objekte. Matthias Fischer 287

7 Idee Der hierarchische Z-Buffer ist ein Occlusion-Culling Algorithmus. Ziel Rendere nur die sichtbaren Polygone Idee rendere von vorne nach hinten alles was verdeckt ist, brauchen wir nicht zu rendern Das Verfahren ist konservativ, d.h. alle sichtbaren Dreiecke werden auch dargestellt. Matthias Fischer 288

8 Idee Warum ein neuer Z-Buffer? Teile des Algorithmus könnten (sind) durch Implementierung in Hardware beschleunigt werden (worden). Im hierarchischen Z-Buffer sind zwei Ideen vereint: Reduzierung von Redundanzen bei der Sichtbarkeitsabfrage (Abfrage der Z-Werte) Reduzierung von Redundanzen bei der Darstellung von verdeckten Dreiecken Was bedeutet das?... Matthias Fischer 289

9 Idee Reduzierung von Redundanzen bei der Sichtbarkeitsabfrage (Abfrage der Z-Werte) Alle Pixel eines Dreiecks werden gerastert: die Sichtbarkeit wird im Pixel gelöst die Z-Abfrage erfolgt für jedes Pixel Warum wird jeder Z-Wert berechnet, wenn der ganze Smiley bzw. alle seine Dreiecke verdeckt sind? Reicht es nicht, den tiefsten Wert des verdeckenden Zylinders zu kennen??? z Zylinder z Smiley Matthias Fischer 290

10 Idee Reduzierung von Redundanzen bei der Darstellung von Dreiecken Verdeckte Objekte müssen nicht gerendert werden! Ist ein Objekt/Dreieck verdeckt, sind vermutlich auch benachbarte Objekte/Dreiecke verdeckt. Was muss man dazu tun und wissen? Wir müssen eine schnelle Abfrage stellen können, ob Objekte durch bereits gerenderte Objekte verdeckt sind! Matthias Fischer 291

11 Idee Welche Schritte müssen wir durchführen? 1. Aus Sicht des Betrachters von vorne nach hinten rendern, 2. berechnen, wann ein Objekt verdeckt ist, 3. eine einzige Abfrage für möglichst viele Objekte durchführen. Wir versuchen, vorne liegende Objekte zuerst zu rendern und prüfen im Bildraum, ob alle anderen Objekte dahinter liegen Matthias Fischer 292

12 Idee Welche Schritte müssen wir durchführen? 1. Aus Betrachtersicht von vorne nach hinten rendern, 2. berechnen, wann ein Objekt verdeckt ist, 3. eine einzige Abfrage für möglichst viele Objekte durchführen. Ein Objekt ist genau dann verdeckt, wenn sein minimaler Z-Wert größer ist, als der maximale Z-Wert bereits gezeichneter Objekte. bereits gezeichnet noch zu zeichnen z max (Zylinder) z min (Smileygruppe) Matthias Fischer 293

13 Idee Welche Schritte müssen wir durchführen? 1. Aus Betrachtersicht von vorne nach hinten rendern, 2. berechnen, wann ein Objekt verdeckt ist, 3. eine einzige Abfrage für möglichst viele Objekte durchführen. Wir führen nicht eine Abfrage für jedes einzelne Objekt durch, sondern versuchen, eine Abfrage für mehrere Objekte durchzuführen. Ansonsten sind die Abfragen ineffizienter, als das normale Rendering der Objekte durch den Z- Bufferalgorithmus! Matthias Fischer 294

14 Datenstruktur Wie setzen wir die vorgestellten Ideen um? Wir müssen zwei Fragen klären: 1. Mit welcher räumlichen Datenstruktur verwalten wir die Objekte/Dreiecke der virtuellen Szene? 2. Wie führen wir den Sichtbarkeitstest durch? Matthias Fischer 295

15 Datenstruktur Mit welcher räumlichen Datenstruktur verwalten wir die Objekte/Dreiecke der Szene? Wir bauen einen 3D-Octree mit Dreiecken auf, alle Dreiecke liegen so tief wie möglich, d.h. in der tiefsten BBox, die das Dreieck noch vollständig umschließt. Algorithmus Octree Aufbau Beginne mit einem Oktanten (BoundingBox), der alle Dreiecke enthält. Unterteile den Oktanten in 8 gleich große Oktanten und verteile alle Dreiecke darauf, bis weniger als k Dreiecke erreicht sind. (k Parameter, beeinflusst die Laufzeit!) Dreiecke, die nicht in einen der 8 Oktanten gespeichert werden können, werden in dem Elternknoten gespeichert. Matthias Fischer 296

16 Sichtbarkeitstest Wie führen wir den Sichtbarkeitstest durch? Wir testen keine einzelnen Polygone, sondern immer eine Bounding-Box (BBox) des Octree. Die BBox enthält die Dreiecke Ist die BBox unsichtbar, dann sind auch die Polygone in der Box unsichtbar. Matthias Fischer 297

17 Sichtbarkeitstest Wie viele Dreiecke sollte eine BBox enthalten? Die Anzahl der Dreiecke in der BBox allein ist nicht entscheidend, wichtiger ist die Anzahl der Dreiecke in dem Teilbaum unter der BBox. Warum? Wir hoffen auf einen positiven Test (= die BBox ist unsichtbar). Alles in der BBox und im Teilbaum darunter kann dann beim Rendering verworfen werden. Der Test der BBox darf nicht mehr Zeit kosten als das Rendering aller darin enthaltenen Polygone! Matthias Fischer 298

18 Boxentest Boxentest Wir führen eine elementare Testoperation ein: Gegeben ist eine achsenparallele Boundingbox (BBox). Prüfe im Bildraum, ob Teile der Box sichtbar sind. Bool Funktion Boxentest( BBox bb) if (bb ist im Bildraum sichtbar) return true else return false Matthias Fischer 299

19 Boxentest Wie wird der Boxentest durchgeführt? Die BBox kann aus 6x2 Dreiecken modelliert werden: Möglichkeiten Rendere die BBox in extra Puffer: Prüfe, wie viele Pixel sichtbar sind, oder berechne im Bildraum 2D-Boundingbox. Projiziere die 8 Eckpunkte in den Bildraum und berechne davon im Bildraum die 2D Boundingbox. Heute ausschließlich: Unterstützung der Operation in Hardware! (s. u.) Wir betrachten hier auch die ursprünglichen Softwarelösungen, um zu sehen, welcher Aufwand für einen schnellen Test getrieben wurde bzw. welcher Preis hinsichtlich Genauigkeit bezahlt wurde, denn: Dauern die Tests länger, als das Rendern der Dreiecke, dann gewinnt man nichts. Matthias Fischer 300

20 Boxentest Wir prüfen wir, ob Teile der Box unsichtbar sind? Eine Möglichkeit Prüfe pixelweise die Z-Werte der BBox mit den Z-Werten des Z-Buffer. Sind alle Z-Werte der BBox größer, ist sie unsichtbar. Nachteil Es entstehen Kosten in Größe der projizierten BBox (gemessen in Anzahl der dargestellten Pixel). Kann man es besser machen? Z-Pyramide!... unsere zweite Datenstruktur in diesem Rendering. Matthias Fischer 301

21 Aufbau der Z-Pyramide Z-Pyramide Jeweils vier benachbarte Z-Werte des Z-Buffers werden zu einem neuen gröberen Quadranten zusammengefasst. Die Art der Zusammenfassung erfolgt wie in einem regelmäßig aufgebauten Quadtree. Matthias Fischer 302

22 Aufbau der Z-Pyramide Z-Pyramide Wir bilden eine Hierarchie von Z-Werten (am einfachsten sind 2-er Potenzen). An der Spitze der Hierarchie steht ein einziger Z-Wert. In den Blättern sind die Werte des Z-Buffers. Z-Bufferwerte ¼ Auflösung 1/16 Auflösung 1 Wert Matthias Fischer 303

23 Aufbau der Z-Pyramide Z-Pyramide Welcher Wert steht in dem gröberen Quadranten? Immer der Z-Wert, der am weitesten vom Betrachter entfernt ist, d.h. das Maximum der vier Kinder. Nur im Z-Buffer (unterste Ebene) steht der Z-Wert, des am nächsten stehenden Dreiecks! Unterste Ebene der Pyramide, Z-Buffer Höhere Ebenen der Pyramide Matthias Fischer 304

24 Aufbau der Z-Pyramide Wie aktualisieren wir die Z-Werte? Bei jeder Änderung des Z-Buffer (unterste Ebene) wird der Wert in der Pyramide nach oben propagiert. Sobald eine Ebene erreicht wird, bei der sich der Wert im Quadranten nicht mehr ändert, wird die Aktualisierung abgebrochen. Matthias Fischer 305

25 Verwendung der Z-Pyramide Wie verwenden wir die Z-Pyramide? Wir haben den zu testenden Würfel aus 6x2 Dreiecken modelliert. Wir prüfen jede Seite (Polygon = 2 Dreiecke) der zu testenden Octree-Zelle/Boundingbox. Wir testen: die Seiten der Octree BBox, eine Seite sei PolyBBox i für i = 1 6, 2D-BBox ist 2D-Boundingbox der PolyBBox i im Bildraum, Min(PolyBBox i ) = kleinster (nächster) Z-Wert einer Seite PolyBBox i der Octree-BBox. 2D-BBox PolyBBox i von Octree-BBox Matthias Fischer 306

26 Verwendung der Z-Pyramide Wie verwenden wir die Z-Pyramide? Suche den feinsten Level in der Z-Pyramide, in den die 2DBBox gerade noch rein passt. ZP. z sei der dazugehörige Z-Wert. Falls Min PolyBBox i ZP. z ist das Polygon der BBox verdeckt. Objekt passt hier noch rein Matthias Fischer 307

27 Verwendung der Z-Pyramide Was passiert, wenn ein Polygon genau in der Mitte des Bildes liegt? Wir können nur den Z-Wert der gröbsten Level in der Z-Pyramide nehmen. Dies ist nicht besonders wirksam, da es nur den weitesten Z-Wert bereits gerenderter Objekte liefert. Abstieg in die Z-Pyramide nötig. Matthias Fischer 308

28 Verwendung der Z-Pyramide Abstieg in die Z-Pyramide Gehe zum nächst feineren Level in der Z-Pyramide, prüfe, ob das Polygon in allen (überschneidenden) Quadranten verdeckt ist, setze Abstieg rekursiv fort, bis Unsichtbarkeit für alle Quadranten gezeigt ist, oder bis man auf dem feinsten Level sichtbare Pixel gefunden hat. Matthias Fischer 309

29 Verwendung der Z-Pyramide Abstieg in die Z-Pyramide Was ist der Nachteil dieser Vorgehensweise? Für jeden Quadranten muss der minimale Z-Wert des sich überschneidenden Teils des Polygons geprüft werden. Diese Operation ist teuer! Wie können wir das beschleunigen? Matthias Fischer 310

30 Verwendung der Z-Pyramide Abstieg in die Z-Pyramide Wie können wir das beschleunigen? Wir nehmen für die Abfrage des Polygons nur noch den minimalen Z-Wert des gesamten Polygons! Nachteil: Wir finden nicht mehr jede Unsichtbarkeit mit dem minimalen Z-Wert! Falls auf dem untersten Level auch keine Unsichtbarkeit vorliegt, wird das Polygon wieder pixelweise verglichen. (normale scan conversion) Matthias Fischer 311

31 Verwendung der Z-Pyramide Abstieg in die Z-Pyramide Algorithmus Isoccluded(Polygon p, ZPyramide Zp) if (p überschneidet sich nicht mit Zp) return true // Objekt nicht im Quadranten nearz(p); // bestimme minimalen Z-Wert des zu testenden Polygons p if (nearz(p) Zp.z) return true // Objekt ist verdeckt else return (Isoccluded(p, Zp.child[0]) && Isoccluded(p, Zp.child[1]) && Isoccluded(p, Zp.child[2]) && Isoccluded(p, Zp.child[3])) Zp.z nearz(p) Matthias Fischer 312

32 Rendering Rendering Wie rendern wir mit dem Octree und Z-Pyramide die Szene? Wir traversieren den Octree aus Sicht des Betrachters von vorne nach hinten (front-to-back traversal) und prüfen für jede besuchte Octree-BBox mit der Z-Pyramide, ob sie unsichtbar ist. Falls nein, rendern wir alle Polygone des Knotens (der Octreezelle) und traversieren die Kinder. Warum ist von vorne nach hinten wichtig? Was passiert bei umgekehrter Reihenfolge? Matthias Fischer 313

33 Rendering Rendering Algorithmus RenderOctree (OctreeNode N) if (N ist außerhalb Frustum) then return // Octreezelle ist nicht im Sichtkegel if Isoccluded(N, Zp) then return // Octreezelle ist verdeckt, Test erfolgreich! else Rendere OctreeBBox N pixelgenau (scan conversion) if (N ist verdeckt) then return 2 for each Objekt o in OctreeBBox(N) rendere Objekt o aktualisiere Z_Pyramide Zp end for each Kind C von N in front-to-back order RenderOctree(C) end Matthias Fischer 314

34 Kohärenz Kohärenz des Hierarchischen Z-Buffer Z-Pyramide nutzt Bildraum-Kohärenz aus: Ein Polygon mit einem verdeckten Pixel, hat wahrscheinlich auch benachbarte Pixel, die verdeckt sind. Octree-Datenstruktur nutzt Objektraum-Kohärenz aus: Polygone in der Nähe eines verdeckten Polygons sind wahrscheinlich auch verdeckt. Matthias Fischer 315

35 Kohärenz Kohärenz des Hierarchischen Z-Buffer Zeitliche Kohärenz des Hierarchischen Z-Buffer Die meisten Polygone, die im letzten Frame im Z-Buffer standen (bzw. deren Z-Werte), werden auch im nächsten Frame im Z-Buffer stehen. Annahme ist hier, dass die Sichtbarkeitsverhältnisse sich nur wenig von Bild zu Bild ändern. Der Algorithmus läuft schneller (experimentelle Werte Faktor 1,5-2), wenn die Z-Pyramide mit den sichtbaren Objekten des letzten Frame bereits aufgebaut ist und erst anschließend die Traversierung/Rendering des Octree stattfindet. Es sind dann weniger rekursive Schritte in der Hierarchie für unsichtbare Zellen notwendig. Matthias Fischer 316

36 Kohärenz Kohärenz des Hierarchischen Z-Buffer Wie implementieren wir zeitliche Kohärenz? Wir führen eine Liste von Octree-BBoxen, die im letzten Frame sichtbar waren. Vor der Traversierung Rendere zuerst die Octree-BBoxen, die im letzten Frame sichtbar gewesen sind, d.h alle BBoxen aus der Liste. Nimm neue sichtbare BBoxen in die Liste auf. Nach der Traversierung Prüfe alle BBoxen der Liste auf Sichtbarkeit und entferne ggfs. unsichtbare BBoxen aus der Liste. Matthias Fischer 317

37 Hardwareunterstützung Empirische Evaluierung zeigte [Greene, Kass, Miller SIGGRAPH 93] Ohne Hardwareunterstützung ist der Algorithmus nur schwer wirksam. Die Testoperationen sind teuer. Problem Z-Pyramiden und Hierarchien lassen sich schwer in Hardware implementieren. Unterschiedlich lange Berechnungszeiten für den Boxentest erzeugen einen Abriss in der Pipeline. Stattdessen ist zuerst ein einfacher Boxentest in Hardware implementiert worden. Matthias Fischer 318

38 Hardwareunterstützung Boxentests mit Hardwareunterstützung sind unterschiedlich implementiert worden GL_HP_OCCLUSION_TEST GL_NV_OCCLUSION_QUERY GL_ARB_OCCLUSION_QUERY GL_NV_OCCLUSION_QUERY Anfrage ist nicht blockierend mehrere Anfragen können nacheinander gestellt werden gibt die Anzahl der sichtbaren Pixel zurück Möglichkeit zur Approximativen Sichtbarkeit blockiert nicht das gleichzeitige Rendern weiterer Geometrie Matthias Fischer 319

39 Hardwareunterstützung Auch die Idee der Z-Pyramide ist inzwischen durch Hardware unterstützt implementiert worden. Aktuelle Informationen für den Startpunkt einer Suche finden sich hier: Depth In-depth - Emil Persson, AMD Z-Buffer Optimizations - Patrick Cozzi Zu finden unter: CIS 665: GPU Programming and Architecture, University of Pennsylvania, Spring HyperZ, Wikipedia Matthias Fischer 320

40 Beispiele Büro mit 538 Millionen Polygonen. Berechnungstiefe Z-Pyramide Blick auf die gerenderten Zellen des Octree. Matthias Fischer 321

41 Beispiele Die Bilder rechts mit zeitlicher Kohärenz direkt nach dem Frame links gerendert. In rot, neu hinzugekommene Objekte. Matthias Fischer 322

42 Beispiele Modell mit 53 Millionen Polygonen Berechnungstiefe Matthias Fischer 323

Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen

Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen Sommersemester 2012 Matthias Fischer mafi@upb.de Vorlesung 11 19.6.2012 Matthias Fischer 324 Übersicht Dynamische Berechnung von Potentially Visible

Mehr

Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen

Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen Sommersemester 2012 Matthias Fischer mafi@upb.de Vorlesung 6,7 15.5.12, 22.5.12 Matthias Fischer 187 Übersicht Visibility Culling inführung und Übersicht

Mehr

Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen

Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen Sommersemester 2012 Matthias Fischer mafi@upb.de Vorlesung 8 29.5.2012 Matthias Fischer 240 Übersicht Rendering mit Motivation Ansatz und Idee Datenstruktur

Mehr

Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen

Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen Sommersemester 2012 Matthias Fischer mafi@upb.de Vorlesung 13 3.7.2012 Matthias Fischer 395 Übersicht Motivation Idee Rendering erster Durchlauf

Mehr

Seminar Computerspiele Räumliche Datenstrukturen. Ralf Pramberger

Seminar Computerspiele Räumliche Datenstrukturen. Ralf Pramberger Seminar Computerspiele Räumliche Datenstrukturen Ralf Pramberger Themen 2 1. Grundlagen Szene Sichtbarkeit (Raytracing) Culling 2. Räumliche Datenstrukturen Bounding Volume Hierarchie Quadtree/Octree BSP-Tree

Mehr

Wiederholung. Objekte) Hauptkosten beim Pathtracing Ziel: Beschleunigung durch Reduktion der Schnittpunktstestzahl. Ansätze

Wiederholung. Objekte) Hauptkosten beim Pathtracing Ziel: Beschleunigung durch Reduktion der Schnittpunktstestzahl. Ansätze Wiederholung Pathtracing = Schnittpunktstests mit Geometrie: primäre Augstrahlen, Schattenstrahlen, sekundäre Strahlen Problem: Komplexität! (mindestens linear mit der Anzahl der Objekte) Hauptkosten beim

Mehr

Conservative Volumetric Visibility with Occluder Fusion

Conservative Volumetric Visibility with Occluder Fusion Conservative Volumetric Visibility with Occluder Fusion Worum geht es? Ausgangspunkt komplexe Szene, wie Städte, Straßenzüge, etc. Ziel effiziente Berechnung von nicht sichtbaren Regionen Begriffe / Definitionen

Mehr

Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen

Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen Sommersemester 2012 Matthias Fischer mafi@upb.de Vorlesung 5 24.4.2012 Matthias Fischer 135 Übersicht Quadtrees / Octrees Motivation Quadtrees für

Mehr

Optimierungsalgorithmen

Optimierungsalgorithmen Optimierungsalgorithmen Effektives Rendern in der Computergraphik Benjamin Schneider Agenda 1. Einleitung 2. Grundlagen 3. Algorithmen im Detail 4. Weitere Techniken 5. Verbesserungen 6. Fazit Einleitung

Mehr

Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen

Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen Sommersemester 2012 Matthias Fischer mafi@upb.de Vorlesung 14 10.7.2012 Matthias Fischer 439 Übersicht Paralleles Rendering Klassifizierung nach

Mehr

Beschleunigungen auf Szenenebene

Beschleunigungen auf Szenenebene Beschleunigungen auf Szenenebene Thomas Jung Verdeckungsbehandlung OpenGL Entfernen abgewandter Flächen (Backface Cullg) Kappen am Sichtvolumen (Clippg) Z-Speicher-Algorithmus t.jung@htw-berl.de Projektion

Mehr

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am 03.12.2013 Algorithmische Geometrie: Schnitte von Strecken Sweep-Line INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg

Mehr

Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen

Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen Sommersemester 2012 Matthias Fischer mafi@upb.de Vorlesung 12 26.6.2012 Matthias Fischer 374 Übersicht Motivation Modell der Sichtbarkeit Eigenschaft

Mehr

Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen

Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen Sommersemester 2012 Matthias Fischer mafi@upb.de Vorlesung 2 10.4.2012 Matthias Fischer 59 Übersicht = Binary Space Partitions Motivation Idee Anwendungsbeispiel:

Mehr

Echtzeitdarstellung von Terrainszenarien mit Occlusion Culling

Echtzeitdarstellung von Terrainszenarien mit Occlusion Culling Echtzeitdarstellung von Terrainszenarien mit Occlusion Culling, Alexandre Miguel Maia, Christian-A. Bohn Echtzeitdarstellung von Terrainszenarien mit Occlusion Culling Folie 1 Gliederung Motivation Chunked

Mehr

Beschleunigungsverfahren für Raytracing Grids Hierarchische Grids Bewertung Fazit

Beschleunigungsverfahren für Raytracing Grids Hierarchische Grids Bewertung Fazit Überblick Einführung Beschleunigungsverfahren für Raytracing Grids Hierarchische Grids Fazit Einführung Gewöhnliche Beschleunigungsverfahren & Raumunterteilung entworfen und optimiert für effizientes Traversieren

Mehr

Allgemeine Regeln zur Optimierung

Allgemeine Regeln zur Optimierung Allgemeine Regeln zur Optimierung "Premature Optimization is the Root of All Evil" [Knuth] Erst naïv und langsam implementieren, dann optimieren! Nach jeder (möglichst kleinen) Optimierung einen Benchmark

Mehr

Mesh-Visualisierung. Von Matthias Kostka. Visualisierung großer Datensätze

Mesh-Visualisierung. Von Matthias Kostka. Visualisierung großer Datensätze Mesh-Visualisierung Von Matthias Kostka Übersicht Einführung Streaming Meshes Quick-VDR Rendering virtueller Umgebung Rendering mit PC-Clustern Zusammenfassung 2 Mesh Untereinander verbundene Punkte bilden

Mehr

Raytracing. Beschleunigungsverfahren

Raytracing. Beschleunigungsverfahren Raytracing Beschleunigungsverfahren Naives/brute force Raytracing Komplexität: mxn p Auflösung des Bildes Anzahl der Primitives O (mxnxp) nur für die Primärstrahlen Raytracing Beschleunigungsverfahren

Mehr

5/24/07. Allgemeine Regeln zur Optimierung. Octree / Quadtree. 5D-Octree für Strahlen [Arvo u. Kirk 1987] Primitive in adaptiven Gittern / Octrees

5/24/07. Allgemeine Regeln zur Optimierung. Octree / Quadtree. 5D-Octree für Strahlen [Arvo u. Kirk 1987] Primitive in adaptiven Gittern / Octrees Allgemeine Regeln zur Optimierung Octree / Quadtree "Premature Optimization is the Root of All Evil" [Knuth] Idee: extreme Variante der rekursiven itter Erst naïv und langsam implementieren, dann optimieren!

Mehr

Räumliche Datenstrukturen Seminar Computerspiele

Räumliche Datenstrukturen Seminar Computerspiele Räumliche Datenstrukturen Seminar Computerspiele Ralf Pramberger Kurzbeschreibung Diese Ausarbeitung stellt eine Einführung zum Thema Räumliche Datenstrukturen dar. Dazu werden zunächst einige Grundlagen

Mehr

Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen

Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen Sommersemester 2012 Matthias Fischer mafi@upb.de Vorlesung 1 3.4.2012 Matthias Fischer 1 Vorstellung Der Dozent Matthias Fischer Fachgruppe Friedhelm

Mehr

Geometrie 2. Julian Fischer Julian Fischer Geometrie / 30

Geometrie 2. Julian Fischer Julian Fischer Geometrie / 30 Geometrie 2 Julian Fischer 6.7.2009 Julian Fischer Geometrie 2 6.7.2009 1 / 30 Themen 1 Bereichssuche und kd-bäume 1 Bereichssuche 2 kd-bäume 2 Divide and Conquer 1 Closest pair 2 Beispiel: Points (IOI

Mehr

0 Einführung. Computergrafik. Computergrafik. Abteilung für Bild- und Signalverarbeitung

0 Einführung. Computergrafik. Computergrafik. Abteilung für Bild- und Signalverarbeitung F1 Inhaltsverzeichnis 1 Hardwaregrundlagen 2 Transformationen und Projektionen 3 Repräsentation und Modellierung von Objekten 4 Rasterung 5 Visibilität und Verdeckung 6 Rendering 7 Abbildungsverfahren

Mehr

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Übersicht: Graphen. Definition: Ungerichteter Graph. Definition: Ungerichteter Graph

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Übersicht: Graphen. Definition: Ungerichteter Graph. Definition: Ungerichteter Graph Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 07 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München 7 Fortgeschrittene Datenstrukturen Graphen

Mehr

Entwurf und Analyse von Datenstrukturen

Entwurf und Analyse von Datenstrukturen Entwurf und Analyse von Datenstrukturen Sommersemester 2013 1. Termin: 17. April 2013 Jan-Henrik Haunert ehem. Mathebau, Raum E27 jan.haunert@uni-wuerzburg.de Alexander Wolff ehem. Mathebau, Raum E29 alexander.wolff@uni-wuerzburg.de

Mehr

11.1 Grundlagen - Denitionen

11.1 Grundlagen - Denitionen 11 Binärbäume 11.1 Grundlagen - Denitionen Denition: Ein Baum ist eine Menge, die durch eine sog. Nachfolgerrelation strukturiert ist. In einem Baum gilt: (I) (II) 1 Knoten w ohne VATER(w), das ist die

Mehr

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/3, Folie 1 2010 Prof. Steffen Lange - HDa/FbI

Mehr

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 10 (27.5.2016) Binäre Suchbäume II Algorithmen und Komplexität Zusätzliche Dictionary Operationen Dictionary: Zusätzliche mögliche Operationen:

Mehr

Voronoi-Diagramme. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK

Voronoi-Diagramme. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 29.05.2011 Das Postamt-Problem b(p, q) = {x R 2 : xp = xq } p q h(p, q) h(q, p) = {x :

Mehr

Programmierpraktikum 3D Computer Grafik

Programmierpraktikum 3D Computer Grafik Dipl.Inf. Otmar Hilliges Programmierpraktikum 3D Computer Grafik Dynamische Schattenberechnung Agenda Der Stencil-Buffer Der 1-bit Stencil-Buffer Der 8-bit Stencil-Buffer Volumetrische Echtzeitschatten

Mehr

Bereichsabfragen. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Bereichsabfragen. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 17.05.2011 Geometrie in Datenbanken In einer Personaldatenbank

Mehr

Algorithmen und Datenstrukturen Bereichsbäume

Algorithmen und Datenstrukturen Bereichsbäume Algorithmen und Datenstrukturen Bereichsbäume Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Überblick Einführung k-d Baum BSP Baum R Baum Motivation

Mehr

Klasse räumlicher Indexstrukturen, die den Datenraum rekursiv in 4 gleich große Zellen unterteilen (Quadranten NW, NE, SW, SE)

Klasse räumlicher Indexstrukturen, die den Datenraum rekursiv in 4 gleich große Zellen unterteilen (Quadranten NW, NE, SW, SE) 4.4 Quadtrees Überblick Klasse räumlicher Indexstrukturen, die den Datenraum rekursiv in 4 gleich große Zellen unterteilen (Quadranten NW, NE, SW, SE) Verwaltung von Punkten, Kurven, Flächen usw., häufig

Mehr

{0,1} rekursive Aufteilung des Datenraums in die Quadranten NW, NE, SW und SE feste Auflösung des Datenraums in 2 p 2 p Gitterzellen

{0,1} rekursive Aufteilung des Datenraums in die Quadranten NW, NE, SW und SE feste Auflösung des Datenraums in 2 p 2 p Gitterzellen 4.4 MX-Quadtrees (I) MatriX Quadtree Verwaltung 2-dimensionaler Punkte Punkte als 1-Elemente in einer quadratischen Matrix mit Wertebereich {0,1} rekursive Aufteilung des Datenraums in die Quadranten NW,

Mehr

Algorithmen und Datenstrukturen. Bäume. M. Herpers, Y. Jung, P. Klingebiel

Algorithmen und Datenstrukturen. Bäume. M. Herpers, Y. Jung, P. Klingebiel Algorithmen und Datenstrukturen Bäume M. Herpers, Y. Jung, P. Klingebiel 1 Lernziele Baumstrukturen und Ihre Verwendung kennen Grundbegriffe zu Bäumen anwenden können Baumstruktur in C anlegen können Suchbäume

Mehr

Lernmodul 7 Algorithmus von Dijkstra

Lernmodul 7 Algorithmus von Dijkstra Folie 1 von 30 Lernmodul 7 Algorithmus von Dijkstra Quelle: http://www.map24.de Folie 2 von 30 Algorithmus von Dijkstra Übersicht Kürzester Weg von A nach B in einem Graphen Problemstellung: Suche einer

Mehr

Voronoi-Diagramme INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Voronoi-Diagramme INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 03.06.2014 1 Das Postamt-Problem b(p, q) = {x 2 R 2 : xp = xq } p q h(p, q) h(q, p) = {x

Mehr

Proportional Symbol Maps

Proportional Symbol Maps Proportional Symbol Maps Florian Simon 8. Dezember, 2009 Proportional Symbol Maps Gegeben: Punkte p 1,..., p n R 2 mit zugeordneten Werten w 1,..., w n R Proportional Symbol Maps Gegeben: Punkte p 1,...,

Mehr

Darstellungsarten für 3D-Körper. Boundary Representation (BRep):

Darstellungsarten für 3D-Körper. Boundary Representation (BRep): Darstellungsarten für 3D-Körper Boundary Representation (BRep): Darstellung eines (verallgemeinerten) Polyeders durch das System seiner Ecken, Kanten und Facetten Abspeichern durch (Teilgraphen des) vef-graphen

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 11 (4.6.2014) Binäre Suchbäume II Algorithmen und Komplexität Binäre Suchbäume Binäre Suchbäume müssen nicht immer so schön symmetrisch sein

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Binärbaum Suchbaum Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 356 Datenstruktur Binärbaum Strukturrepräsentation des mathematischen Konzepts Binärbaum

Mehr

Klausur zur Vorlesung Algorithmen und Datenstrukturen

Klausur zur Vorlesung Algorithmen und Datenstrukturen Klausur zur Vorlesung Algorithmen und Datenstrukturen Die Dauer der Klausur beträgt 120 Minuten. Erlaubte Hilfsmittel: Ein selbst handschriftlich beschriebenes DIN A4 Blatt, das komplette Skript zur Vorlesung

Mehr

Der Dreyfus-Wagner Algorithmus für das Steiner Baum Problem

Der Dreyfus-Wagner Algorithmus für das Steiner Baum Problem Der Dreyfus-Wagner Algorithmus für das Steiner Baum Problem Andreas Moser Dietmar Ebner Christian Schauer Markus Bauer 9. Dezember 2003 1 Einführung Der in der Vorlesung gezeigte Algorithmus für das Steiner

Mehr

Probelektion zum Thema. Shadow Rendering. Shadow Maps Shadow Filtering

Probelektion zum Thema. Shadow Rendering. Shadow Maps Shadow Filtering Probelektion zum Thema Shadow Rendering Shadow Maps Shadow Filtering Renderman, 2006 CityEngine 2011 Viewport Real reconstruction in Windisch, 2013 Schatten bringen viel Realismus in eine Szene Schatten

Mehr

Anwendungsbeispiel MinHeap

Anwendungsbeispiel MinHeap Anwendungsbeispiel MinHeap Uns seien n ganze Zahlen gegeben und wir möchten darin die k größten Zahlen bestimmen; zudem gelten, dass n deutlich größer als k ist Wir können das Problem mit Laufzeit in O(n

Mehr

Games Engines. Realtime Terrain Rendering

Games Engines. Realtime Terrain Rendering Games Engines Realtime Terrain Rendering RTR Gliederung Probleme & Anforderungen Grundlagen Heightmaps und Paging Visibility View Frustrum Culling Occlusion Culling/ Occlusion Map Fogging Level of Detail

Mehr

4.4 Quadtrees. Literatur

4.4 Quadtrees. Literatur 4.4 Quadtrees Überblick Klasse räumlicher Indexstrukturen, die den Datenraum rekursiv in 4 gleich große Zellen unterteilen (Quadranten NW, NE, SW, SE) Verwaltung von Punkten, Kurven, Flächen usw., häufig

Mehr

Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. B3.1 Einführung. B3.2 Verkettete Liste. B3.3 Bäume

Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. B3.1 Einführung. B3.2 Verkettete Liste. B3.3 Bäume Algorithmen und Datenstrukturen 22. März 2018 B3. Verkettete Listen und Bäume Algorithmen und Datenstrukturen B3. Verkettete Listen und Bäume B3.1 Einführung Marcel Lüthi and Gabriele Röger B3.2 Verkettete

Mehr

Kollisionserkennung

Kollisionserkennung 1 Kollisionserkennung von Jens Schedel, Christoph Forman und Philipp Baumgärtel 2 1. Einleitung Wozu wird Kollisionserkennung benötigt? 3 - für Computergraphik 4 - für Simulationen 5 - für Wegeplanung

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen Wintersemester 2016/17 13. Vorlesung Binäre Suchbäume Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Dynamische Menge verwaltet Elemente einer sich ändernden Menge

Mehr

Hallo Welt für Fortgeschrittene

Hallo Welt für Fortgeschrittene Hallo Welt für Fortgeschrittene Geometrie II Benjamin Zenke Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Inhalt Closest Pair Divide & Conquer Bereichssuche Gitterverfahren k-d-tree Sweep-Line-Algorithmen

Mehr

Computergraphik 1 LU ( ) Ausarbeitung Abgabe 2

Computergraphik 1 LU ( ) Ausarbeitung Abgabe 2 Computergraphik 1 LU (186.095) Ausarbeitung Abgabe 2 Beispiel 4... 2 CG1Object... 2 if (dobackfaceeculling && numvertexindec >=3)... 2 CG1ScanfilledPolygon CG1Polygon... 2... 2... 3 buildactivelist (int

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen B3. Verkettete Listen und Bäume Marcel Lüthi and Gabriele Röger Universität Basel 22. März 2018 Einführung Abstrakter Datentyp / Datenstruktur Abstrakter Datentyp Eine Menge

Mehr

Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1

Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1 Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1 Aufgabe 1. / 16 P Instruktionen: 1) In dieser Aufgabe sollen Sie nur die Ergebnisse angeben. Diese können Sie direkt bei den Aufgaben notieren. 2) Sofern

Mehr

Binärbäume: Beispiel

Binärbäume: Beispiel Binärbäume Als Beispiel für eine interessantere dynamische Datenstruktur sehen wir uns jetzt Binärbäume an Ein Binärbaum wird rekursiv definiert: Er ist leer oder besteht aus einem Knoten (die Wurzel des

Mehr

Indizierung von Geodaten - Raumbezogene Indexstrukturen. Seminar mobile Geoinformationssystem Vortrag von Markus Steger

Indizierung von Geodaten - Raumbezogene Indexstrukturen. Seminar mobile Geoinformationssystem Vortrag von Markus Steger Indizierung von Geodaten - Raumbezogene Indexstrukturen Seminar mobile Geoinformationssystem Vortrag von Markus Steger Index wozu ist er gut? Index allgemein Effizienter Zugriff auf Daten, i.d.r. mit B-Baum

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2018 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München Organisatorisches: Keine Vorlesung nächste Woche wegen

Mehr

Programmierpraktikum 3D Computer Grafik

Programmierpraktikum 3D Computer Grafik Prof. Andreas Butz, Dipl.Inf. Otmar Hilliges Programmierpraktikum 3D Computer Grafik Dynamische Schattenberechnung Agenda Der Stencil-Puffer Der 1-bit Stencil-Puffer Der 8-bit Stencil-Puffer Volumetrische

Mehr

Martin Fiedler. Occlusion Culling

Martin Fiedler. Occlusion Culling Martin Fiedler Occlusion Culling Seminar Computergrafik Professur Grafische Datenverarbeitung und Visualisierung Fakultät für Informatik Technische Universität Chemnitz Inhalt Übersicht 2 Teil 1: Übersicht

Mehr

Bachelorarbeit. Anne-Lena Kowalka. Analyse der Sichtbarkeitsberechnung anhand des View Frustum Cullings

Bachelorarbeit. Anne-Lena Kowalka. Analyse der Sichtbarkeitsberechnung anhand des View Frustum Cullings Bachelorarbeit Anne-Lena Kowalka Analyse der Sichtbarkeitsberechnung anhand des View Frustum Cullings Fakultät Technik und Informatik Studiendepartment Informatik Faculty of Engineering and Computer Science

Mehr

Geometrie. Hallo Welt! für Fortgeschrittene Simon Kuhnle. 11. Juli

Geometrie. Hallo Welt! für Fortgeschrittene Simon Kuhnle. 11. Juli Geometrie Hallo Welt! für Fortgeschrittene 2008 Simon Kuhnle sisikuhn@stud.informatik.uni-erlangen.de 11. Juli 2008 Simon Kuhnle Geometrie 11.07.2008 1 / 33 Übersicht Übersicht 1 Grundlagen 2 ccw 3 Konvexe

Mehr

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 186.172 Algorithmen und Datenstrukturen 1 VL 4.0 Übungsblatt 4 für die Übung

Mehr

Schnelle Multiplikation

Schnelle Multiplikation Informationsblatt für die Lehrkraft Schnelle Multiplikation $&*&*& 999 3 x 3 =? 10001110 π/3 7 X 6 14 666 x 987 Informationsblatt für die Lehrkraft Thema: Schultyp: Vorkenntnisse: Bearbeitungsdauer: Schnelle

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 17 (8.7.2014) Minimale Spannbäume II Union Find, Prioritätswarteschlangen Algorithmen und Komplexität Minimaler Spannbaum Gegeben: Zus. hängender,

Mehr

Geometrische Primitive und Hidden Surface Removal

Geometrische Primitive und Hidden Surface Removal C A R L V O N O S S I E T Z K Y Geometrische Primitive und Hidden Surface Removal Johannes Diemke Übung im Modul OpenGL mit Java Wintersemester 2010/2011 Wiederholung Geometrische Primitive in OpenGL Mit

Mehr

Kapitel 12: Induktive

Kapitel 12: Induktive Kapitel 12: Induktive Datenstrukturen Felix Freiling Lehrstuhl für Praktische Informatik 1 Universität Mannheim Vorlesung Praktische Informatik I im Herbstsemester 2009 Folien nach einer Vorlage von H.-Peter

Mehr

Marching Cubes - Erstellung von Polygonmodellen aus Voxelgittern

Marching Cubes - Erstellung von Polygonmodellen aus Voxelgittern Marching Cubes - Erstellung von Polygonmodellen aus Voxelgittern Matthias Kirschner Advanced Topics in Computer Graphics - WS06/07 Marching Cubes - Erstellung von Polygonmodellen aus Voxelgittern Matthias

Mehr

Übung zur Vorlesung Algorithmische Geometrie

Übung zur Vorlesung Algorithmische Geometrie Übung zur Vorlesung Algorithmische Geometrie Dipl.-Math. Bastian Rieck Arbeitsgruppe Computergraphik und Visualisierung Interdisziplinäres Zentrum für Wissenschaftliches Rechnen 8. Mai 2012 B. Rieck (CoVis)

Mehr

Aufgaben zur Klausurvorbereitung

Aufgaben zur Klausurvorbereitung Vorlesung Graphen und Optimierung Sommersemester 2013/14 Prof. S. Lange Aufgaben zur Klausurvorbereitung Hier finden Sie eine Reihe von Übungsaufgaben, die wir an den beiden Vorlesungsterminen am 29.01.2014

Mehr

3. Übungsblatt zu Algorithmen I im SoSe 2017

3. Übungsblatt zu Algorithmen I im SoSe 2017 Karlsruher Institut für Technologie Prof. Dr. Jörn Müller-Quade Institut für Theoretische Informatik Björn Kaidel, Sebastian Schlag, Sascha Witt 3. Übungsblatt zu Algorithmen I im SoSe 2017 http://crypto.iti.kit.edu/index.php?id=799

Mehr

Algorithmen & Datenstrukturen Midterm Test 2

Algorithmen & Datenstrukturen Midterm Test 2 Algorithmen & Datenstrukturen Midterm Test 2 Martin Avanzini Thomas Bauereiß Herbert Jordan René Thiemann

Mehr

Klausur Algorithmen und Datenstrukturen II 29. Juli 2013

Klausur Algorithmen und Datenstrukturen II 29. Juli 2013 Technische Universität Braunschweig Sommersemester 2013 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Stephan Friedrichs Klausur Algorithmen und Datenstrukturen

Mehr

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 017 Marc Bux, Humboldt-Universität zu Berlin Agenda 1. Vorrechnen von Aufgabenblatt 1. Wohlgeformte Klammerausdrücke 3. Teile und Herrsche Agenda 1.

Mehr

Algorithmen für Routenplanung 8. Sitzung, Sommersemester 2012 Thomas Pajor 21. Mai 2012

Algorithmen für Routenplanung 8. Sitzung, Sommersemester 2012 Thomas Pajor 21. Mai 2012 Algorithmen für Routenplanung 8. Sitzung, Sommersemester 2012 Thomas Pajor INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und nationales

Mehr

Geometrische Algorithmen

Geometrische Algorithmen Geometrische Algorithmen Thomas Röfer Motivation Scan-line-Prinzip Konvexe Hülle Distanzprobleme Voronoi-Diagramm Rückblick Manipulation von Mengen Vorrangwarteschlange Heap HeapSort swap(a, 0, 4) 1 5

Mehr

Algorithmen für Routenplanung 7. Sitzung, Sommersemester 2010 Thomas Pajor 28. Mai 2010

Algorithmen für Routenplanung 7. Sitzung, Sommersemester 2010 Thomas Pajor 28. Mai 2010 Algorithmen für Routenplanung 7. Sitzung, Sommersemester 2010 Thomas Pajor 28. Mai 2010 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK I PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg

Mehr

Virtuelle Realität Kollisionserkennung

Virtuelle Realität Kollisionserkennung lausthal Virtuelle Realität Kollisionserkennung. Zachmann lausthal University, ermany cg.in.tu-clausthal.de Anwendungsbeispiele Virtual Prototyping Physikalisch basierte Simulation. Zachmann Virtuelle

Mehr

Dynamisches Programmieren - Problemstruktur

Dynamisches Programmieren - Problemstruktur Dynamisches Programmieren - Problemstruktur Optimale Substruktur: Optimale Lösung enthält optimale Lösungen von Teilproblemen. Bsp.: Kürzester Weg im Graphen, LCS (s. etwa Folie 42 der letzten Vorlesung)

Mehr

Datenstrukturen Teil 2. Bäume. Definition. Definition. Definition. Bäume sind verallgemeinerte Listen. Sie sind weiter spezielle Graphen

Datenstrukturen Teil 2. Bäume. Definition. Definition. Definition. Bäume sind verallgemeinerte Listen. Sie sind weiter spezielle Graphen Bäume sind verallgemeinerte Listen Datenstrukturen Teil 2 Bäume Jeder Knoten kann mehrere Nachfolger haben Sie sind weiter spezielle Graphen Graphen bestehen aus Knoten und Kanten Kanten können gerichtet

Mehr

Out-of-Core Techniken

Out-of-Core Techniken Out-of-Core Techniken Hauptseminar: Visualisierung großer Datensätze Betreuer: Dipl. Inf. Marco Ament Vortragender: Edwin Püttmann Inhaltsverzeichnis 1. Einleitung 2. Computational Model 3. Vorverarbeitung

Mehr

A Simple and Practical Method for Interactive Ray Tracing of Dynamic Scenes

A Simple and Practical Method for Interactive Ray Tracing of Dynamic Scenes A Simple and Practical Method for Interactive Ray Tracing of Dynamic Scenes Ingo Wald Carsten Benthin Philipp Slusallek Marco Lang Bisher Ray Tracing erstmals von Appel benutzt dutzende Algorithmen vor

Mehr

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 2017 Marc Bux, Humboldt-Universität zu Berlin Agenda 1. (Sortierte) Listen 2. Stacks & Queues 3. Datenstrukturen 4. Rekursion und vollständige Induktion

Mehr

Gliederung. Algorithmen und Datenstrukturen I. Eine wichtige Frage. Algorithmus. Materialien zur Vorlesung. Begriffsbestimmung EUKLID Primzahltest

Gliederung. Algorithmen und Datenstrukturen I. Eine wichtige Frage. Algorithmus. Materialien zur Vorlesung. Begriffsbestimmung EUKLID Primzahltest Gliederung Algorithmen und Datenstrukturen I Materialien zur Vorlesung D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg 1 Winter 2009/10,

Mehr

White Paper Order Independent Transparency (OIT) in PTC Creo Parametric 2.0

White Paper Order Independent Transparency (OIT) in PTC Creo Parametric 2.0 White Paper Order Independent Transparency (OIT) in PTC Creo Parametric 2.0 Übersicht: OIT Definition: Order Independent Transparency oder OIT bezeichnet in der Programmierungstechnik für Computergrafik

Mehr

Bäume und der Sequence ADT

Bäume und der Sequence ADT Bäume und der Sequence ADT Motivation: Der Sequence ADT Bei der Vorstellung verschiedener Implementierungen für Stacks, Queues und Deques wurde vor allem auf die Unterschiede zwischen Arrays fester Größe,

Mehr

3D Programmierpraktikum: Schattenberechnung in Echtzeit

3D Programmierpraktikum: Schattenberechnung in Echtzeit 3D Programmierpraktikum: Schattenberechnung in Echtzeit Praktikum 3D Programmierung Sebastian Boring, Otmar Hilliges Donnerstag, 20. Juli 2006 LMU München Medieninformatik Boring/Hilliges 3D Programmierpraktikum

Mehr

Informatik Abitur Bayern 2017 / II - Lösung

Informatik Abitur Bayern 2017 / II - Lösung Informatik Abitur Bayern 2017 / II - Lösung Autoren: Wolf (1) Wagner (2) Scharnagl (3-5) 1a 5 1b Diese Methode vergleicht den Namen des Interpreten eines jeden Elements der Liste mit dem gegebenen Namen.

Mehr

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 22.04.2014 Überlagern von Kartenebenen Beispiel: Gegeben zwei verschiedene Kartenebenen,

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Wintersemester 2012/13 17. Vorlesung Nächstes Paar Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Problem: Gegeben: Menge P von n Punkten in der Ebene, jeder Punkt

Mehr

Übungsblatt 7 - Voronoi Diagramme

Übungsblatt 7 - Voronoi Diagramme Karlsruher Institut für Technologie Algorithmische Geometrie Fakultät für Informatik Sommersemester 2012 ITI Wagner Martin Nöllenburg/Andreas Gemsa Übungsblatt 7 - Voronoi Diagramme 1 Voronoi-Zellen Sei

Mehr

Datenstrukturen Teil 3. Traversierung und AVL- Bäume. Traversierung. Traversierung. Traversierung

Datenstrukturen Teil 3. Traversierung und AVL- Bäume. Traversierung. Traversierung. Traversierung Traversierung Datenstrukturen Teil 3 Traversierung und AVL- Bäume Traversierung: bezeichnet verschiede Verfahren einer Routenbestimmung durch baumförmige Graphen Dabei wird jeder Knoten und jede Kante

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester

Mehr

(1) Geometrie. Vorlesung Computergraphik 3 S. Müller U N I V E R S I T Ä T KOBLENZ LANDAU

(1) Geometrie. Vorlesung Computergraphik 3 S. Müller U N I V E R S I T Ä T KOBLENZ LANDAU (1) Geometrie Vorlesung Computergraphik 3 S. Müller KOBLENZ LANDAU KOBLENZ LANDAU Organisatorisches Vorlesung CG 2+3 Die Veranstaltung besteht aus 2 Teilen, wobei in der Mitte und am Ende eine Klausur

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Heaps Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 469 Prioritätswarteschlange Problem Häufig ist das Prinzip einer einfachen Warteschlangen-Datenstruktur

Mehr

Sichtbarkeitsbestimmung

Sichtbarkeitsbestimmung Sichtbarkeitsbestimmung Oliver Deussen Sichtbarkeit Problemdefinition Szenario: Gegebene Objektmenge wird von einem Augenpunkt aus betrachtet (perspektivische Projektion) Gegeben: Eine Menge M von Objekten

Mehr