Algorithmische Geometrie: Arrangements und

Ähnliche Dokumente
Geradenarrangements und Dualität von Punkten und Geraden

Geradenarrangements und Dualität von Punkten und Geraden

Algorithmische Geometrie: Schnittpunkte von Strecken

Algorithmische Geometrie: Delaunay Triangulierung (Teil 1)

Algorithmische Geometrie: Delaunay Triangulierung (Teil 2)

Algorithmische Geometrie: Rest Lokalisierung von Punkten; Voronoi Diagramme (1/2)

Algorithmische Geometrie: Einstimmung

Übungsblatt 7 - Voronoi Diagramme

Vorlesung Algorithmische Geometrie Konvexe Hülle in R 3

Lineare Programmierung

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

10 Delaunay Triangulierung

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

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

Parallele Algorithmen in der Bildverarbeitung

5. Bäume und Minimalgerüste

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

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

Geometrische Algorithmen

Zusammenfassung Voronoi Diagramme

Algorithmische Geometrie 3. Schnitte von Liniensegmenten

Graphentheorie. Kürzeste Wege. Kürzeste Wege. Kürzeste Wege. Rainer Schrader. 25. Oktober 2007

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung

Geometriekalküle. Rechnen mit projektiver Geometrie. Michael Schmid. 3. März Berufliche Oberschule Rosenheim

Das Divide - and - Conquer Prinzip. Quicksort Formulierung und Analyse des Prinzips Geometrisches Divide and Conquer - Closest-Pair - Segmentschnitt

Wann sind Codes eindeutig entschlüsselbar?

Dualität + Quad-trees

Flächenberechnungen mit Integralen. Aufgaben und Lösungen.

Theoretische Grundlagen der Informatik

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

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.

Numerische Verfahren und Grundlagen der Analysis

Vorlesung Algorithmische Geometrie Konvexe Hülle im R 3

Vorlesung. Vollständige Induktion 1

Das Voronoi Diagramm. 1. Definition. 2. Eigenschaften. 3. Größe und Speicherung. 4. Konstruktion. 5. Verwendung

Füllen von Primitiven

Optimierung. Vorlesung 02

Schematisierung von Karten

Hausaufgaben. zur Vorlesung. Vollständige Induktion. 1. Beweist folgende Formeln (zu beweisen ist nur die Gleichheit mit dem. i=1 (4 + i)!

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

Aufgaben sind zum größten Teil ohne CAS zu lösen. Kontrolle mit CAS ist eine gute Übung

Geometrische Algorithmen Punkt-in-Polygon-Suche. Lernmodul 7: Geo-Algorithmen und -Datenstrukturen - Punkt-in-Polygon-Suche

Algorithmische Techniken für Geometrische Probleme

7. Triangulation von einfachen Polygonen

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

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

Algorithmische Geometrie

Geometrische Algorithmen Voronoi-Diagramme. Lernmodul 7: Geo-Algorithmen und -Datenstrukturen - Voronoi-Diagramme

Die Abbildung (x 1 ;x 2 ) 7! (x 1 ;x 2 ; 1) ist eine Einbettung von R 2 in P 2 (als Mengen). Punkte mit z 6= 0 sind endliche" Punkte mit inhomogenen K

2.4. Triangulierung von Polygonen

Übung zur Vorlesung Berechenbarkeit und Komplexität

Überblick. Kap. 1.4: Minimum Weight Perfect Matching. 1.3 Blüten-Schrumpf Algorithmus für Maximum Matching

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

Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:

Algorithmen II Vorlesung am

Geometrische Algorithmen Segmentschnitt

Geometrische Algorithmen Segmentschnitt

Algorithmen II Vorlesung am

Seminar. Algorithmische Geometrie

Algorithmische Graphentheorie

Lineare Funktionen. Aufgabe 1. Sei f R 2 R definiert durch. x 1 + 3x Beweisen Sie ausführlich, dass f linear ist.

Prüfungsteil B, Aufgabengruppe 1: Analysis. Bayern Aufgabe 1. BundesabiturMathematik: Musterlösung

Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1

Vorkurs Mathematik für Ingenieur Innen WS 2017/2018 Übung 4

Punkt-in-Polygon-Suche Übersicht

1 Rotating Calipers. 2 Antipodal und Copodal. 3 Distanzen Rechtecke Eigenschaften

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

Hallo Welt für Fortgeschrittene

Polygontriangulierung

Transkript:

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 Bestimmung der Halbebenen-Diskrepanz 3 Aufteilung der Ebene durch Geraden 4 Niveaus und Diskrepanz

Überblick 1 Strahlenverfolgung und Diskrepanz 2 Dualität Dualitäts-Abbildung Transformation des Problems zur Bestimmung der Halbebenen-Diskrepanz 3 Aufteilung der Ebene durch Geraden 4 Niveaus und Diskrepanz

Motivation: ray tracing

Auswahl der Sehstrahlen

Kontrolle der Sehstrahlen: Definition 9.1 Vorweg: Pixel U = [0, 1] 2 S: mit S U, gegebene Menge von n Punkten H: Menge aller abgeschlossenen Halbebenen des R 2 stetiges Maß µ(h) von h H: Flächeninhalt von h U diskretes Maß µ S (h): S h / S Diskrepanz von h: S (h) := µ(h) µ S (h) Halbebenen-Diskrepanz von S H (S) := sup h H S (h) Die Diskrepanz der Probe S ist der maximale Unterschied zwischen dem Flächenanteil eines Objektes der Szene im Pixel und dem relativen Anteil der Punkte aus S, die zu dem Objekt gehören. Die Diskrepanz ist nur für eine fest vorgegebene Klasse von geometrischen Objekten definiert.

Lemma 9.2 Es gibt eine Halbebene h H mit maximaler Diskrepanz H (S) = S (h). Wir unterscheiden zwei Typen für die Halbebene h: 1. h enthält genau einen Punkt aus S im Rand. 2. h enthält mindestens zwei Punkte aus S im Rand. Es gibt nur O(n) viele Kandidaten für Halbebenen h von maximaler Diskrepanz vom Typ 1, und alle diese Kandidaten können in Zeit in O(n) bestimmt werden.

Vorgriff: Satz 9.3 Die Halbebenen-Diskrepanz einer Menge von n Punkten des Einheitsquadrats kann in Zeit in O(n 2 ) berechnet werden. Beweis. Lemma 9.2, Typ 1 in Zeit in O(n) Typ 2: n(n 1) 2 O(n 2 ) viele Kandidaten pro Kandidat: stetiges Maß in O(1) Berechnung aller diskreten Maße µ S (h) in O(n 2 )

Überblick 1 Strahlenverfolgung und Diskrepanz 2 Dualität Dualitäts-Abbildung Transformation des Problems zur Bestimmung der Halbebenen-Diskrepanz 3 Aufteilung der Ebene durch Geraden 4 Niveaus und Diskrepanz

Überblick 1 Strahlenverfolgung und Diskrepanz 2 Dualität Dualitäts-Abbildung Transformation des Problems zur Bestimmung der Halbebenen-Diskrepanz 3 Aufteilung der Ebene durch Geraden 4 Niveaus und Diskrepanz

Dualitäts-Abbildung

Definition 9.4 Punkt p := (p x, p y ) R 2 Gerade p = { (x, y) : y = p x x p y } nicht-vertikalen Gerade l, y = mx + b Punkt p = l = (m, b) (wobei p = l)

Dualität Punkt Funktional Vertikalen Geraden der Form {c} R haben keinen dualen Punkt. Unsere Dualität ist damit eineindeutige Zuordnung von Punkten affin linearen Funktionalen über R

Beobachtung 9.5 Die Dualitäts-Abbildung o o hat folgende Eigenschaften: Beweis. Sie erhält Inzidenzen: p l genau dann, wenn l p. Sie erhält die Ordnung: p liegt genau dann über l, wenn l über p liegt.

Beobachtung 9.5 Die Dualitäts-Abbildung o o hat folgende Eigenschaften: Beweis. Sie erhält Inzidenzen: p l genau dann, wenn l p. Sie erhält die Ordnung: p liegt genau dann über l, wenn l über p liegt. (p x, p y ) l = {(x, mx + b)} p y = mp x + b l = (m, b) p = {(x, p x x p y )} b = p x m p y (p x, p y ) über l = {(x, mx + b)} p y mp x + b l = (m, b) über p = {(x, p x x p y )} b p x m p y

Überblick 1 Strahlenverfolgung und Diskrepanz 2 Dualität Dualitäts-Abbildung Transformation des Problems zur Bestimmung der Halbebenen-Diskrepanz 3 Aufteilung der Ebene durch Geraden 4 Niveaus und Diskrepanz

Primales Problem Zu einer Menge S von n verschiedenen Punkten der Ebene wollen wir das diskrete Maß µ S (h) für alle diejenigen Halbebenen h bestimmen, deren Randgerade zwei der Punkte aus S enthält.

Duales Problem (Grundlagen) Was wird aus dem primalen Problem der primalen Ebene, wenn wir nur die Situation in der dualen Ebene betrachten? Gegeben: Menge S := { p : p S } n (nicht-vertikale Geraden) der Ebene h für interessante h? µ S (h) =?

h h: Halbebene, in dessen Rand zwei Punkt p, q S liegen p, q S, p q l(p, q) := die Gerade durch p und q Annahme: l(p, q) nicht vertikal h = h(p, q): alle Punkte unterhalb (oberhalb) von l(p, q) (streng!) {l(p, q) } = p q h : alle Geraden oberhalb von Punkt l(p, q)

µ S (h) nµ S (h(p, q)) = Anzahl von Punkten p aus S: Punkt p unterhalb von Gerade l(p, q) nµ S (h(p, q)) = Anzahl von Geraden g aus S : Punkt l(p, q) unterhalb von Gerade g nµ S (h(p, q)) = Anzahl Geraden g S oberhalb vom Punkt l(p, q)

Duales Problem Gegeben: Gesucht: Menge S n nicht-vertikale Geraden der Ebene für alle Paare (p, q) aus S die Anzahl Geraden g S oberhalb/unterhalb vom Punkt l(p, q) für alle Schnittpunkte s von zwei Geraden aus S die Anzahlen von Geraden aus S oberhalb von s, durch s, und unterhalb von s.

Entartete Lage Annahme: l(p, q) nicht vertikal Wenn doch: p, q haben selbe x-koordinaten Lösung: nur O(n) viele solche Halbebenen h µ S (h) für diese separat berechnen Übung! geht mit Laufzeit in O(n log n)

Überblick 1 Strahlenverfolgung und Diskrepanz 2 Dualität Dualitäts-Abbildung Transformation des Problems zur Bestimmung der Halbebenen-Diskrepanz 3 Aufteilung der Ebene durch Geraden 4 Niveaus und Diskrepanz

Definition 9.6 L: Menge von n Geraden L induziert eine Aufteilung der Ebene in Ecken, Kanten und Flächen dieses teilweise unbeschränkt zusammen das von L induzierte Arrangement A(L) A(L) heißt einfach, falls keine drei Geraden durch einen Punkt keine zwei Geraden parallel Komplexität von A(L): Gesamtzahl Ecken + Kanten + Flächen

Satz 9.7 Es sei L eine Menge von n Geraden der Ebene und A(L) das von L induzierte Arrangement. 1. Die Anzahl von Ecken in A(L) ist maximal n(n 1)/2 = ( n 2). 2. Die Anzahl von Kanten in A(L) ist maximal n 2. 3. Die Anzahl von Flächen in A(L) ist maximal n 2 /2 + n/2 + 1 = ( n 2) + ( n 1) + ( n 0) = 1 + 1 + 2 + + n. Das Maximum wird jeweils genau für einfache Arrangements angenommen. Beweis. Zuordnung (wenn möglich) Fläche tiefster Punkt Flächen ohne tiefsten Punkt: selbes Problem in Dimension 1 In wieviele Bereiche wird maximal eine Gerade durch n Punkte geteilt? Max. ( n 1) Bereiche mit Punkt am weitesten links 1 Bereich ohne Punkt am weitesten links Formel überträgt sich schön auf höherdimensionale Arrangements

Repräsentation von A(L) A(L) als doppelt verkettete Kantenliste vorher: großes Rechteck B(L) darumlegen B(L) muss alle Ecken von A(L) enthalten

Idee Berechnung A(L) Gleitebenenverfahren A(L) in Zeit in O(n 2 log n) zu langsam inkrementellen Algorithmus bestimmen zuerst B(L) verfeinern Ebenenaufteilung einzeln durch l 1,..., l n L doppelt verkettete Kantenlisten A 1,..., A n

Algorithmus 9.8 Eingabe: eine Menge L = {l 1,..., l n } von n Geraden der Ebene Ausgabe: eine doppelt verkettete Kantenliste D für die Ebenenaufteilung, die durch B(L) und durch den Teil von A(L) innerhalb von B(L) induziert wird 1: Funktion KONSTRUIEREAUFTEILUNG(L) 2: Berechne ein umbeschriebenes Rechteck B(L) =: A 0, welches alle Ecken von A(L) im Inneren enthält. 3: Initialisiere eine doppelt verkettete Kantenliste D für die von B(L) induzierte Ebenenaufteilung.

Algorithmus 9.8 4: Für i 1 bis n mache 5: Suche die Kante k in D = A i 1, die den linken Schnittpunkt q von l i mit dem Rand von B(L) enthält. 6: Bestimme die beschränkte Fläche f von D, die inzident zu k ist. 7: Solange f nicht die unbeschränkte Fläche ist, mache 8: Teile f durch l i in zwei Teilflächen in D. Iteriere dafür ausgehend von q durch die Randkanten von f bis zum zweiten Schnittpunkt p von l i mit dem Rand von f. 9: Setze f auf die nächste von l i geschnittene Fläche von D. Iteriere dafür durch die von p ausgehenden Halbkanten. 10: q p

Analyse Berechnung A(L) Berechnung B(L) in O(n 2 ) äußere Schleife: n Durchläufe Bestimmung k: O(i) innere Schleife: O(i) Durchläufe aber Aufwand für Aufteilung und nächstes f nicht in O(1), nur O(i)! Gesamtaufwand innere Schleife? Wie Komplex ist lokal die Geometrie?

Definition 9.9 Die Zone der Gerade l in dem Arrangement A(L) ist die Menge der Flächen in A(L), deren Abschluss von l geschnitten wird. Die Komplexität dieser Zone ist die Summe der einzelnen Komplexitäten, also der Summe von jeweils Anzahl Kanten und Anzahl Ecken pro enthaltener Fläche.

Zonensatz (Satz 9.10) Die Komplexität einer Zone einer Gerade in einem Arrangement A(L) von m Geraden der Ebene ist in O(m). Beweis. vollständige Induktion

Zonensatz (Satz 9.10) Die Komplexität einer Zone einer Gerade in einem Arrangement A(L) von m Geraden der Ebene ist in O(m). Beweis. vollständige Induktion Hinzunahme Gerade am Rand

Zonensatz (Satz 9.10) Die Komplexität einer Zone einer Gerade in einem Arrangement A(L) von m Geraden der Ebene ist in O(m). Beweis. x-achse l falls l L, so 2(m 1) + 2m = 4m 2 mehr als für A(L \ {l}) andere horizontale Geraden in L: leicht drehen Unterscheidung links/rechts-begrenzende Kanten maximal 5 zusätzliche links-begrenzende Kanten bei Hinzunahme der Gerade l 1 dabei l 1,..., l k auf l in L am weitesten rechts {x} = l l 1, v(w) nächster Schnittpunkt auf l 1 oberhalb(unterhalb) l

Zonensatz (Satz 9.10) Die Komplexität einer Zone einer Gerade in einem Arrangement A(L) von m Geraden der Ebene ist in O(m). Beweis. neue(zusätzliche) links-begrenzende Kanten: auf l 1 1. vw (k = 1) oder vx (k > 1) 2. xw (k > 1) durch l 1 geteilt 3. im Punkt v 4. im Punkt w 5. im Punkt x (nur bei k = 2) Kegel B mit Spitze v (rechts oben von v) nicht in Zone außerhalb von vw auf l 1 keine links-begrenzenden Kanten weitere geschnittene links-begrenzende Kanten nur gekürzt

Satz 9.11 Die doppelt verkettete Kantenliste eines Arrangements, welches durch eine Menge von n Geraden der Ebene induziert wird, kann in Zeit in O(n 2 ) konstruiert werden. Beweis. Zonensatz n O(i) = O(n 2 ) i=1

Überblick 1 Strahlenverfolgung und Diskrepanz 2 Dualität Dualitäts-Abbildung Transformation des Problems zur Bestimmung der Halbebenen-Diskrepanz 3 Aufteilung der Ebene durch Geraden 4 Niveaus und Diskrepanz

Duales Problem (Umformuliert) Gegeben: Gesucht: Menge S von n nicht-vertikalen Geraden der Ebene für alle Ecken e in A(S ) die Anzahlen von Geraden aus S oberhalb von e, durch e, und unterhalb von e

Definition 9.12 Das Niveau eines Punktes x des Arrangements A ist als Anzahl von Geraden von A streng oberhalb von x.

Bestimmung des Niveaus aller Ecken für jedes l S Start mit linker Ecke von l in A(S ) Niveau durch explizite Tests mit ganz S gehen auf l nach rechts, aktualisieren Niveau Zonensatzes: Zeit in O(n)

Gezeigt: Satz 9.3 Die Halbebenen-Diskrepanz einer Menge von n Punkten des Einheitsquadrats kann in Zeit in O(n 2 ) berechnet werden. Beweis. Lemma 9.2, Typ 1 in Zeit in O(n) Typ 2: n(n 1) 2 O(n 2 ) viele Kandidaten pro Kandidat: stetiges Maß in O(1) Berechnung aller diskreten Maße µ S (h) in O(n 2 )