Polygontriangulierung

Größe: px
Ab Seite anzeigen:

Download "Polygontriangulierung"

Transkript

1 Übung Algorithmische Geometrie Polygontriangulierung LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Benjamin Niedermann

2 Ablauf Vergabe der Projekte Übungsblatt 3

3 Projekte Ziel: Visualisierung von in der Vorlesung vorgestellten Algorithmen tiefes eigenes Verständnis & Lernmaterial für Kommilitonen.

4 Projekte Ziel: Visualisierung von in der Vorlesung vorgestellten Algorithmen tiefes eigenes Verständnis & Lernmaterial für Kommilitonen. Ablauf: Jedes Team (Größe 2) bearbeitet ein eigenes Thema.

5 Projekte Ziel: Visualisierung von in der Vorlesung vorgestellten Algorithmen tiefes eigenes Verständnis & Lernmaterial für Kommilitonen. Ablauf: Jedes Team (Größe 2) bearbeitet ein eigenes Thema. Anforderungen an Implementierung: Ablauf der Algorithmen soll visualisiert werden, z.b. schrittweise Benutzer soll Eingabe über graphische Oberfläche machen können. Interaktion mit Benutzer, z.b. schrittweises vor und zurück. Benutzer soll bereits vorhandene Beispieleingaben laden können. Bedienungsanleitung soll in Programm enthalten sein.

6 Projekte Ziel: Visualisierung von in der Vorlesung vorgestellten Algorithmen tiefes eigenes Verständnis & Lernmaterial für Kommilitonen. Ablauf: Jedes Team (Größe 2) bearbeitet ein eigenes Thema. Anforderungen an Implementierung: Ablauf der Algorithmen soll visualisiert werden, z.b. schrittweise Benutzer soll Eingabe über graphische Oberfläche machen können. Interaktion mit Benutzer, z.b. schrittweises vor und zurück. Benutzer soll bereits vorhandene Beispieleingaben laden können. Bedienungsanleitung soll in Programm enthalten sein. Programmiersprache: Java (empfohlen) geeignete andere Sprachen sind auch erlaubt.

7 Projekte Ziel: Visualisierung von in der Vorlesung vorgestellten Algorithmen tiefes eigenes Verständnis & Lernmaterial für Kommilitonen. Ablauf: Jedes Team (Größe 2) bearbeitet ein eigenes Thema. Anforderungen an Implementierung: Ablauf der Algorithmen soll visualisiert werden, z.b. schrittweise Benutzer soll Eingabe über graphische Oberfläche machen können. Interaktion mit Benutzer, z.b. schrittweises vor und zurück. Benutzer soll bereits vorhandene Beispieleingaben laden können. Bedienungsanleitung soll in Programm enthalten sein. Programmiersprache: Java (empfohlen) geeignete andere Sprachen sind auch erlaubt. Anforderungen an Abgabe: Abgabe enthält plattformunabhängige ausführbare Datei, z.b. jar-datei gerne auch direkt im Browser ausführbar, z.b. als Java-Applet

8 Projekte Ziel: Visualisierung von in der Vorlesung vorgestellten Algorithmen tiefes eigenes Verständnis & Lernmaterial für Kommilitonen. Ablauf: Jedes Team (Größe 2) bearbeitet ein eigenes Thema. Anforderungen an Implementierung: Ablauf der Algorithmen soll visualisiert werden, z.b. schrittweise Benutzer soll Eingabe über graphische Oberfläche machen können. Interaktion mit Benutzer, z.b. schrittweises vor und zurück. Wichtig: Benutzer soll bereits vorhandene Beispieleingaben laden können. Programm Bedienungsanleitung soll leicht soll auszuführen in Programmund enthalten zu bedienen sein. sein! Programmiersprache: Java (empfohlen) geeignete andere Sprachen sind auch erlaubt. Anforderungen an Abgabe: Abgabe enthält plattformunabhängige ausführbare Datei, z.b. jar-datei gerne auch direkt im Browser ausführbar, z.b. als Java-Applet

9 Projekte Zeitlicher Ablauf Vergabe der Themen Treffen mit Betreuer bis zum Konzepte & Umsetzung 2. Treffen mit Betreuer bis zum Letzte Details, Programm ist fast fertig Abgabe der Programme am Mai Juni Vorstellung der Programme in den Übungen. Juli 6.07

10 Themen Thema Konvexe Hülle Chans Algorithmus Thema 2 Einfaches Polygon y-monotones Polygon Thema 3 y-monotones Polygon Triangulierung

11 Themen Thema 4 Lin. Prog. Schnitt von konvexen Regionen l C C 2 c h 6 h 5 h 4 h 3 h h 2 v 2 v 3 v 4 v 5 v 6 Thema 5 Lin. Prog. Inkrementeller Ansatz l 5 l l 7 Thema 6 Bereichsanfrage kd-tree p l 2 l 8 4 p p 2 p 5 p 3 p 9 p 7 l 9 p0 p 6 p 8 l 3 p 3 p 4 p 5 p 8 p 9 p 0 l 4 l 6 p p 2 p 6 p 7

12 Themen Thema 7 Bereichsanfrage Range-Tree T x v P (v) T y (v) P (v) r p q l r Thema 8 Dualität Kleinstes Dreieck Thema 9 Dualität Ham-Sandwich-Theorem

13 Themen Thema 0 Well-Separated Pair Decomposition s t Thema Sichtbarkeitsgraph

14 Ablauf Vergabe der Projekte Übungsblatt 3

15 Das Kunstgalerie-Problem Aufgabe: Installiere ein Kamerasystem zur Überwachung einer Kunstgalerie, so dass jede Stelle der Galerie gesehen wird.

16 Das Kunstgalerie-Problem Aufgabe: Installiere ein Kamerasystem zur Überwachung einer Kunstgalerie, so dass jede Stelle der Galerie gesehen wird. P Annahme: Beobachtung: Definition: Ziel: Galerie ist ein einfaches Polygon P mit n Ecken (keine Schnitte, keine Löcher) jede Kamera sieht sternförmiges Gebiet Punkt p P ist sichtbar von c P wenn cp P Nutze möglichst wenige Kameras! NP-schwer! Anzahl hängt von der Komplexität n und der Form von P ab

17 Vereinfachung des Problems Beobachtung: Dreiecke sind leicht zu überwachen Idee: zerlege P in Dreiecke und überwache die Dreiecke Satz : Jedes einfache Polygon mit n Ecken besitzt eine Triangulierung; jede Triangulierung besteht aus n 2 Dreiecken. P lässt sich mit n 2 Kameras in den Dreiecken überwachen P lässt sich mit n/2 Kameras auf den Diagonalen überwachen P lässt sich mit noch weniger Kameras auf den Ecken überwachen

18 Das Art-Gallery-Theorem [Chvátal 75] Satz 2:Für ein einfaches Polygon P mit n Ecken sind manchmal n/3 Kameras nötig, aber immer ausreichend um P zu überwachen. Beweis: Finde einfaches Polygon für beliebiges n, das n/3 Kameras braucht! Teil 2 an der Tafel. Fazit: Hat man eine Triangulierung, lassen sich n/3 Kameras in O(n) Zeit platzieren.

19 Aufgabe 3 P sei Polygon. Kameras sind so platziert, dass der vollständige Rand von P abgedeckt wird. Wird automatisch auch das Innere vollständig abgedeckt?

20 Aufgabe 3 P sei Polygon. Kameras sind so platziert, dass der vollständige Rand von P abgedeckt wird. Wird automatisch auch das Innere vollständig abgedeckt?

21 Aufgabe 3 P sei Polygon. Kameras sind so platziert, dass der vollständige Rand von P abgedeckt wird. Wird automatisch auch das Innere vollständig abgedeckt?

22 Aufgabe 3 P sei Polygon. Kameras sind so platziert, dass der vollständige Rand von P abgedeckt wird. Wird automatisch auch das Innere vollständig abgedeckt?

23 Aufgabe 3 P sei Polygon. Kameras sind so platziert, dass der vollständige Rand von P abgedeckt wird. Wird automatisch auch das Innere vollständig abgedeckt?

24 Aufgabe 3 P sei Polygon. Kameras sind so platziert, dass der vollständige Rand von P abgedeckt wird. Wird automatisch auch das Innere vollständig abgedeckt?

25 Aufgabe 3 P sei Polygon. Kameras sind so platziert, dass der vollständige Rand von P abgedeckt wird. Wird automatisch auch das Innere vollständig abgedeckt?

26 Aufgabe 3 P sei Polygon. Kameras sind so platziert, dass der vollständige Rand von P abgedeckt wird. Wird automatisch auch das Innere vollständig abgedeckt?

27 Aufgabe 3 P sei Polygon. Kameras sind so platziert, dass der vollständige Rand von P abgedeckt wird. Wird automatisch auch das Innere vollständig abgedeckt?

28 Aufgabe 3 P sei Polygon. Kameras sind so platziert, dass der vollständige Rand von P abgedeckt wird. Wird automatisch auch das Innere vollständig abgedeckt?

29 Aufgabe 3 P sei Polygon. Kameras sind so platziert, dass der vollständige Rand von P abgedeckt wird. Wird automatisch auch das Innere vollständig abgedeckt?

30 Aufgabe 4 Gegeben: Polygon P mit n Knoten. Gesucht: O(n log n)-algorithmus, der P in zwei einfache Polygone auftrennt, sodass jedes höchstens 2n/3 + 2 Knoten besitzt. Hinweis: Triangulieren Sie das Eingabe-Polygon und verwenden Sie dann den Dualgraphen dieser Triangulierung.

31 Aufgabe 4 Lösung Initialisierung: Alle Knoten u V erhalten Gewicht w(u) =. solange True tue Sei u Blatt von T solange u hat Grad tue wenn n 2n/3 + 2 w(u) 2n/3 + 2 dann return Teilbaum von u indzuiert ges. Partitionierung. w(parent(u)) w(parent(u)) + w(u) Lösche u aus T u parent(u) n = 9 n 2n/3 + 2 = 5 2n/3 + 2 = 4 Annahme: Baum hat Wurzel mit Grad >= 2. Kanten sind zur Wurzel gerichtet.

32 Aufgabe 4 Lösung Initialisierung: Alle Knoten u V erhalten Gewicht w(u) =. solange True tue Sei u Blatt von T solange u hat Grad tue wenn n 2n/3 + 2 w(u) 2n/3 + 2 dann return Teilbaum von u indzuiert ges. Partitionierung. w(parent(u)) w(parent(u)) + w(u) Lösche u aus T u parent(u) n = 9 n 2n/3 + 2 = 5 2n/3 + 2 = 4 Annahme: Baum hat Wurzel mit Grad >= 2. Kanten sind zur Wurzel gerichtet.

33 Aufgabe 4 Lösung Initialisierung: Alle Knoten u V erhalten Gewicht w(u) =. solange True tue Sei u Blatt von T solange u hat Grad tue wenn n 2n/3 + 2 w(u) 2n/3 + 2 dann return Teilbaum von u indzuiert ges. Partitionierung. w(parent(u)) w(parent(u)) + w(u) Lösche u aus T u parent(u) n = 9 n 2n/3 + 2 = 5 2n/3 + 2 = 4 Annahme: Baum hat Wurzel mit Grad >= 2. Kanten sind zur Wurzel gerichtet. 2

34 Aufgabe 4 Lösung Initialisierung: Alle Knoten u V erhalten Gewicht w(u) =. solange True tue Sei u Blatt von T solange u hat Grad tue wenn n 2n/3 + 2 w(u) 2n/3 + 2 dann return Teilbaum von u indzuiert ges. Partitionierung. w(parent(u)) w(parent(u)) + w(u) Lösche u aus T u parent(u) n = 9 n 2n/3 + 2 = 5 2n/3 + 2 = 4 Annahme: Baum hat Wurzel mit Grad >= 2. Kanten sind zur Wurzel gerichtet. 3 2

35 Aufgabe 4 Lösung Initialisierung: Alle Knoten u V erhalten Gewicht w(u) =. solange True tue Sei u Blatt von T solange u hat Grad tue wenn n 2n/3 + 2 w(u) 2n/3 + 2 dann return Teilbaum von u indzuiert ges. Partitionierung. w(parent(u)) w(parent(u)) + w(u) Lösche u aus T u parent(u) n = 9 n 2n/3 + 2 = 5 2n/3 + 2 = 4 Annahme: Baum hat Wurzel mit Grad >= 2. Kanten sind zur Wurzel gerichtet

36 Aufgabe 4 Lösung Initialisierung: Alle Knoten u V erhalten Gewicht w(u) =. solange True tue Sei u Blatt von T solange u hat Grad tue wenn n 2n/3 + 2 w(u) 2n/3 + 2 dann return Teilbaum von u indzuiert ges. Partitionierung. w(parent(u)) w(parent(u)) + w(u) Lösche u aus T u parent(u) n = 9 n 2n/3 + 2 = 5 2n/3 + 2 = 4 Annahme: Baum hat Wurzel mit Grad >= 2. Kanten sind zur Wurzel gerichtet

37 Aufgabe 4 Lösung Initialisierung: Alle Knoten u V erhalten Gewicht w(u) =. solange True tue Sei u Blatt von T solange u hat Grad tue wenn n 2n/3 + 2 w(u) 2n/3 + 2 dann return Teilbaum von u indzuiert ges. Partitionierung. w(parent(u)) w(parent(u)) + w(u) Lösche u aus T u parent(u) n = 9 n 2n/3 + 2 = 5 2n/3 + 2 = 4 Annahme: Baum hat Wurzel mit Grad >= 2. Kanten sind zur Wurzel gerichtet

38 Aufgabe 4 Lösung Initialisierung: Alle Knoten u V erhalten Gewicht w(u) =. solange True tue Sei u Blatt von T solange u hat Grad tue wenn n 2n/3 + 2 w(u) 2n/3 + 2 dann return Teilbaum von u indzuiert ges. Partitionierung. w(parent(u)) w(parent(u)) + w(u) Lösche u aus T u parent(u) n = 9 n 2n/3 + 2 = 5 2n/3 + 2 = 4 Annahme: Baum hat Wurzel mit Grad >= 2. Kanten sind zur Wurzel gerichtet

39 Aufgabe 4 Lösung Initialisierung: Alle Knoten u V erhalten Gewicht w(u) =. solange True tue Sei u Blatt von T solange u hat Grad tue wenn n 2n/3 + 2 w(u) 2n/3 + 2 dann return Teilbaum von u indzuiert ges. Partitionierung. w(parent(u)) w(parent(u)) + w(u) Lösche u aus T u parent(u) n = 9 n 2n/3 + 2 = 5 2n/3 + 2 = 4 Annahme: Baum hat Wurzel mit Grad >= 2. Kanten sind zur Wurzel gerichtet

40 Aufgabe 4 Lösung Initialisierung: Alle Knoten u V erhalten Gewicht w(u) =. solange True tue Sei u Blatt von T solange u hat Grad tue wenn n 2n/3 + 2 w(u) 2n/3 + 2 dann return Teilbaum von u indzuiert ges. Partitionierung. w(parent(u)) w(parent(u)) + w(u) Lösche u aus T u parent(u) n = 9 n 2n/3 + 2 = 5 2n/3 + 2 = 4 Annahme: Baum hat Wurzel mit Grad >= 2. Kanten sind zur Wurzel gerichtet

41 Aufgabe 4 Lösung Initialisierung: Alle Knoten u V erhalten Gewicht w(u) =. solange True tue Sei u Blatt von T solange u hat Grad tue wenn n 2n/3 + 2 w(u) 2n/3 + 2 dann return Teilbaum von u indzuiert ges. Partitionierung. w(parent(u)) w(parent(u)) + w(u) Lösche u aus T u parent(u) n = 9 n 2n/3 + 2 = 5 2n/3 + 2 = 4 Annahme: Baum hat Wurzel mit Grad >= 2. Kanten sind zur Wurzel gerichtet

42 Triangulierung: Überblick Zweistufiges Verfahren: Schritt : Zerlege P in y-monotone Teilpolygone Definition: Ein Polygon P ist y-monoton, falls der Schnitt l P für jede horizontale Gerade l zusammenhängend ist. l Schritt 2: Trianguliere y-monotone Teilpolygone

43 Zerlegen in y-monotone Teile Idee: Unterscheide fünf verschiedene Knotenarten

44 Zerlegen in y-monotone Teile Idee: Unterscheide fünf verschiedene Knotenarten Wendeknoten: reguläre Knoten

45 Zerlegen in y-monotone Teile Idee: Unterscheide fünf verschiedene Knotenarten Wendeknoten: vertikale Laufrichtung wechselt reguläre Knoten

46 Zerlegen in y-monotone Teile Idee: Unterscheide fünf verschiedene Knotenarten Wendeknoten: vertikale Laufrichtung wechselt Startknoten α falls α < 80 reguläre Knoten

47 Zerlegen in y-monotone Teile Idee: Unterscheide fünf verschiedene Knotenarten Wendeknoten: vertikale Laufrichtung wechselt Startknoten α falls α < 80 Splitknoten β falls β > 80 reguläre Knoten

48 Zerlegen in y-monotone Teile Idee: Unterscheide fünf verschiedene Knotenarten Wendeknoten: vertikale Laufrichtung wechselt Startknoten α falls α < 80 Splitknoten β falls β > 80 Endknoten γ falls γ < 80 reguläre Knoten

49 Zerlegen in y-monotone Teile Idee: Unterscheide fünf verschiedene Knotenarten Wendeknoten: vertikale Laufrichtung wechselt Startknoten α falls α < 80 Splitknoten β falls β > 80 Endknoten γ falls γ < 80 Mergeknoten δ falls δ > 80 reguläre Knoten

50 Zerlegen in y-monotone Teile Idee: Unterscheide fünf verschiedene Knotenarten Wendeknoten: vertikale Laufrichtung wechselt Startknoten α falls α < 80 Splitknoten β falls β > 80 Endknoten γ falls γ < 80 Mergeknoten δ falls δ > 80 reguläre Knoten

51 Charakterisierung Lemma : Ein Polygon ist y-monoton, wenn es keine Splitoder Mergeknoten besitzt. an der Tafel Wir müssen alle Split- und Mergeknoten durch Einfügen von Diagonalen entfernen

52 Charakterisierung Lemma : Ein Polygon ist y-monoton, wenn es keine Splitoder Mergeknoten besitzt. an der Tafel Wir müssen alle Split- und Mergeknoten durch Einfügen von Diagonalen entfernen Vorsicht: Diagonalen dürfen weder Kanten von P noch andere Diagonalen schneiden

53 In Richtung Sweep-Line-Algorithmus ) Diagonalen für Splitknoten v

54 In Richtung Sweep-Line-Algorithmus ) Diagonalen für Splitknoten betrachte für jeden Knoten v linke Nachbarkante left(v) bzgl. horizontaler sweep line l left(v) v

55 In Richtung Sweep-Line-Algorithmus ) Diagonalen für Splitknoten betrachte für jeden Knoten v linke Nachbarkante left(v) bzgl. horizontaler sweep line l left(v) v

56 In Richtung Sweep-Line-Algorithmus ) Diagonalen für Splitknoten betrachte für jeden Knoten v linke Nachbarkante left(v) bzgl. horizontaler sweep line l left(v) v verbinde Splitknoten v zu niedrigstem Knoten w oberhalb v mit left(w) = left(v)

57 In Richtung Sweep-Line-Algorithmus ) Diagonalen für Splitknoten betrachte für jeden Knoten v linke Nachbarkante left(v) bzgl. horizontaler sweep line l left(v) v w verbinde Splitknoten v zu niedrigstem Knoten w oberhalb v mit left(w) = left(v)

58 In Richtung Sweep-Line-Algorithmus ) Diagonalen für Splitknoten betrachte für jeden Knoten v linke Nachbarkante left(v) bzgl. horizontaler sweep line l left(v) v w verbinde Splitknoten v zu niedrigstem Knoten w oberhalb v mit left(w) = left(v)

59 In Richtung Sweep-Line-Algorithmus ) Diagonalen für Splitknoten betrachte für jeden Knoten v linke Nachbarkante left(v) bzgl. horizontaler sweep line l left(v) v w verbinde Splitknoten v zu niedrigstem Knoten w oberhalb v mit left(w) = left(v) speichere für jede Kante e den untersten Knoten w mit left(w) = e als helper(e) l e helper(e)

60 In Richtung Sweep-Line-Algorithmus ) Diagonalen für Splitknoten betrachte für jeden Knoten v linke Nachbarkante left(v) bzgl. horizontaler sweep line l left(v) verbinde Splitknoten v zu niedrigstem Knoten w oberhalb v mit left(w) = left(v) v w speichere für jede Kante e den untersten Knoten w mit left(w) = e als helper(e) trifft l auf Splitknoten v: verbinde v mit helper(left(v)) l e helper(e) v

61 In Richtung Sweep-Line-Algorithmus 2) Diagonalen für Mergeknoten erreicht man Mergeknoten v wird helper(left(v)) = v l left(v) v

62 In Richtung Sweep-Line-Algorithmus 2) Diagonalen für Mergeknoten erreicht man Mergeknoten v wird helper(left(v)) = v l v v erreicht man Splitknoten v mit left(v ) = left(v) wird Diagonale (v, v ) eingefügt

63 In Richtung Sweep-Line-Algorithmus 2) Diagonalen für Mergeknoten erreicht man Mergeknoten v wird helper(left(v)) = v l v v erreicht man Splitknoten v mit left(v ) = left(v) wird Diagonale (v, v ) eingefügt v ersetzt man helper(left(v)) durch v wird Diagonale (v, v ) eingefügt l v

64 In Richtung Sweep-Line-Algorithmus 2) Diagonalen für Mergeknoten erreicht man Mergeknoten v wird helper(left(v)) = v l v v erreicht man Splitknoten v mit left(v ) = left(v) wird Diagonale (v, v ) eingefügt v ersetzt man helper(left(v)) durch v wird Diagonale (v, v ) eingefügt l v v erreicht man das Ende v von left(v) wird Diagonale (v, v ) eingefügt v l

65 Aufgabe MakeMonotone(Polygon P ) D doppelt-verkettete Kantenliste für (V (P ), E(P )) Q priority queue für V (P ) lexikographisch sortiert T (binärer Suchbaum für Sweep-Line Status) while Q do v Q.nextVertex() e Q.deleteVertex(v) handlevertex(v) return D helper(e ) v e helper(e) handlemergevertex(vertex v) e rechte Kante if ismergevertex(helper(e)) then D füge (helper(e), v) ein lösche e aus T e Kante links von v in T if ismergevertex(helper(e )) then D füge (helper(e ), v) ein helper(e ) v

66 Aufgabe 2 MakeMonotone(Polygon P ) D doppelt-verkettete Kantenliste für (V (P ), E(P )) Q priority queue für V (P ) lexikographisch sortiert T (binärer Suchbaum für Sweep-Line Status) while Q do v Q.nextVertex() Q.deleteVertex(v) handlevertex(v) return D Annahme: P hat nur O() Wendepunkte. Aufgabe: Beschleunige Verfahren auf O(n) Zeit.

67 Aufgabe 2 MakeMonotone(Polygon P ) D doppelt-verkettete Kantenliste für (V (P ), E(P )) Q priority queue für V (P ) lexikographisch sortiert T (binärer Suchbaum für Sweep-Line Status) while Q do v Q.nextVertex() Q.deleteVertex(v) handlevertex(v) return D Annahme: P hat nur O() Wendepunkte. Aufgabe: Beschleunige Verfahren auf O(n) Zeit. Beobachtung: Erstellung von Q kostet O(n log n) Zeit. Anfragen in T kosten insgesamt O(n log n) Zeit.

68 Aufgabe 2. Schritt: Erstelle Queue Q in O(n) Zeit.

69 Aufgabe 2 L L 4 L 3. Schritt: Erstelle Queue Q in O(n) Zeit. Durchlauf P gegen den Uhrzeigersinn. Fasse aufeinanderfolgende reguläre Knoten in Liste zusammen. Beobachtung: Listen sind nach y-koordinate sortiert. O() viele Listen. L 2. Verwende Merge-Schritt von Merge-Sort auf Listen an, um eine Liste zu erhalten. 2. Füge Wendeknoten sortiert in Liste ein. O(n) Zeit, da O() viele Listen und O() viele Wendepunkte. Queue Q kann in O(n) Zeit aufgebaut werden.

70 Aufgabe 2 2. Schritt: Ersetze T. Aufgabe von T : Für Knoten v bestimme Kante left(v) direkt links von v. L 4 L L 3 L 2

71 Aufgabe 2 2. Schritt: Ersetze T. Aufgabe von T : Für Knoten v bestimme Kante left(v) direkt links von v. L 4 left(v) Idee: Berechne für jeden Knoten v die Kante left(v) vor. L l L 3 Sweep-Line: von oben nach unten. Sweep-Zustand: Kanten die Sweep-Line schneiden L 2 Event: Knoten des Polygons Bestimme Kante, die Sweep-Line direkt links von aktuellen Knoten schneidet. Sweep-Line schneidet immer nur O() viele Kanten, da O() viele Listen und O() viele Wendepunkte.

Polygontriangulierung

Polygontriangulierung Vorlesung Algorithmische Geometrie Polygone triangulieren LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 26.04.2011 Das Kunstgalerie-Problem

Mehr

Polygontriangulierung

Polygontriangulierung Vorlesung Algorithmische Geometrie Polygone triangulieren INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 03.05.2012 Das Kunstgalerie-Problem Aufgabe: Installiere ein Kamerasystem

Mehr

Polygontriangulierung

Polygontriangulierung Übung Algorithmische Geometrie Polygontriangulierung LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Andreas Gemsa 05.05.2011 Ablauf Besprechung ÜB3 Korrektheitsbeweis

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

2.4. Triangulierung von Polygonen

2.4. Triangulierung von Polygonen Als drittes Problem haben wir in Kapitel 1 die Triangulierung von Polygonen identifiziert, die etwa bei der Überwachung eines Museums durch Kameras auftritt. F70 F71 Definition und Theorie: Definition

Mehr

Lineare Programmierung

Lineare Programmierung Übung Algorithmische Geometrie Lineare Programmierung LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Benjamin Niedermann 14.05.2014 Übersicht Übungsblatt 4 Lineares

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

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

Algorithmische Geometrie 5. Triangulierung von Polygonen

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

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 24.04.2011 Überlagern von Kartenebenen Beispiel: Gegeben zwei verschiedene Kartenebenen,

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 24.04.2011 Überlagern von Kartenebenen Beispiel: Gegeben zwei verschiedene Kartenebenen,

Mehr

Algorithmische Geometrie: Voronoi Diagramme (Teil 2)

Algorithmische Geometrie: Voronoi Diagramme (Teil 2) Algorithmische Geometrie: Voronoi Diagramme (Teil 2) Nico Düvelmeyer WS 2009/2010, 12.1.2010 Überblick 1 Definition und grundlegende Eigenschaften (Wied.) 2 Bestimmung des Voronoi Diagramms Gleitebenenverfahren

Mehr

Es sei P ein einfaches Polygon in der Ebene; P habe n Ecken. Hilfssatz: Zu jedem einfachen Polygon mit mehr als 3 Ecken existiert eine Diagonale.

Es sei P ein einfaches Polygon in der Ebene; P habe n Ecken. Hilfssatz: Zu jedem einfachen Polygon mit mehr als 3 Ecken existiert eine Diagonale. 6. Polygontriangulierung: Wie bewacht man eine Kunstgalerie? 6.1. Grundlegendes zu Polygonen Es sei P ein einfaches Polygon in der Ebene; P habe n Ecken. Definition: Hilfssatz: Zu jedem einfachen Polygon

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

Triangulierung von einfachen Polygonen

Triangulierung von einfachen Polygonen Triangulierung von einfachen Polygonen - Seminarvortrag von Tobias Kyrion - Inhalt: 1.1 Die Problemstellung Quellenangabe 1.1 Die Problemstellung Definition Polygon: endlich viele paarweise verschiedene

Mehr

Vorlesung Geometrische Algorithmen Generierung von Nicht-uniformen Netzen Sven Schuierer

Vorlesung Geometrische Algorithmen Generierung von Nicht-uniformen Netzen Sven Schuierer Vorlesung Geometrische Algorithmen Generierung von Nicht-uniformen Netzen Sven Schuierer Uberblick 1. Anwendung 2. Anforderungen an Netze 3. Quadrantenbaume Quadrantenbaume fur Punktemengen Bestimmung

Mehr

Vorlesung Algorithmische Geometrie Konvexe Hülle in R 3

Vorlesung Algorithmische Geometrie Konvexe Hülle in R 3 Vorlesung Algorithmische Geometrie Konvexe Hülle in R 3 INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 15.07.2014 1 Wdh: Konvexe Hülle in R 2 (VL1) Def: Eine Menge S R 2

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

Was bisher geschah. 1. Zerlegung in monotone Polygone 2. Triangulierung der monotonen Teilpolygone

Was bisher geschah. 1. Zerlegung in monotone Polygone 2. Triangulierung der monotonen Teilpolygone Was bisher geschah Motivation, Beispiele geometrische Objekte im R 2 : Punkt, Gerade, Halbebene, Strecke, Polygon, ebene Zerlegung in Regionen (planare Graphen) maschinelle Repräsentation geometrischer

Mehr

Voronoi-Diagramme und Delaunay-Triangulierungen

Voronoi-Diagramme und Delaunay-Triangulierungen Vorlesung Algorithmische Geometrie Voronoi-Diagramme & Delaunay-Triangulierungen LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 07.06.2011 Erinnerung:

Mehr

Übersicht. Begriffserklärung Motivation / Anwendungen Drei Algorithmen Zusammenfassung Fragen Quellen. Triangulierung von Steffen Ernst 2

Übersicht. Begriffserklärung Motivation / Anwendungen Drei Algorithmen Zusammenfassung Fragen Quellen. Triangulierung von Steffen Ernst 2 Triangulierung Übersicht Begriffserklärung Motivation / Anwendungen Drei Algorithmen Zusammenfassung Fragen Quellen Triangulierung von Steffen Ernst 2 Begriffserklärung Ein Graph ist trianguliert, wenn

Mehr

Quad-trees. Benjamin Niedermann Übung Algorithmische Geometrie

Quad-trees. Benjamin Niedermann Übung Algorithmische Geometrie Übung Algorithmische Geometrie Quad-trees LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Benjamin Niedermann 02.07.2014 Übersicht Übungsblatt 11 - Quadtrees Motivation:

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

Vorlesung Algorithmische Geometrie Konvexe Hülle im R 3

Vorlesung Algorithmische Geometrie Konvexe Hülle im R 3 Vorlesung Algorithmische Geometrie Konvexe Hülle im R 3 LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Andreas Gemsa 26.06.2012 Prüfung! Termine: 20. Juli 27.

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

Bereichsabfragen II. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Bereichsabfragen II. 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.07.2012 Objekttypen in Bereichsabfragen y0 y0 y x x0 Bisher

Mehr

Dualität + Quad-trees

Dualität + Quad-trees Übung Algorithmische Geometrie Dualität + Quad-trees LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Andreas Gemsa 30.06.2011 Übersicht Übungsblatt 10 - Dualität

Mehr

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

Bereichsabfragen II. 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 20.05.2014 Objekttypen in Bereichsabfragen y0 y0 y x x0 Bisher betrachteter Fall Eingabe:

Mehr

Bereichsabfragen II. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Bereichsabfragen II. 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.07.2012 Objekttypen in Bereichsabfragen y0 y x x0 Bisher

Mehr

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

Punktlokalisierung. 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 22.05.2012 Nachtrag: Dynamische Bereichsabfragen Letzte Woche: kd-trees und Range-Trees

Mehr

Anwendungen der WSPD & Sichtbarkeitsgraphen

Anwendungen der WSPD & Sichtbarkeitsgraphen Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 10.07.2012 Wdh.: Well-Separated Pair Decomposition Def.: Ein Paar disjunkter Punktmengen

Mehr

Abgabe: (vor der Vorlesung) Aufgabe 7.1 (P) Binomial Heap

Abgabe: (vor der Vorlesung) Aufgabe 7.1 (P) Binomial Heap TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 7 Prof. Dr. Helmut Seidl, S. Pott,

Mehr

Klausur. 18. Juli 2008, 10:15-12:15 Uhr. Name:... Matrikelnummer:... Anzahl beschriebener Blätter (ohne Aufgabenblatt):... D(p) : Y = p x X + p y

Klausur. 18. Juli 2008, 10:15-12:15 Uhr. Name:... Matrikelnummer:... Anzahl beschriebener Blätter (ohne Aufgabenblatt):... D(p) : Y = p x X + p y GRUNDZÜGE DER ALGORITHMISCHEN GEOMETRIE Klausur 18. Juli 2008, 10:15-12:15 Uhr Name:................................... Matrikelnummer:................................... Anzahl beschriebener Blätter (ohne

Mehr

Algorithmische Geometrie: Delaunay Triangulierung (Teil 1)

Algorithmische Geometrie: Delaunay Triangulierung (Teil 1) Algorithmische Geometrie: Delaunay Triangulierung (Teil 1) Nico Düvelmeyer WS 2009/2010, 26.1.2010 Überblick 1 Motivation Interpolation von Höhendaten 2 Triangulierungen von ebenen Punktmengen 3 Delaunay

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

Einführung & Konvexe Hülle

Einführung & Konvexe Hülle Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 17.04.2012 AlgoGeom-Team Dozent Martin Nöllenburg noellenburg@kit.edu

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 13 (18.6.2014) Binäre Suchbäume IV (Rot Schwarz Bäume) Algorithmen und Komplexität Rot Schwarz Bäume Ziel: Binäre Suchbäume, welche immer

Mehr

Polygon Triangulation. robot.scr. "Art Gallery Problem" Sichtbarkeitspolygon. Algorithmische Geometrie - SS 99 - Th. Ottmann

Polygon Triangulation. robot.scr. Art Gallery Problem Sichtbarkeitspolygon. Algorithmische Geometrie - SS 99 - Th. Ottmann Polygon Triangulation "Art Gallery Problem" Sichtbarkeitspolygon robot.scr Triangulation simpler Polygone P w v u Satz: Triangulation existiert und besitzt n-2 Dreiecke Bew.: Induktion über n> 3. Suche

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

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 17.06.2014 1 Dualitätsabbildung Bisher haben wir Dualität für planare

Mehr

Triangulierung von Polygonen und das Museumsproblem

Triangulierung von Polygonen und das Museumsproblem Triangulierung von Polygonen und das Museumsproblem (Literatur: deberg et al., Kapitel 3) 1 Motivation: Das Museumsproblem ein Museum soll durch Kameras überwacht werden wie viele Kameras werden benötigt?

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

Anwendungen der WSPD & Sichtbarkeitsgraphen

Anwendungen der WSPD & Sichtbarkeitsgraphen Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 08.07.2014 1 Wdh.: Well-Separated Pair Decomposition Def.: Ein Paar disjunkter Punktmengen

Mehr

Geometrie II Hallo Welt! für Fortgeschrittene

Geometrie II Hallo Welt! für Fortgeschrittene Geometrie II Hallo Welt! für Fortgeschrittene - 2010 Thorsten Wißmann 2. Juli 2010 Stand: 1. Juli 2010 Thorsten Wißmann Geometrie II 2. Juli 2010 1 / 40 Inhalt 1 Datentypen 2 Bereichssuche Gitterverfahren

Mehr

Proportional Symbol Maps

Proportional Symbol Maps Vorlesung Algorithmische Kartografie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Benjamin Niedermann Martin Nöllenburg 25.06.2015 1 Statistische Visualisierung

Mehr

Quadtrees und Meshing

Quadtrees und Meshing Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 24.06.2014 Motivation: Meshing von Platinenlayouts Zur Simulation der Hitzeentwicklung

Mehr

Uberblick 1. Kurzeste Wege 2. Sichtbarkeitsgraphen 3. Berechnung des Sichtbarkeitsgraphen 4. Kurzeste Wege fur polygonale Roboter 1

Uberblick 1. Kurzeste Wege 2. Sichtbarkeitsgraphen 3. Berechnung des Sichtbarkeitsgraphen 4. Kurzeste Wege fur polygonale Roboter 1 Vorlesung Geometrische Algorithmen Sichtbarkeitsgraphen und kurzeste Wege Sven Schuierer Uberblick 1. Kurzeste Wege 2. Sichtbarkeitsgraphen 3. Berechnung des Sichtbarkeitsgraphen 4. Kurzeste Wege fur polygonale

Mehr

Maximale s t-flüsse in Planaren Graphen

Maximale s t-flüsse in Planaren Graphen Maximale s t-flüsse in Planaren Graphen Vorlesung Algorithmen für planare Graphen 6. Juni 2017 Guido Brückner INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg

Mehr

Algorithmische Geometrie: Delaunay Triangulierung (Teil 2)

Algorithmische Geometrie: Delaunay Triangulierung (Teil 2) Algorithmische Geometrie: Delaunay Triangulierung (Teil 2) Nico Düvelmeyer WS 2009/2010, 2.2.2010 Überblick 1 Delaunay Triangulierungen 2 Berechnung der Delaunay Triangulierung Randomisiert inkrementeller

Mehr

Schematisierung von Karten

Schematisierung von Karten Vorlesung Algorithmische Kartografie Schematisierung von (Straßen-)Karten LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 30.04.2013 Schematische

Mehr

Einführung & Konvexe Hülle

Einführung & Konvexe Hülle Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 17.04.2012 AlgoGeom-Team Dozent Martin Nöllenburg noellenburg@kit.edu

Mehr

Punktlokalisierung. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Punktlokalisierung. 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 24.05.2011 Motivation Gegeben eine Position p = (p x, p y )

Mehr

Quadtrees und Meshing

Quadtrees und Meshing Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 21.06.2011 Motivation: Meshing von Platinenlayouts Zur Simulation

Mehr

Sichtbarkeitsgraphen. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Sichtbarkeitsgraphen. 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 12.07.2011 Bewegungslanung für Roboter Ideen?? Problem: Gegeben

Mehr

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Kürzeste Wege Maike Buchin 4. und 6.7.2017 Einführung Motivation: Bestimmung von kürzesten Wegen ist in vielen Anwendungen, z.b. Routenplanung, ein wichtiges Problem. Allgemeine

Mehr

14. Rot-Schwarz-Bäume

14. Rot-Schwarz-Bäume Bislang: Wörterbuchoperationen bei binären Suchbäume effizient durchführbar, falls Höhe des Baums klein. Rot-Schwarz-Bäume spezielle Suchbäume. Rot-Schwarz-Baum mit n Knoten hat Höhe höchstens 2 log(n+1).

Mehr

Quadtrees und Meshing

Quadtrees und Meshing Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 19.06.2012 Motivation: Meshing von Platinenlayouts Zur Simulation der Hitzeentwicklung

Mehr

Liniensegmentschnitt. Doppelt verkettete Kantenliste. Überlagerung von 2 ebenen Graphen. Boolsche Operatoren für einfache Polygone (LEDA)

Liniensegmentschnitt. Doppelt verkettete Kantenliste. Überlagerung von 2 ebenen Graphen. Boolsche Operatoren für einfache Polygone (LEDA) Liniensegmentschnitt Motivation, Überlagerung von Karten, Problemformulierung Ein einfaches Problem und dessen Lösung mit Hilfe des Sweep-Line Prinzips Output-sensitiver Liniensegmentschnittalgorithmus

Mehr

Einführung & Konvexe Hülle

Einführung & Konvexe Hülle Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 12.04.2011 AlgoGeom-Team Dozent Martin Nöllenburg noellenburg@kit.edu

Mehr

Übungen zur Vorlesung Algorithmische Geometrie

Übungen zur Vorlesung Algorithmische Geometrie Prof. Dr. E. Wanke Düsseldorf, 22. Juni 2016 S. Hoffmann, M.Sc. Übungen zur Vorlesung Algorithmische Geometrie Hinweise Programmieraufgaben: Alle vorgeschlagenen Programmieraufgaben können Sie in einer

Mehr

Quadtrees und Meshing

Quadtrees und Meshing Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 19.06.2012 Motivation: Meshing von Platinenlayouts Zur Simulation der Hitzeentwicklung

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

Algorithmische Geometrie, SoSe 2005 Skriptmitschrift vom 29. April 2005

Algorithmische Geometrie, SoSe 2005 Skriptmitschrift vom 29. April 2005 Algorithmische Geometrie, SoSe 2005 Skriptmitschrift vom 29. April 2005 Antonia Wittmers Igor Savchenko Konvexe Hüllen Inkrementeller Algorithmus für die konvexe Hülle Dabei heißt inkrementeller Algorithmus,

Mehr

Algorithmische Geometrie: Schnittpunkte von Strecken

Algorithmische Geometrie: Schnittpunkte von Strecken Algorithmische Geometrie: Schnittpunkte von Strecken Nico Düvelmeyer WS 2009/2010, 3.11.2009 3 Phasen im Algorithmenentwurf 1. Konzentration auf das Hauptproblem 2. Verallgemeinerung auf entartete Eingaben

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

Einführung & Konvexe Hülle

Einführung & Konvexe Hülle Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 14.04.2014 AlgoGeom-Team Dozent Martin Nöllenburg noellenburg@kit.edu Raum 319 Sprechzeiten:

Mehr

Sichtbarkeitsgraph. Andreas Gemsa Übung Algorithmische Geometrie

Sichtbarkeitsgraph. Andreas Gemsa Übung Algorithmische Geometrie Übung Algorithmische Geometrie Sichtbarkeitsgraph LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Andreas Gemsa 19.07.2012 Ablauf Nachtrag Sichtbarkeitsgraph WSPD

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung Informatik 2 Algorithmen und Datenstrukturen Vorlesung Informatik 2 Algorithmen und Datenstrukturen (18 Bäume: Grundlagen und natürliche Suchbäume) Prof. Dr. Susanne Albers Bäume (1) Bäume sind verallgemeinerte Listen (jedes Knoten-Element kann mehr

Mehr

Einführung & Konvexe Hülle

Einführung & Konvexe Hülle Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 14.04.2014 AlgoGeom-Team Dozent Martin Nöllenburg noellenburg@kit.edu Raum 319 Sprechzeiten:

Mehr

Graphalgorithmen Minimale Spannbäume. Kruskal: Minimaler Spannbaum

Graphalgorithmen Minimale Spannbäume. Kruskal: Minimaler Spannbaum Kruskal: Minimaler Spannbaum (Folie 414, Seite 78 im Skript) 4 6 2 3 1 2 5 3 7 1 4 Kruskals Algorithmus Implementierung (Folie 415, Seite 78 im Skript) Algorithmus function Kruskal(G, w) : A := ; for each

Mehr

Algorithmische Geometrie: Abfragen Orthogonaler Bereiche

Algorithmische Geometrie: Abfragen Orthogonaler Bereiche Algorithmische Geometrie: Abfragen Orthogonaler Bereiche Nico Düvelmeyer WS 2009/2010, 8.12.2009 Überblick 1 1-dimensionale Bereichsabfragen 2 Kd-Baum Struktur Aufbau Abfrage mit dem Kd-Baum 3 Range-Baum

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

3. Minimale Spannbäume. Definition 99 T heißt minimaler Spannbaum (MSB, MST) von G, falls T Spannbaum von G ist und gilt:

3. Minimale Spannbäume. Definition 99 T heißt minimaler Spannbaum (MSB, MST) von G, falls T Spannbaum von G ist und gilt: 3. Minimale Spannbäume Sei G = (V, E) ein einfacher ungerichteter Graph, der o.b.d.a. zusammenhängend ist. Sei weiter w : E R eine Gewichtsfunktion auf den Kanten von G. Wir setzen E E: w(e ) = e E w(e),

Mehr

6. Triangulation von Polygonen

6. Triangulation von Polygonen 1 6. Triangulation von Polygonen 2 Problemstellung 3 Problemstellung 4 Problemstellung 5 Problemstellung 6 Jedes Polygon lässt sich triangulieren. Wir führen einen Induktionsbeweis nach der Anzahl der

Mehr

Durchschnitte und Sichtbarkeit

Durchschnitte und Sichtbarkeit Durchschnitte und Sichtbarkeit Elmar Langetepe University of Bonn Algorithmische Geometrie Durchschnitte 11.05.15 c Elmar Langetepe SS 15 1 Durchschnitt von Halbgeraden/Konvexe Hülle Algorithmische Geometrie

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

Punkt-in-Polygon-Suche Übersicht

Punkt-in-Polygon-Suche Übersicht Folie 1 von 43 Punkt-in-Polygon-Suche Übersicht! Praxisbeispiel/Problemstellung! Zählen von Schnittpunkten " Schnitt einer Halbgerade mit der Masche " Aufwandsbetrachtung! Streifenkarte " Vorgehen und

Mehr

elementare Datenstrukturen

elementare Datenstrukturen elementare Datenstrukturen Wie die Daten das Laufen lernten Andreas Ferber af@myipv6.de elementare Datenstrukturen p./40 KISS elementare Datenstrukturen p./40 KISS (Keep It Simple, Stupid) Immer die einfachste

Mehr

Effizienter Planaritätstest Vorlesung am

Effizienter Planaritätstest Vorlesung am Effizienter Planaritätstest Vorlesung am 23.04.2014 INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER Satz Gegebenen einen Graphen G = (V, E) mit n Kanten und m Knoten, kann in O(n + m) Zeit

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Lerneinheit 3: Greedy Algorithmen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 2016 10.5.2016 Einleitung Einleitung Diese Lerneinheit

Mehr

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Heaps. Vorlesung 8: Heapsort (K6) Joost-Pieter Katoen. 7. Mai 2015

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Heaps. Vorlesung 8: Heapsort (K6) Joost-Pieter Katoen. 7. Mai 2015 Datenstrukturen und Algorithmen Vorlesung 8: (K6) 1 Joost-Pieter Katoen Lehrstuhl für Informatik Software Modeling and Verification Group http://moves.rwth-aachen.de/teaching/ss-15/dsal/ 7. Mai 015 3 Joost-Pieter

Mehr

Voronoi Diagrams. Christian Wellenbrock. December 1, 2009

Voronoi Diagrams. Christian Wellenbrock. December 1, 2009 December 1, 2009 Das Voronoi Diagramm Problemstellung Gegeben: Menge der Zentren P = {p 1,..., p n } R 2 Das Voronoi Diagramm Problemstellung Gegeben: Menge der Zentren P = {p 1,..., p n } R 2 Gesucht:

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

Vereinfachung und Schematisierung von Polygonen

Vereinfachung und Schematisierung von Polygonen Vorlesung Algorithmische Kartografie Vereinfachung und Schematisierung von Polygonen INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Benjamin Niedermann Martin Nöllenburg 28.04.2015 1 Übersicht

Mehr

Lineares Programmieren

Lineares Programmieren Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 03.05.2011 Nachtrag Art Gallery Problem Lässt sich der Triangulierungs-Algorithmus

Mehr

Punktlokalisation 1. Trapez-Zerlegungen. 2. Eine Suchstruktur. 3. Randomisierter, inkrementeller Algorithmus zur Konstruktion der Trapez-Zerlegung

Punktlokalisation 1. Trapez-Zerlegungen. 2. Eine Suchstruktur. 3. Randomisierter, inkrementeller Algorithmus zur Konstruktion der Trapez-Zerlegung Punktlokalisation 1. Trapez-Zerlegungen 2. Eine Suchstruktur 3. Randomisierter, inkrementeller Algorithmus zur Konstruktion der Trapez-Zerlegung 4. Analyse Punktlokalisation Einteilung in Streifen Anfragezeit:

Mehr

5. Vorrangwarteschlangen - Priority Queues

5. Vorrangwarteschlangen - Priority Queues 5. Vorrangwarteschlangen - Priority Queues Priority Queues unterstützen die Operationen Insert(), Delete(), ExtractMin(), FindMin(), DecreaseKey(), Merge(). Priority Queues per se sind nicht für IsElement()-Anfragen,

Mehr

Algorithmische Geometrie

Algorithmische Geometrie Algorithmische Geometrie Martin Peternell TU Wien 31. Fortbildungstagung für Geometrie 2010, Strobl 1 Themen der Algorithmische Geometrie Entwurf von Algorithmen für geometrische Fragestellungen betreffend

Mehr

Informatik II, SS 2014

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

Mehr

Ausleuchtung/Überwachung von polygonalen Flächen

Ausleuchtung/Überwachung von polygonalen Flächen 1 Ausleuchtung/Überwachung von polygonalen Flächen 2 1. Beschreibung der Aufgabenstellung 3 Gegeben ist der Grundriss eines Raumes. 4 In den Ecken des Raumes sollen Geräte platziert werden, die zusammen

Mehr

2. Triangulation ebener Punktmengen. 3. Definition und Eigenschaften der Delaunay Triangulation

2. Triangulation ebener Punktmengen. 3. Definition und Eigenschaften der Delaunay Triangulation Delaunay Triangulation 1. Motivation 2. Triangulation ebener Punktmengen 3. Definition und Eigenschaften der Delaunay Triangulation 4. Berechnung der Delaunay Triangulation (randomisiert, inkrementell)

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Sortierte Folgen Maike Buchin 30.5., 1.6., 13.6.2017 Sortierte Folgen Häufiges Szenario: in einer Menge von Objekten mit Schlüsseln (aus geordnetem Universum) sollen Elemente

Mehr

Delaunay-Triangulierungen

Delaunay-Triangulierungen Vorlesung Algorithmische Geometrie Delaunay-Triangulierungen INSTITUT FU R THEORETISCHE INFORMATIK FAKULTA T FU R INFORMATIK Martin No llenburg 10.06.2014 Grafik c Rodrigo I. Silveira 1 Dr. Martin No llenburg

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