(3) Ray Tracing - Beschleunigung

Größe: px
Ab Seite anzeigen:

Download "(3) Ray Tracing - Beschleunigung"

Transkript

1 (3) Ray Tracing - Beschleunigung Vorlesung Computergraphik II S. Müller (Dank an Markus Geimer) KOBLENZ LANDAU

2 Ray Tracing Scan-Konvertierung up Ray Tracing up A at A at Ray Tracing: das Bild wird durch Sehstrahlen abgetastet KOBLENZ LANDAU S. Müller - 2 -

3 Ray Tracing steht für Strahlverfolgung. Man geht in einer Schleife über alle Pixel und berechnet einen Strahl vom Augpunkt über das jeweilige Pixel hinweg. Dieser Strahl wird mit der Geometrie der Szene geschnitten und der vorderste Schnittpunkt (das sichtbare Objekt) ermittelt A Vorderster Schnittpunkt bestimmt die Farbe, die beim Pixel eingetragen wird. Um sicherzustellen, dass es der vorderste Schnittpunkt ist, müssen im Prinzip alle Objekte der Szene getestet werden KOBLENZ LANDAU S. Müller - 3 -

4 KOBLENZ LANDAU S. Müller Ray Tracing Für den vorderste Schnittpunkt wird auch die Normale auf den Schnittpunkt berechnet (ev. auch Texturkoordinate) und beleuchtet. Die Stärken des Ray-Tracers: Schatten wird durch Schattenfühler berechnet Rekursive Verfolgung des gebrochenen und reflektierten Sehstrahls Reflexion Transmission t t r s Lq i i i i n i d a d L k L k L b g r k L b g r k L = = # 1 cos cos δ ψ ϕ

5 Pseudo-Code Scan-Konvertierung struct { Point A; Point at; Vector up; float alpha, ratio; float zmin, zmax; } view; short xres, yres; { BeginDraw ( view, BackgroundColour); for (i=0; i< npolygons; i++) DrawPolygon ( Polygon[i], Colour[i]); } Ray Tracing RayTrace ( view ) { for ( y = 0 ; y < view.yres ; y++) for ( x = 0 ; x < view.xres ; x++) { ComputeRay ( x, y, view, &ray); Trace ( 0, ray, &colour)) PutPixel ( x, y, colour); } } Trace ( level, ray, &colour) { if ( Intersect ( level, ray, max, &hit)) Shade( level, hit, &colour); else colour = BackgroundColour; } KOBLENZ LANDAU S. Müller - 5 -

6 Die unterschiedliche Denke view plane p y P A 0 Scankonvertierung n p' y p z Transformation Kamera in Ursprung Perspektivische Projektion: ~Division durch z n n p' x = px p' y = p y p p z z Ray Tracing KOBLENZ LANDAU S. Müller Kamera in Weltkoordinaten bei Punkt A Gegeben ist das Pixel p x, p y Gesucht ist der vorderste Schnittpunkt P (ermittelt durch Strahlschnitt liefert das gleiche perspektivische Bild

7 Ray Tracing Vorteile Bessere Beleuchtungsmöglichkeiten (Schatten, Spiegelungen, Brechung) Nachteile Langsamer als Scankonvertierung Keine Hardware Warum ist der Ray Tracer langsamer? Scankonvertierung: jedes Polygon kann unabhängig von den anderen betrachtet werden KOBLENZ LANDAU S. Müller dadurch schnelle Bearbeitung jedes Polygon wird durch Transformations-Pipeline transformiert Rasterisierung parallelisierbar und inkrementell lösbar Problem Ray Tracing: für den Schnitttest braucht man Zugriff auf alle Objekte der Welt

8 KOBLENZ LANDAU S. Müller Nochmal Parameterdarstellung X A B C ( ) ( ) A C t A B s A X + + = ( ) C t B s A t s X + + = 1 C t B s A r X + + = t s r =1 Interpretation der Koordinaten als Gewichte/Gewichtungen im Dreieck Bi-Lineare Interpolation (Analog zu Gouraud-Shading) A X B = 1 t C X A B C =1 r X B C =1 s A

9 Baryzentrische Koordinaten Man betrachte ein masseloses Dreieck mit einem beliebigen Punkt P innerhalb der Dreiecksgrenzen. Die baryzentrischen Koordinaten von P sind diejenigen Gewichte m i, mit denen die Eckpunkte versehen werden müssen, damit ihr Schwerpunkt P ist. Die Summe aller Gewichte beträgt in diesem Zusammenhang 1 ; Bronstein & Semendjajew m 1 m P 1 + m2 + m3 = 1 m 2 m 3 (bary : (gr.) schwer ) KOBLENZ LANDAU S. Müller - 9 -

10 KOBLENZ LANDAU Beschleunigung

11 Grundidee Die meiste Zeit beim Ray-Tracing wird für die Schnittpunktberechnung benötigt. Grundidee ist die Vermeidung von Arbeit, also nicht mit allen Objekten Schnittpunkttests durchführen, sondern möglichst die Liste der zu testenden Kandidaten effizient einschränken KOBLENZ LANDAU S. Müller

12 Beschleunigung Wie kann man Ray Tracing beschleunigen? Effiziente Algorithmen für Schnittpunktberechnung und Vektoroperationen Effiziente Formeln Effiziente Algorithmen Cache-Optimierung Am teuersten sind die Hauptspeicherzugriffe Kohärenzausnutzung Parallelisierung, SIMD Aufteilung von Pixeln/Pixelbereichen/Zeilen oder Strahlverfolgungen auf verschiedenen Rechnern Effiziente Datenstrukturen KOBLENZ LANDAU S. Müller

13 Uniform grid Für jedes Voxel wird eine Kandidatenliste erstellt, die Liste der geschnittenen/ beinhalteten Objekte P Über die Welt wird ein uniformes Gitter von Würfeln gelegt (voxel: volume element) Vom Voxel des Strahlursprungs geht man nun in Strahlrichtung durch das Voxelgitter (3D-Bresenham) und testet alle Kandidaten des Voxels Dabei wird der vorderste Schnittpunkt zurückgegeben KOBLENZ LANDAU S. Müller

14 Uniform Grid Die Voxelgröße ist dabei benutzerdefiniert oder orientiert sich z.b. am kleinsten Objekt Dynamische Szenen: die Kandidatenlisten müssen aktualisiert werden. Worst-Case: Teapot in a Stadium P Problem: Objekte werden ev. mehrfach getestet. Lösung: Mailbox, man merkt sich die bereits getesteten Objekte (z.b. Ray-ID beim Objekt) KOBLENZ LANDAU S. Müller

15 Octree Für jedes Voxel wird eine Kandidatenliste erstellt. Man bestimmt das Voxel, das P beinhaltet. P Man sucht entlang der Strahlrichtung das nächste Voxel und testet alle Kandidaten des Voxels. Der Würfel, der die Szene umgibt, wird in 8 Teilwürfel unterteilt. Das ganze wird rekursiv fortgesetzt, bis max. n Kinder von einem Voxel geschnitten/beinhaltet werden. Z.B. indem man einen Punkt bestimmt, der sicher im nächstfolgenden Voxel liegt Dabei wird der vorderste Schnittpunkt zurückgegeben KOBLENZ LANDAU S. Müller

16 KOBLENZ LANDAU Hierarchien

17 Schnitt mit hierarchischen Strukturen Generell: Hierarchie platt machen geht am schnellsten Wenn das nicht möglich ist, gibt es zwei Möglichkeiten: Transformation entlang des Pfades akkumulieren Objekt entsprechend (in Weltkoordinaten) transformieren Rechter Arm Oberarm M 3 M 2 M 1 Schnitt des Strahls mit Objekt bestimmen Unterarm M 1 M 2 M 3 KOBLENZ LANDAU S. Müller

18 KOBLENZ LANDAU S. Müller Alternative: Man transformiert den Strahl in das lokale Koordinatensystem des Objekts Strahl besteht aus Punkt A und Richtung d: Schnitt dann mit transf. Strahl liefert wie gehabt die baryc. Koordinate und den Geradenparameter M M M M = 1 M Transformation Objekt -> Welt Transformation Welt -> Objekt = 1 ' 1 z y x A A A M A = 0 ' 1 z y x d d d M d

19 Beschleunigung Die Szene ist durch eine Liste geometrischer Objekte gegeben, die sequentiell bearbeitet wird Aufwand O(n) Bei sehr vielen Objekten nicht mehr praktikabel Anzahl der Schnittpunkttests reduzieren KOBLENZ LANDAU S. Müller

20 Bounding Volumes Komplexe geometrische Objekte bzw. ganze Objektgruppen werden durch Hüllen angenähert Anforderungen: 1) Die approximierten Objekte müssen vollständig innerhalb des Bounding Volumes liegen 2) Das BV sollte so kompakt wie möglich sein 3) Der Test auf Schnitt mit einem Strahl sollte möglichst schnell berechenbar sein KOBLENZ LANDAU S. Müller

21 Gängige BV-Typen Kugel einfacher Schnittpunkttest ineffizient, da häufig zu groß Oriented Bounding Box bessere Approximation, aber komplexerer Test Bounding Slabs Oft auch k-dops genannt (discretely oriented polytopes, wobei k für Anzahl der Ebenen steht) Schnitt von Paaren paralleler Ebenen fester Orientierung schnelle Berechnung Axis-Aligned Bounding Box einfache Berechnung (min/max) wird am häufigsten verwendet KOBLENZ LANDAU S. Müller DOP

22 KOBLENZ LANDAU S. Müller Slabs/k-dops = s = s = s = s = s = s 6

23 Slabs/k-dops: Erstellung Projiziere die Punkte der Objekte auf die Slab-Achsen Ermittle für jede Achse die minimale und die maximale Koordinate Pro Slab-Achse werden also 2 Koordinaten zur Beschreibung des Boundig- Volume abgespeichert Die Axis-Aligned Bounding Box ist quasi ein Spezialfall, wobei für die 3 Achsen die x min, x max, y min, y max, z min und z max Koordinate ermittelt wird. Die Projektion eines Eckpunktes E auf eine Slabachse s i erhält man durch das Skalarprodukt E s i KOBLENZ LANDAU S. Müller

24 Schnittpunkt Strahl mit k-dop Zuerst wird der Strahl (Punkt P und Richtung d) auf alle Slab-Achsen projiziert p P d = d s i = s i i i Die Strahlgleichung lautet: X = P + λ d Durch Einsetzen der minimalen und maximalen Koordinate pro Slab erhält man die 2 Schnittpunkte λi 1 = d min i d i p i λi 2 max i d Hieraus läßt sich schließlich der vorderste SP berechnen ( Maximum der Minima ) = KOBLENZ LANDAU S. Müller d i p i

25 Beispiel AABB y λ 2 λ 4 d Projektion auf x-achse P = x p x d x = d x Schnittpunkte x x min max analog λ λ 1 3 = = x y min min = 1 p x + λ d x p x + λ d x = 2 d d x y p p x y ; ; λ 2 λ 4 = = x y max d max d x y p p x y xmin xmax Wichtig: dx, dy 0 min t max KOBLENZ LANDAU S. Müller λ 3 P λ 1 Minimum für x-richtung: Minimum für y-richtung: Maximum der Minima: min Umgekehrt merken wir uns auch den kleinsten Größten t max ; kein Schnittpunkt liegt vor, wenn (s. Cyrus-Beck, CG 1): t > λ λ t 1 3 = λ 1 x

26 Schnittpunkttest Tests werden zuerst mit dem Bounding Volume durchgeführt Durch Zusammenfassen von BV s entsteht eine Baumstruktur Existiert kein Schnittpunkt, dann kann auch das innenliegende Objekt (bzw. die Objektgruppe) nicht getroffen werden Anderenfalls sind die innenliegenden Objekte zu testen, um den tatsächlichen Schnittpunkt (falls existent) zu ermitteln Blätter: Szenenobjekte Innere Knoten: BV des darunterliegenden Teilbaumes Ein Schnittpunkttest entspricht jetzt der Traversierung der Hierarchie Schlägt der Test mit einem inneren Knoten fehl, dann kann der gesamte Teilbaum ignoriert werden Mittlerer Aufwand: O(log n) KOBLENZ LANDAU S. Müller

27 Beispiel KOBLENZ LANDAU S. Müller

28 Beispiel Schnitt mit 13 Ja Schnitt mit 9 Ja Schnitt mit 1 Nein Schnitt mit 2 Nein Schnitt mit 3 Ja Schnitt mit 10 Ja, aber weiter entfernt Nur 3 anstatt 8 Tests mit Szenenobjekten, dazu 3 Tests mit BV s KOBLENZ LANDAU S. Müller

29 Hierarchie-Traversierung (Kay/Kajiya) Die Reihenfolge in der die Knoten bei der Tiefensuche abgearbeitet werden, hängt nur von der Position des Knotens im Baum ab Besser: Zusätzlich Berücksichtigung der räumlichen Lage des BV Kriterium: Entfernung des Schnittpunktes mit dem Bounding Volume vom Startpunkt des Strahles (estimated distance) Verwendung einer Priority Queue KOBLENZ LANDAU S. Müller

30 Beispiel Schnitt mit 13 Ja herausnehmen Schnitt mit 9 Nein Schnitt mit 10 Ja herausnehmen Schnitt mit 11 Ja Schnitt mit 12 Ja herausnehmen Schnitt mit 4 Ja Schnitt mit 5 Ja herausnehmen KOBLENZ LANDAU S. Müller Da es ein Geometrieobjekt (und kein BV) ist vorderster Schnittpunkt gefunden

31 Anmerkungen Der erste gefundene Schnittpunkt ist nicht unbedingt der Gesuchte: Wichtig: Schnittpunkte mit Geometrie in die P-Queue einsortieren. Ist das erste Element, das man aus der P-Queue herausnimmt, eine Geometrieknoten, kann man aufhören. Für die Priority Queue ist keine vollständige Ordnung notwendig, da in jedem Schleifendurchlauf nur das Element mit der kleinsten estimated distance benötigt wird Effiziente Umsetzung mit einem Heap KOBLENZ LANDAU S. Müller

32 Erzeugung von BV-Hierarchien Von Hand Durch die Modellierung gegeben (Szenengraph) Bottom-up: Rekursives Zusammenfassen von n Objekten mit einem BV Problem: Wie wähle ich die Objekte sinnvoll aus? Top-down: Median-cut: Sortieren der Objekte entlang einer Koordinatenachse, aufteilen in zwei Hälften und Verfahren rekursiv anwenden Problem: Sortierkriterium (Objekte haben Ausdehnung) Heuristik nach Goldsmith/Salmon KOBLENZ LANDAU S. Müller

33 BVH s nach Goldsmith/Salmon Objekte werden sequentiell in die Hierarchie eingefügt Die Einfügeposition wird dabei Top-down anhand einer Kostenfunktion (Wahrscheinlichkeit, ein BV zu treffen) gesucht: Schätzwert für die durchschnittliche Anzahl der Schnittpunkttests eines beliebigen Strahles mit den Bounding Volumes der Hierarchie Berechnet sich aus den Oberflächen der BV s und der Anzahl der Kindknoten Nach dem Einfügen des Objektes müssen die BV s entlang des Pfades zur Einfügeposition aktualisiert werden KOBLENZ LANDAU S. Müller

34 Was bringt s wirklich? Anzahl Kugeln Brute-force Bottom-up Goldsmith/ Salmon Rechenzeiten in Sekunden, Athlon XP (Markus Geimer) KOBLENZ LANDAU S. Müller

35 KOBLENZ LANDAU Binary Space Partitioning

36 Beispiel KOBLENZ LANDAU S. Müller

37 Idee Rekursive Aufteilung des Raumes in zwei Teilräume, getrennt durch eine Ebene Binärer Baum Blätter: Szenenobjekte (bzw. Objektlisten) Innere Knoten: Daten der splitting plane und Zeiger auf die beiden Kindknoten Abbruchkriterium: Anzahl der Objekte unterhalb eines Schwellwertes Erreichen der maximalen Baumtiefe KOBLENZ LANDAU S. Müller

38 Polygon-Aligned BSP Die Orientierung der splitting plane wird durch ein Polygon festgelegt Auswahl dieses Polygons z.b. durch least-crossed- Kriterium: Wähle das Polygon aus, dessen Ebene die wenigsten Schnitte mit anderen Polygonen aufweist Polygone müssen ggf. entlang der Schnittkante mit der splitting plane aufgespalten werden Nachteil: Erzeugung eines effizienten PA-BSP recht aufwendig KOBLENZ LANDAU S. Müller

39 Axis Aligned BSP KOBLENZ LANDAU S. Müller

40 Axis-Aligned BSP Ausrichtung der splitting plane ausschließlich parallel zu den Koordinatenachsen Auswahl der Ebene: entlang der längsten Kante alternierend (x y z x...) Position der Ebene: genau in der Mitte Oder Median (Objektanzahl in beiden Teilräumen gleich ist) In beiden Teilräumen enthaltene Objekte werden aufgespalten oder dupliziert (üblich) KOBLENZ LANDAU S. Müller

41 Traversierung Clippe den Strahl am BV der gesamten Szene Strahlintervall, in dem sich ein Schnittpunkt befinden kann Berechne für jeden Knoten den Schnitt mit der splitting plane und vergleiche mit dem Strahlintervall: KOBLENZ LANDAU S. Müller

42 Pseudocode traverse(ray r, Node n, float min, float max) { if (n is leaf) { intersect r with each primitive in object list, discarding those farther away than max return object with closest intersection point } dist = signed distance along r to splitting plane of n near = child of n containing origin of r far = the other child of n } if ((dist > max) or (dist < 0)) // traverse near side a) return traverse(r, near, min, max) else if (dist < min) // traverse far side b) return traverse(r, far, min, max) else { // traverse both sides c) hitinfo = traverse(r, near, min, dist) if (hitinfo indicates intersection) return hitinfo return traverse(r, far, dist, max) } KOBLENZ LANDAU S. Müller

43 Exkurs: k-d Tree Axis-Aligned BSP s werden im Ray Tracing Kontext oft auch als k-d Trees bezeichnet Eigentlich: Mehrdimensionaler, binärer Suchbaum Problem: Auf n-tupeln ist keine Ordnungsrelation definiert, was aber für normale Suchbäume nötig wäre Lösung: Jeder Knoten ordnet die Tupel bzgl. einer einzigen Dimension KOBLENZ LANDAU S. Müller

44 Beispiel (4,1) x (3,8) y (7,4) x (1,3) (2,9) (5,7) y (8,6) (6,3) (6,9) KOBLENZ LANDAU S. Müller

(9) Ray Tracing - Beschleunigung

(9) Ray Tracing - Beschleunigung (9) Ray Tracing - Beschleunigung Vorlesung Computergraphik II S. Müller (Dank an Markus Geimer) KOBLENZ LANDAU Ray Tracing Scan-Konvertierung up Ray Tracing up A at A at Ray Tracing: das Bild wird durch

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

6/14/07. Zur Wahl der Splitting-Plane. Naïve Wahl der Splitting-Plane: Besser: verwende Kostenfunktion. Motivation der Kostenfunktion.

6/14/07. Zur Wahl der Splitting-Plane. Naïve Wahl der Splitting-Plane: Besser: verwende Kostenfunktion. Motivation der Kostenfunktion. Zur Wahl der Splitting-Plane Naïve Wahl der Splitting-Plane: Split-Achse: - Round Robin (x, y, z, x, ) - Die längste Achse teilen Split-Position: - Mitte der Zelle - Median der eometrie Besser: verwende

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

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

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

Ray Tracing. 4. Vorlesung

Ray Tracing. 4. Vorlesung Ray Tracing 4. Vorlesung Photorealistische ti h Computergrafik Thorsten Grosch Einleitung Was wir bisher kennen Grundlagen on Licht und Reflexion Die Vorlesung heute Erste Anwendung für eine Lichtsimulation

Mehr

Ray Tracing. 2. Ray Tracing-Prinzip und -Algorithmen. 3. Schnittpunkt- und Normalenberechnung

Ray Tracing. 2. Ray Tracing-Prinzip und -Algorithmen. 3. Schnittpunkt- und Normalenberechnung 1. Vorbemerkungen 2. -Prinzip und -Algorithmen 3. Schnittpunkt- und Normalenberechnung 4. Verbesserte -Techniken 4.1 Supersampling 4.2 Adaptives Supersampling 4.3 Stochastisches Supersampling 4.4 Verteiltes

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

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

(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

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

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

Geometrie II. Deniz Neufeld Deniz Neufeld Geometrie II / 39

Geometrie II. Deniz Neufeld Deniz Neufeld Geometrie II / 39 Geometrie II Deniz Neufeld 20.06.2016 Deniz Neufeld Geometrie II 20.06.2016 1 / 39 Ziel Umgehen mit großen, mehrdimensionalen Datenmengen Bereichssuche Nearest-Neighbour-Search Mehrdimensionale Datenverarbeitung

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

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

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

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

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

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

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

Informatik Fakultät Lehrstuhl für Computergrafik und Visualisierung. René Lützner

Informatik Fakultät Lehrstuhl für Computergrafik und Visualisierung. René Lützner Informatik Fakultät Lehrstuhl für Computergrafik und Visualisierung René Lützner Dresden, 22.05.2013 Motivation Computer Simulationen von dynamischen Molekulardaten Eigenschaften und Verhalten von großen

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

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

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

Raytracing. Ausarbeitung zum Proseminarvortrag vom im Rahmen des Proseminars Computergraphik und Visualisierung TU München.

Raytracing. Ausarbeitung zum Proseminarvortrag vom im Rahmen des Proseminars Computergraphik und Visualisierung TU München. ... Raytracing Ausarbeitung zum Proseminarvortrag vom 3.7.2007 im Rahmen des Proseminars Computergraphik und Visualisierung TU München Florian Ferstl Inhaltsverzeichnis 1 Grundlagen 2 1.1 Was ist Raytracing?.............................................

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

Beleuchtungsmodelle und Shading

Beleuchtungsmodelle und Shading Beleuchtungsmodelle und Shading Andreas Spillner Computergrafik, WS 2018/2019 Ziel der Modellierung von Beleuchtung Baut auf dem Kapitel zu Licht und Farben auf. In die 3D-Szene werden Lichtquellen eingebracht.

Mehr

Algorithmische Geometrie: Arrangements und

Algorithmische Geometrie: Arrangements und Algorithmische Geometrie: Arrangements und Dualität Nico Düvelmeyer WS 2009/2010, 19.1.2010 Überblick 1 Strahlenverfolgung und Diskrepanz 2 Dualität Dualitäts-Abbildung Transformation des Problems zur

Mehr

(12) Wiederholung. Vorlesung Computergrafik T. Grosch

(12) Wiederholung. Vorlesung Computergrafik T. Grosch (12) Wiederholung Vorlesung Computergrafik T. Grosch Klausur 18.7. 14 16 Uhr, Hörsaal 5 (Physik) 2 Zeitstunden 8 Aufgaben Drei Aufgabentypen Übungsaufgaben Wissensfragen zur Vorlesung Transferfragen Unterschiedlicher

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

{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

Algorithmische Geometrie 3. Schnitte von Liniensegmenten

Algorithmische Geometrie 3. Schnitte von Liniensegmenten Algorithmische Geometrie 3. Schnitte von Liniensegmenten JProf. Dr. Heike Leitte Computergraphik und Visualisierung Inhaltsverzeichnis 1. Einführung 2. Konvexe Hülle 3. Schnitte von Liniensegmenten 4.

Mehr

Shader. Computer Graphics: Shader

Shader. Computer Graphics: Shader Computer Graphics Computer Graphics Shader Computer Graphics: Shader Inhalt Pipeline Memory Resources Input-Assembler Vertex-Shader Geometry-Shader & Stream-Output Rasterizer Pixel-Shader Output-Merger

Mehr

4.7 Globale Beleuchtungsmodelle

4.7 Globale Beleuchtungsmodelle Erinnerung: - Ein lokales Beleuchtungsmodell berücksichtigt nur das direkt einfallende Licht einer Lichtquelle - Nur lokale Beleuchtung + konstante ambiente Beleuchtung, um reflektiertes und gebrochenes

Mehr

Raytracing. Tobias Pfeiffer. 29. November Freie Universität Berlin Fachbereich Mathematik und Informatik

Raytracing. Tobias Pfeiffer. 29. November Freie Universität Berlin Fachbereich Mathematik und Informatik s G. tobias.pfeiffer@math.fu-berlin.de Freie Universität Berlin Fachbereich Mathematik und Informatik 29. November 2007 s 1 des Renderings 2 -Verfahrens 3 Schnittpunktbestimmung 4 Farbbestimmung 5 Stochastisches/

Mehr

Hallo Welt für Fortgeschrittene

Hallo Welt für Fortgeschrittene Hallo Welt für Fortgeschrittene Geometrie II Tiago Joao Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Inhalt Koordinatenkompression Beispiel: SafeJourney Typische compress-funktion Bereichssuche

Mehr

Datenstrukturen und Algorithmen

Datenstrukturen und Algorithmen Joost-Pieter Katoen Datenstrukturen und Algorithmen 1/36 Datenstrukturen und Algorithmen Vorlesung 20: (K33) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://moves.rwth-aachen.de/teaching/ss-15/dsal/

Mehr

Teil 8: Ray Tracing. Ray Tracing Einleitung. Beleuchtung, inkl. Schatten, Reflexionen

Teil 8: Ray Tracing. Ray Tracing Einleitung. Beleuchtung, inkl. Schatten, Reflexionen Beleuchtung, inkl. Schatten, Reflexionen Ray Tracing Einleitung Forward Ray Tracing: Lichtwege verfolgen: wohin fällt Licht? vgl. shooting (Radiosity) Strahlen verfehlen Auge: aufwendig! Backward Ray Tracing:

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

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

Graphische Datenverarbeitung

Graphische Datenverarbeitung Einige Ray Tracing Details Prof. Dr.-Ing. Detlef Krömker Goethe-Universität, Frankfurt Rückblick Globale Beleuchtungsmodelle Global heißt, daß nicht nur die Wechselwirkung der Oberflächen mit den Lichtquellen,

Mehr

2.2. Schnitte von Liniensegmenten

2.2. Schnitte von Liniensegmenten Wir wenden uns nun dem Problem (2) aus 1 zu. F15 Aus zwei Mengen S1, S2 von Liniensegmenten möchten wir alle Schnittpunkte der Segmente aus S1 mit denen aus S2 ermitteln. Wir legen fest, dass sich zwei

Mehr

Geometrische Algorithmen Segmentschnitt

Geometrische Algorithmen Segmentschnitt Folie 1 von 36 Geometrische Algorithmen Segmentschnitt Folie 2 von 36 Segmentschnitt Übersicht Zwei Segmente Lage zweier Segmente Prüfung auf Schnittfreiheit Formeln zum Geradenschnitt Feststellen des

Mehr

Geometrische Algorithmen Segmentschnitt

Geometrische Algorithmen Segmentschnitt Folie 1 von 36 Geometrische Algorithmen Segmentschnitt Folie 2 von 36 Segmentschnitt Übersicht Zwei Segmente! Lage zweier Segmente! Prüfung auf Schnittfreiheit! Formeln zum Geradenschnitt! Feststellen

Mehr

Teil 1: Suchen. Ausgeglichene Bäume B-Bäume Digitale Suchbäume. M.O.Franz, Oktober 2007 Algorithmen und Datenstrukturen - Binärbäume 1-1

Teil 1: Suchen. Ausgeglichene Bäume B-Bäume Digitale Suchbäume. M.O.Franz, Oktober 2007 Algorithmen und Datenstrukturen - Binärbäume 1-1 Teil : Suchen Problemstellung Elementare Suchverfahren Hashverfahren Binäre Suchbäume (Wiederholung aus Prog 2) Bäume: Begriffe, Eigenschaften und Traversierung Binäre Suchbäume Gefädelte Suchbäume Ausgeglichene

Mehr

Informatik II Prüfungsvorbereitungskurs

Informatik II Prüfungsvorbereitungskurs Informatik II Prüfungsvorbereitungskurs Tag 4, 23.6.2016 Giuseppe Accaputo g@accaputo.ch 1 Programm für heute Repetition Datenstrukturen Unter anderem Fragen von gestern Point-in-Polygon Algorithmus Shortest

Mehr

Computergrafik 1 Beleuchtung

Computergrafik 1 Beleuchtung Computergrafik 1 Beleuchtung Kai Köchy Sommersemester 2010 Beuth Hochschule für Technik Berlin Überblick Lokale Beleuchtungsmodelle Ambiente Beleuchtung Diffuse Beleuchtung (Lambert) Spiegelnde Beleuchtung

Mehr

Datenstrukturen und Algorithmen. 7. Suchen in linearen Feldern

Datenstrukturen und Algorithmen. 7. Suchen in linearen Feldern Datenstrukturen und Algorithmen 7. Suchen in linearen Feldern VO 708.031 Suchen in linearen Feldern robert.legenstein@igi.tugraz.at 1 Inhalt der Vorlesung 1. Motivation, Einführung, Grundlagen 2. Algorithmische

Mehr

Grundlagen zur Delaunay-Triangulierung und zur konvexen Hülle. zum Begriff des Voronoi-Diagramms (vgl. auch Vorlesung "Algorithmische Geometrie"):

Grundlagen zur Delaunay-Triangulierung und zur konvexen Hülle. zum Begriff des Voronoi-Diagramms (vgl. auch Vorlesung Algorithmische Geometrie): Grundlagen zur Delaunay-Triangulierung und zur konvexen Hülle zum Begriff des Voronoi-Diagramms (vgl. auch Vorlesung "Algorithmische Geometrie"): 1 Erzeugung des Voronoi-Diagramms (siehe Vorlesung "Algorithmische

Mehr

Trees. November 14, Algorithms & Datastructures 2 Exercises WT 2017

Trees. November 14, Algorithms & Datastructures 2 Exercises WT 2017 Trees November 14, 2017 Algorithms & Datastructures 2 Exercises WT 2017 Dipl.-Ing. University Linz, Institute for Pervasive Computing Altenberger Straße 69, A-4040 Linz anzengruber@pervasive.jku.at Binärbaum

Mehr

Visualisierung und Volumenrendering 2

Visualisierung und Volumenrendering 2 Institut für Computervisualistik Universität Koblenz 06.07.2012 Inhaltsverzeichnis 1 Literatur 2 Wiederholung 3 DVR Volumen Literatur Real-Time Volume Graphics Volumenrendering CG Shader Beispiele Volumen

Mehr

Technische Raytracer

Technische Raytracer Technische Raytracer 2 s 2 (1 (n u) 2 ) 3 u 0 = n 1 n 2 u n 4 n 1 n 2 n u 1 n1 n 2 5 Arten von Raytracer 19.23 MM Double Gauss - U.S. Patent 2,532,751 Scale: 1.30 ORA 03-Jun-13 Einleitung Raytracing Lichtstrahlen-Verfolgung

Mehr

IR Seminar SoSe 2012 Martin Leinberger

IR Seminar SoSe 2012 Martin Leinberger IR Seminar SoSe 2012 Martin Leinberger Suchmaschinen stellen Ergebnisse häppchenweise dar Google: 10 Ergebnisse auf der ersten Seite Mehr Ergebnisse gibt es nur auf Nachfrage Nutzer geht selten auf zweite

Mehr

Kapitel 6: Algorithmen der Computer-Geometrie

Kapitel 6: Algorithmen der Computer-Geometrie LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Kapitel 6: Algorithmen der Computer-Geometrie Skript zur Vorlesung Geo-Informationssysteme Wintersemester 2015/16 Ludwig-Maximilians-Universität

Mehr

Trees. November 13, Algorithms & Datastructures 2 Exercises WT 2017

Trees. November 13, Algorithms & Datastructures 2 Exercises WT 2017 Trees November 13, 2018 Algorithms & Datastructures 2 Exercises WT 2017 Dipl.-Ing. University Linz, Institute for Pervasive Computing Altenberger Straße 69, A-4040 Linz anzengruber@pervasive.jku.at Binärbaum

Mehr

Computergrafik Universität Osnabrück, Henning Wenke,

Computergrafik Universität Osnabrück, Henning Wenke, Computergrafik Universität Osnabrück, Henning Wenke, 2012-07-09 Noch Kapitel XVI Realtime Ray Tracing KD-Tree: Surface Area Heuristic Ziele der Aufteilung in Child Nodes: 1. Möglichst gleich viele Objekte

Mehr

Computer-Graphik II Beschleunigung des Ray-Tracing

Computer-Graphik II Beschleunigung des Ray-Tracing lausthal omputer-raphik II Beschleunigung des Ray-Tracing lausthal University, ermany cg.in.tu-clausthal.de Kosten des Ray-Tracing cost height * width * num primitives * intersection cost * size of recursive

Mehr

Suchbäume. Suchbäume. Einfügen in Binären Suchbäumen. Suchen in Binären Suchbäumen. Prinzip Suchbaum. Algorithmen und Datenstrukturen

Suchbäume. Suchbäume. Einfügen in Binären Suchbäumen. Suchen in Binären Suchbäumen. Prinzip Suchbaum. Algorithmen und Datenstrukturen Suchbäume Suchbäume Prinzip Suchbaum Der Wert eines Knotens wird als Schlüssel verstanden Knoten kann auch weitere Daten enthalten, die aber hier nicht weiter betrachtet werden Werte der Schlüssel müssen

Mehr

Geometrische Algorithmen Segmentschnitt. Lernmodul 7: Geo-Algorithmen und -Datenstrukturen - Segmentschnitt

Geometrische Algorithmen Segmentschnitt. Lernmodul 7: Geo-Algorithmen und -Datenstrukturen - Segmentschnitt Folie 1 von 37 Geometrische Algorithmen Segmentschnitt Folie 2 von 37 Segmentschnitt Übersicht Zwei Segmente Lage zweier Segmente Prüfung auf Schnittfreiheit Formeln zum Geradenschnitt Feststellen des

Mehr

Kapitel 8 Kollisionserkennung

Kapitel 8 Kollisionserkennung Kapitel 8 Kollisionserkennung Lukas Zimmer Gliederung Einführung Kollision mit einer Ebene Kugel - Ebene Quader - Ebene Räumliche Aufteilung Allgemeine Kugel Kollisionen Sliding Kollision von zwei Kugeln

Mehr

Algorithmische Geometrie 7. Punktsuche

Algorithmische Geometrie 7. Punktsuche Algorithmische Geometrie 7. Punktsuche JProf. Dr. Heike Leitte Computergraphik und Visualisierung Inhaltsverzeichnis 1. Einführung 2. Konvexe Hülle 3. Schnitte von Liniensegmenten 4. Schnitte planarer

Mehr

Modellierung. Oliver Hartmann

Modellierung. Oliver Hartmann Modellierung Oliver Hartmann oliver.hartmann@uni-ulm.de Inhalt Boolesche Operationen Splines B-Splines Bezier-Kurven NURBS Anwendung Sculpting Volumengrafik Marching Cubes Ray Casting Texture Mapping Boolesche

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen B7. Balancierte Bäume 1 Marcel Lüthi and Gabriele Röger Universität Basel 13. April 2018 1 Folien basieren auf Vorlesungsfolien von Sedgewick & Wayne https://algs4.cs.princeton.edu/lectures/33balancedsearchtrees-2x2.pdf

Mehr

Übungsstunde 8 zu Computergrafik 1

Übungsstunde 8 zu Computergrafik 1 Institut für Computervisualistik Universität Koblenz 14. und 15. Januar 2013 Inhaltsverzeichnis 1 Wiederholung - Beleuchtung Gouraud-Shading Phong-Shading Flat-Shading Vergleich 2 - Idee in OpenGL Texturfilterung

Mehr

Geometrie 1. Roman Sommer. Informatik 2 Programmiersysteme Martensstraße Erlangen

Geometrie 1. Roman Sommer. Informatik 2 Programmiersysteme Martensstraße Erlangen Geometrie 1 Roman Sommer Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Grundlagen Punkte, Vektoren Schreibweise: Skalar: Vektor: Komponente: Punkt: (spitzer) Winkel zw. zwei Vektoren:

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

Ray Tracing. Kapitel Grundlagen. Abbildung 23.1: Prinzip der Strahlverfolgung

Ray Tracing. Kapitel Grundlagen. Abbildung 23.1: Prinzip der Strahlverfolgung Kapitel 23 Ray Tracing 23.1 Grundlagen 2 Lichtquellen * * solider Körper solider Körper spiegelnder und transparenter Körper Bildebene Augenpunkt Abbildung 23.1: Prinzip der Strahlverfolgung Verfahren

Mehr

Ray Tracing. Kapitel Grundlagen. Abbildung 24.1: Prinzip der Strahlverfolgung

Ray Tracing. Kapitel Grundlagen. Abbildung 24.1: Prinzip der Strahlverfolgung Kapitel 24 Ray Tracing 24.1 Grundlagen 2 Lichtquellen * * solider Körper solider Körper spiegelnder und transparenter Körper Bildebene Augenpunkt Abbildung 24.1: Prinzip der Strahlverfolgung Verfahren

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

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

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

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

Übungsblatt 10: Klausurvorbereitung

Übungsblatt 10: Klausurvorbereitung Übungsblatt 10: Klausurvorbereitung Abgabe: Dieses spezielle Übungsblatt hat keine Abgabefrist und wird auch nicht korrigiert. Die Lösung gibt es wie immer auf der Homepage der Vorlesung oder in den Übungen

Mehr

9 Arrangements und Dualität

9 Arrangements und Dualität 9 Arrangements und Dualität 9.1 Strahlenverfolgung und Diskrepanz Wir betrachten eine Anwendung aus der Computergraphik: realistische Bilder von 3D- Szenen lassen sich durch ray tracing berechnen. Für

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

Seminar. Algorithmische Geometrie

Seminar. Algorithmische Geometrie Seminar Algorithmische Geometrie WS 2000/2001 Thema: Konvexe Hülle Mirko Dennler 21439 Inhaltsverzeichnis Konvexe Hülle 1. Problemstellung 3 2. GRAHAMS SCAN 4-5 3. JARVIS' MARCH 5-6 4. QUICK HULL 6-7 5.

Mehr

Schattenwurf mit Perspective Shadow Maps

Schattenwurf mit Perspective Shadow Maps 16. April 2010 Xpiriax Software Wer wir sind und was wir machen Hobby-Entwicklerteam, zur Zeit 6 Personen gegründet Anfang 2008 Schwerpunkte: Spiele- & 3D-Engine-Programmierung Ziele: Erfahrung, Arbeitsproben,

Mehr

Einfache binäre Suchbäume können entarten, so dass sich die Tiefen ihrer Blattknoten stark unterscheiden

Einfache binäre Suchbäume können entarten, so dass sich die Tiefen ihrer Blattknoten stark unterscheiden 5.6.2 AVL-Bäume Einfache binäre Suchbäume können entarten, so dass sich die Tiefen ihrer Blattknoten stark unterscheiden AVL-Bäume, benannt nach ihren Erfindern G. M. Adelson- Velskii und E. M. Landis,

Mehr

Kapitel 1. Globale Beleuchtung. 1.1 Ray Tracing Schatten, Reflexion und Brechung

Kapitel 1. Globale Beleuchtung. 1.1 Ray Tracing Schatten, Reflexion und Brechung Kapitel 1 Globale Beleuchtung Biher haben wir nur Licht von Lichtquellen berückichtigt. Gegentände werden aber auch durch indirekte Licht beleuchtet, da durch diffue oder direkte Reflexion entteht. Effekte

Mehr

(7) Normal Mapping. Vorlesung Computergraphik II S. Müller. Dank an Stefan Rilling U N I V E R S I T Ä T KOBLENZ LANDAU

(7) Normal Mapping. Vorlesung Computergraphik II S. Müller. Dank an Stefan Rilling U N I V E R S I T Ä T KOBLENZ LANDAU (7) Normal Mapping Vorlesung Computergraphik II S. Müller Dank an Stefan Rilling Einleitung Die Welt ist voller Details Viele Details treten in Form von Oberflächendetails auf S. Müller - 3 - Darstellung

Mehr

3D - Modellierung. Arne Theß. Proseminar Computergraphik TU Dresden

3D - Modellierung. Arne Theß. Proseminar Computergraphik TU Dresden 3D - Modellierung Arne Theß Proseminar Computergraphik TU Dresden Gliederung Darstellungsschemata direkte Constructive Solid Geometry (CSG) Generative Modellierung Voxelgitter indirekte Drahtgittermodell

Mehr

4.3 R-Bäume (I) Idee. basiert auf der Technik überlappender Seitenregionen verallgemeinert die Idee des B + -Baums auf den 2-dimensionalen Raum

4.3 R-Bäume (I) Idee. basiert auf der Technik überlappender Seitenregionen verallgemeinert die Idee des B + -Baums auf den 2-dimensionalen Raum 4.3 R-Bäume (I) Idee basiert auf der Technik überlappender Seitenregionen verallgemeinert die Idee des B + -Baums auf den 2-dimensionalen Raum Geo-Informationssysteme 98 4.3 R-Bäume (I) Definition Ein

Mehr

Architektur und Programmierung von Grafik- und Koprozessoren

Architektur und Programmierung von Grafik- und Koprozessoren Architektur und Programmierung von Grafik- und Koprozessoren Rendering Algorithmen Stefan Zellmann Lehrstuhl für Informatik, Universität zu Köln SS2018 Strahlstärke Uns interessiert die Strahlstärke (engl.:

Mehr

Das Problem des Handlungsreisenden

Das Problem des Handlungsreisenden Seite 1 Das Problem des Handlungsreisenden Abbildung 1: Alle möglichen Rundreisen für 4 Städte Das TSP-Problem tritt in der Praxis in vielen Anwendungen als Teilproblem auf. Hierzu gehören z.b. Optimierungsprobleme

Mehr

Pro Informatik 2009: Objektorientierte Programmierung Tag 18. Marco Block-Berlitz, Miao Wang Freie Universität Berlin, Institut für Informatik

Pro Informatik 2009: Objektorientierte Programmierung Tag 18. Marco Block-Berlitz, Miao Wang Freie Universität Berlin, Institut für Informatik Tag 18 Marco Block-Berlitz, Miao Wang Freie Universität Berlin, Institut für Informatik 09.09.2009 Agenda Tag 16 Datenstrukturen Abstrakte Datentypen, ADT Folge: Stack, Queue, Liste, ADT Menge: Bäume:

Mehr

Algorithmen und Datenstrukturen 12

Algorithmen und Datenstrukturen 12 12. Juli 2012 1 Besprechung Blatt 11 Fragen 2 Binary Search Binäre Suche in Arrays Binäre Suchbäume (Binary Search Tree) 3 Sortierverfahren Allgemein Heapsort Bubblesort Insertionsort Mergesort Quicksort

Mehr

Geometrie 1. Christian Bay Christian Bay Geometrie / 46

Geometrie 1. Christian Bay Christian Bay Geometrie / 46 Geometrie 1 Christian Bay 02.07.2013 Christian Bay Geometrie 1 02.07.2013 1 / 46 Inhaltsverzeichnis Grundlagen CCW Polygone Picks Theorem Konvexe Hülle Christian Bay Geometrie 1 02.07.2013 2 / 46 Geometrie

Mehr

Von Aachen nach Halle...

Von Aachen nach Halle... Von Aachen nach Halle... Koeln? Aachen Halle 14. 6. 15. 6. 16. 6. Saarbruecken? Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 3 Von Aachen nach Halle... Koeln? Aachen Halle 14. 6. 15.

Mehr

Geradenarrangements und Dualität von Punkten und Geraden

Geradenarrangements und Dualität von Punkten und Geraden Vorlesung Algorithmische Geometrie von Punkten und Geraden INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 12.06.2012 Dualitätsabbildung Bisher haben wir Dualität für planare

Mehr

Rendering: Lighting and Shading

Rendering: Lighting and Shading Rendering: Lighting and Shading Hauptseminar: How to make a Pixar Movie Inhalt Einführung Was ist Rendering Was ist Reflexionsmodelle Lighting Shading Globale Beleuchtungsmodelle Zusammenfassung 2/53 Inhalt

Mehr

(11) Ray Tracing. Vorlesung Computergrafik T. Grosch

(11) Ray Tracing. Vorlesung Computergrafik T. Grosch (11) Ray Tracing Vorlesung Computergrafik T. Grosch Was bisher geschah Rendering Unter Rendering ersteht man die Abbildung einer abstrakten, geometrischen Beschreibung ( z. B. einer modellierten Szene)

Mehr

2D-Clipping. Kapitel Clipping von Linien. y max. y min x min. x max

2D-Clipping. Kapitel Clipping von Linien. y max. y min x min. x max Kapitel 5 2D-Clipping Ziel: Nur den Teil einer Szene darstellen, der innerhalb eines Fensters sichtbar ist. y max y min x min x max Abbildung 5.1: Clip-Fenster 5.1 Clipping von Linien Zu einer Menge von

Mehr

Datenstrukturen und Algorithmen D-INFK. Musterlösung 1

Datenstrukturen und Algorithmen D-INFK. Musterlösung 1 Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik Peter Widmayer

Mehr

Geradenarrangements und Dualität von Punkten und Geraden

Geradenarrangements und Dualität von Punkten und Geraden Vorlesung Algorithmische Geometrie von Punkten und Geraden INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 12.06.2012 Dualitätsabbildung Bisher haben wir Dualität für planare

Mehr

9 Minimum Spanning Trees

9 Minimum Spanning Trees Im Folgenden wollen wir uns genauer mit dem Minimum Spanning Tree -Problem auseinandersetzen. 9.1 MST-Problem Gegeben ein ungerichteter Graph G = (V,E) und eine Gewichtsfunktion w w : E R Man berechne

Mehr

Einleitung 2. 1 Koordinatensysteme 2. 2 Lineare Abbildungen 4. 3 Literaturverzeichnis 7

Einleitung 2. 1 Koordinatensysteme 2. 2 Lineare Abbildungen 4. 3 Literaturverzeichnis 7 Sonja Hunscha - Koordinatensysteme 1 Inhalt Einleitung 2 1 Koordinatensysteme 2 1.1 Kartesisches Koordinatensystem 2 1.2 Polarkoordinaten 3 1.3 Zusammenhang zwischen kartesischen und Polarkoordinaten 3

Mehr