Hallo Welt für Fortgeschrittene. Geometrie I. Lukas Batz. Informatik 2 Programmiersysteme Martensstraße Erlangen

Ähnliche Dokumente
Hallo Welt! für Fortgeschrittene. Geometrie I. Philipp Erhardt. 19. Juli Philipp Erhardt Geometrie I 19. Juli / 27

Geometrie I. Sebastian Redinger Informatik 2 Programmiersysteme Martensstraße Erlangen

Geometrie 1. Christian Bay Christian Bay Geometrie / 46

Geometrie I. Polygone. Dominik Huber Hallo Welt! für Fortgeschrittene. Informatik 2 Programmiersysteme Martensstraße Erlangen

Hallo Welt für Fortgeschrittene

July 04, Geometrie I. Hallo Welt! für Fortgeschrittene. Daniel Uebler

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

Geometrie I. Laura Lawniczak Hallo Welt -Seminar - LS 2

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

Geometrie I. Tobias Langer Tobias Langer Geometrie I / 59

a b b 1 b 2 bzgl. einer ONB (Orthonormalbasis) heißt der a 2 b 3 a 3 b 2 a 3 b 1 a 1 b b 3 a 1 b 2 a 2 b 1

Geometrische Algorithmen Einige einfache Definitionen: Ist ein Punkt in einem Polygon? Punkt-in-Polygon-Problem. Das Punkt-in-Polygon-Problem

Abitur 2016 Mathematik Geometrie V

Geometrie. Bei der Addition von Vektoren erhält man einen Repräsentanten des Summenvektors +, indem man die Repräsentanten von aneinanderfügt:

Algorithmische Geometrie: Delaunay Triangulierung (Teil 1)

Zusammenfassung der Analytischen Geometrie

Abitur 2011 G8 Musterabitur Mathematik Geometrie VI

Kurzskript zur Vorlesung Mathematik I für MB, WI/MB und andere Prof. Dr. Ulrich Reif

Prüfungsteil B, Aufgabengruppe 2: Geometrie

Teil II. Geometrie 19

Das Skalarprodukt zweier Vektoren

Sollten sich (Flüchtigkeits )Fehler eingeschlichen haben, bitte ich um eine kurze Nachricht an hans

Abitur 2011 G9 Abitur Mathematik GK Geometrie VI

MATHEMATIK G10. (1) Bestimme die Gleichung der Geraden durch die beiden Punkte

Lernunterlagen Vektoren in R 2

Abitur 2010 Mathematik LK Geometrie V

Brückenkurs Mathematik. Mittwoch Freitag

Seminar. Algorithmische Geometrie

Arbeitsblatt Mathematik 2 (Vektoren)

Vorkurs Mathematik Intensiv. Vektoren, Skalarprodukte und Geraden in der Ebene Musterlösung

Abitur 2017 Mathematik Geometrie VI

Lage zweier Ebenen. Suche alle Punkte von E 1 die in E 2 enthalten sind. Setze also die Parameterform von E 1 in die Koordinatenform von E 2.

Vektorprodukt. 1-E1 Ma 1 Lubov Vassilevskaya

03. Vektoren im R 2, R 3 und R n

Algorithmische Geometrie, SoSe 2005 Skriptmitschrift vom 29. April 2005

Algebra Für welche reellen Zahlen m hat das folgende Gleichungssystem nur die triviale

1 Vorlesungen: und Vektor Rechnung: 1.Teil

03. Vektoren im R 2, R 3 und R n

GRUNDLAGEN MATHEMATIK

Konvexe Hülle. Konvexe Hülle. Mathematik. Konvexe Hülle: Definition. Mathematik. Konvexe Hülle: Eigenschaften. AK der Algorithmik 5, SS 2005 Hu Bin

Inhalt. Mathematik für Chemiker II Lineare Algebra. Vorlesung im Sommersemester Kurt Frischmuth. Rostock, April Juli 2015

Übungsblatt 3 (Vektorgeometrie)

(x 1. Vektoren. g: x = p + r u. p r (u1. x 2. u 2. p 2

Serie 10: Inverse Matrix und Determinante

H. Gruber, R. Neumann. Erfolg im Mathe-Abi. Übungsbuch für den Pflichtteil Baden-Württemberg mit Tipps und Lösungen

Vorkurs: Mathematik für Informatiker

Abitur 2011 G8 Abitur Mathematik Geometrie V

Grundlagen der Vektorrechnung

Übungsblatt 7 - Voronoi Diagramme

Abitur 2010 Mathematik GK Geometrie VI

Abitur 2013 Mathematik Geometrie V

Lernkarten. Analytische Geometrie. 6 Seiten

Kapitel 17 Skalar- und Vektorprodukt

Übungen zur Vorlesung Algorithmische Geometrie

Lineare Algebra in der Oberstufe

entspricht der Länge des Vektorpfeils. Im R 2 : x =

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

Übungen Mathematik I, M

Vorkurs: Mathematik für Informatiker

63.5 Das Vektorprodukt - Übungen (2)

Geometrische Algorithmen

Hallo Welt für Fortgeschrittene

Übungsblatt 1: Lösungswege und Lösungen

6.6. Abstandsbestimmungen

Rechnen mit Vektoren. 1. Vektoren im Koordinatensystem Freie Vektoren in der Ebene

Vektoren, Vektorräume

M. Pester 29. Ein konvexes d-polytop ist eine begrenzte d-dimensionale polyedrale Menge. (d = 3 Polyeder, d = 2 Polygon)

Grundwissen Abitur Geometrie 15. Juli 2012

Prüfungsteil B, Aufgabengruppe 1, Geometrie. Bayern Aufgabe 1. a b. Bundesabitur Mathematik: Musterlösung. Abitur Mathematik Bayern 2014

Analytische Geometrie mit dem Voyage 1

Vorkurs: Mathematik für Informatiker

a) Berechnen Sie einen Punkt D so, dass das Viereck ABCD eine Raute ist. (5 P) b) Kreuzen Sie an, welche Aussagen auf eine Raute zutreffen.

Vorlesung Mathematik 2 für Informatik

Mathematik LK 12 M1, 3. KA LA I / Analytische Geometrie Lösung

5. Wie bringt man einen Vektor auf eine gewünschte Länge? Zuerst bringt man ihn auf die Länge 1, dann multipliziert man mit der gewünschten Länge.

FOS 1994, Ausbildungsrichtungen Technik und Agrarwirtschaft Analytische Geometrie, Aufgabengruppe B II

Lösungen Übungsblatt 3 (Vektorgeometrie)

H. Gruber, R. Neumann. Erfolg im Mathe-Abi. Basiswissen Niedersachsen. Übungsbuch für den Grundkurs mit Tipps und Lösungen

Abstand Punkt/Ebene. x 50 = 0

Abitur 2011 G8 Musterabitur Mathematik Geometrie V

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

Bayern Aufgabe a. Abitur Mathematik: Musterlösung. Die Koordinaten von C sind die Komponenten des Vektors PC (denn P ist

Kapitel I (Vektorrechnung)

Übungen 3. Vektoren. 1) Gesucht sind alle möglichen Vektoren c mit der Länge 6, die senkrecht auf den Vektoren a und b stehen.

13. Klasse TOP 10 Grundwissen 13 Geradengleichungen 01

Datenstrukturen und Algorithmen

Geometrie. Ingo Blechschmidt. 4. März 2007

1 Vektoren, Vektorielle analytische Geometrie der Ebene

Skalarprodukt. Anwendung auf die Berechnung von einfachen Abständen und Winkeln sowie Normalenvektor. Ganz einfache Erklärung der Grundlagen:

Fortgeschrittene Mathematik Raum und Funktionen

VEKTOREN. Allgemeines. Vektoren in der Ebene (2D)

1993 III Aufgabe. In einem kartesischen Koordinatensystem sind die Gerade

Analytische Geometrie, Vektorund Matrixrechnung

HTW MST Mathematik 1. Vektorrechnung. Zu Aufgabe 1. Zu Aufgabe Lösungen zu Übungsblatt 5. Lösung: Lösung: = 39

Brückenkurs Mathematik

1.1. Geradengleichung aus Steigung und y-achsenabschnitt

& sind die Vektorkomponenten von und sind die Vektorkoordinaten von. A x. a) Der Betrag eines Vektors

13 Lösen von Gleichungssystemen

Transkript:

Hallo Welt für Fortgeschrittene Geometrie I Lukas Batz Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen

Gliederung Grundlagen Vektoren Geradengleichungen Skalar- und Kreuzprodukt Abstand Punkt-Linie/-Segment CCW-Test Polygone Punkt-in-Polygon-Problem Pick's Theorem Konvexe Hülle Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 2

Gliederung Grundlagen Vektoren Geradengleichungen Skalar- und Kreuzprodukt Abstand Punkt-Linie/-Segment CCW-Test Polygone Punkt-in-Polygon-Problem Pick's Theorem Konvexe Hülle Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 3

Grundlagen - Vektoren Definition: Vektor () a1 a2 a = gegeben durch n-tupel reeller Zahlen,... an darstellbar als Spaltenvektor oder Vektorpfeil. Verschiebung in Raum oder Ebene, Vektoren können summiert und addiert werden und mit Skalaren multipliziert werden. Berechnung A = Verschiebung von A nach B: AB = B Merke Kopf minus Fuß Länge eines Vektors: a = (Abstand von A und B) a +a +...+a 2 1 2 2 2 n Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 4 ( ) b1 a1 b2 a 2... bn an

Grundlagen - Geradengleichungen Im ℝ2: y = m x + t Kann durch zwei voneinander verschiedene Punkte bestimmt werden x 2 x 1 Steigung m := y 2 y 1 Y-Achsenabschnitt t := y p m x p Vorteile von Geradengleichung: Lotgeraden in Punkt p: y = m x+y p+m x p Parallelen Geraden durch Punkt p: y = m x+y p m x p Schnittpunkt zweier Geraden: Ps ( t 2 t 1 m1 t 2 m2 t 1, m1 m2 m1 m2 Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 5 )

Grundlagen - Geradengleichungen Mit Vektoren im ℝ2/ℝ3: Erzeugung durch Punkt und Richtungsvektor: + λ g = A u Erzeugung durch zwei voneinander verschiedene Punkte: + λ g = A AB z.b. Berechnung von Schnittpunkt LGS Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 6

Grundlagen - Skalarprodukt Berechnung B ℝ(Skalar) Im ℝ3: A B = a1 b1+a 2 b 2+a3 b 3 A Eigenschaften und Anwendung B = A B cos(φ) A 1 A B φ = cos B A auf die von A bestimmte Richtung Orthogonale Projektion von B B = 0 gdw. die Vektoren senkrecht aufeinander stehen A 2 2 2 v = v v = v 1 +v 2+v 3 Berechnung des Betrags eines Vektors Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 7

Grundlagen - Kreuzprodukt Berechnung B ℝ3 Im ℝ3: A ( a 2 b3 a 3 b2 B = a b a b A 3 1 1 3 a1 b 2 a 2 b1 ) Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 8

Grundlagen - Kreuzprodukt Eigenschaften und Anwendung B steht senkrecht auf der A und B aufgespannten Ebene. von A B ergibt den Flächeninhalt des A und B aufgespannten Parallelogramms. von A B = A B sin(φ) A B A sin(φ) = B A B A φ = sin B A 1 Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 9

Gliederung Grundlagen Vektoren Geradengleichungen Skalar- und Kreuzprodukt Abstand Punkt-Linie/-Segment CCW-Test Polygone Punkt-in-Polygon-Problem Pick's Theorem Konvexe Hülle Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 10

Abstand Punkt-Linie ges.: Der Abstand eines Punktes P zur Geraden g. AP u Abstand: d(g,p) = u Herleitung: 1 g h= 1 AP u 2 2 AP u <=> h = u = d 2, g = u Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 11

Abstand Punkt-Segment ges.: Der Abstand eines Punktes P zur Strecke AB. Fall 1: P liegt zwischen den Endpunkten A und B der Geraden AP u AP AB d(ab,p) = = u AB Fall 2: P liegt außerhalb von diesen Bereich AP, BP } d(p, AB) = min{ Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 12

Gliederung Grundlagen Vektoren Geradengleichungen Skalar- und Kreuzprodukt Abstand Punkt-Linie/-Segment CCW-Test Polygone Punkt-in-Polygon-Problem Pick's Theorem Konvexe Hülle Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 13

CCW-Test CCW Beschreibt die relative Richtung eines Punktes zu einer Strecke. CW: Clockwise (Im Uhrzeigersinn) CCW: Counter Clockwise (Gegen den Uhrzeigersinn) Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 14

CCW-Test Berechnung (im ℝ2) sei = a = AC, b AB a 1 b 2 a 2 b1 < 0: Counter Clockwise (CCW) a 1 b 2 a 2 b1 = 0: Punkt C liegt auf einer Linie mit A und B a 1 b 2 a 2 b1 > 0: Clockwise (CW) Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 15

CCW-Test Anwendungsbeispiel: Gibt es einen Schnittpunkt der beiden Strecken AB und CD? Es gibt einen Schnittpunkt, wenn die Endpunkte jeweils auf unterschiedlichen Seiten der Geraden der anderen Strecke liegen und umgekehrt. Sonderfall: Ein Endpunkt liegt auf der anderen Strecke Überprüfe für alle Kombinationen ob Endpunkt auf anderer Strecke Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 16

Gliederung Grundlagen Vektoren Geradengleichungen Skalar- und Kreuzprodukt Abstand Punkt-Linie/-Segment CCW-Test Polygone Punkt-in-Polygon-Problem Pick's Theorem Konvexe Hülle Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 17

Polygone Definition: Polygon mindestens drei Punkte voneinander verschieden nicht kollinear durch Strecken miteinander verbunden geschlossener Streckenzug Bspw.: Dreieck, Viereck,, n-eck (bei n Eckpunkten) Weitere Eigenschaften: überschlagen / einfach planar / nicht planar gleichseitig / gleichwinklig / regelmäßig Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 18

Polygone Konvexe Polygone Jede geradlinige Verbindung zwischen zwei Punkten aus dem Polygon muss innerhalb des Polygons liegen (inkl. Rand). Alle Innenwinkel <= 180 Konkave Polygone mindestens eine Verbindungsstrecke zwischen zwei Punkten liegt ( zumindest teilweise) außerhalb des Polygons. mindestens Ein Innenwinkel > 180 Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 19

Polygone - Punkt-in-Polygon-Problem Fragestellung: Liegt der Punkt P in geg. Polygon Beispiel aus AUD: Leiterplatte Für allgemeine Polygone: Strahl-Methode Wähle beliebigen Punkt Q, der sicher außerhalb liegt Verbinde P und Q und betrachte Schnittpunkte von PQ mit den Kanten des Polygons Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 20

Polygone - Punkt-in-Polygon-Problem Fall 1: kein Schnittpunkt P liegt außerhalb Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 21

Polygone - Punkt-in-Polygon-Problem Fall 1: kein Schnittpunkt P liegt außerhalb Fall 2: gerade Anzahl von Schnittpunkten P liegt außerhalb Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 22

Polygone - Punkt-in-Polygon-Problem Fall 1: kein Schnittpunkt P liegt außerhalb Fall 2: gerade Anzahl von Schnittpunkten P liegt außerhalb Fall 3: ungerade Anzahl von Schnittpunkten P liegt innerhalb Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 23

Polygone - Punkt-in-Polygon-Problem Fall 1: kein Schnittpunkt P liegt außerhalb Fall 2: gerade Anzahl von Schnittpunkten P liegt außerhalb Fall 3: ungerade Anzahl von Schnittpunkten P liegt innerhalb Sonderfall a: unendlich viele Schnittpunkte (schneidet Kante) Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 24

Polygone - Punkt-in-Polygon-Problem Fall 1: kein Schnittpunkt P liegt außerhalb Fall 2: gerade Anzahl von Schnittpunkten P liegt außerhalb Fall 3: ungerade Anzahl von Schnittpunkten P liegt innerhalb Sonderfall a: unendlich viele Schnittpunkte (schneidet Kante) Sonderfall b: Schnittpunkt = Eckpunkt Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 25

Polygone - Punkt-in-Polygon-Problem Fall 1: kein Schnittpunkt P liegt außerhalb Fall 2: gerade Anzahl von Schnittpunkten P liegt außerhalb Fall 3: ungerade Anzahl von Schnittpunkten P liegt innerhalb Sonderfall a: unendlich viele Schnittpunkte (schneidet Kante) Sonderfall b: Schnittpunkt = Eckpunkt Einfacher und Robuster als alle Sonderfälle abfangen: Bei Sonderfall neuen zufälligen Punkt Q wählen Statt gerade/ungerade zu zählen kann ein Bool je Schnittpunkt invertiert werden Laufzeit: Für Jede Kante muss überprüft werden, ob Schnittpunkte mit dem Strahl existieren O(n) Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 26

Polygone - Punkt-in-Polygon-Problem Algorithmus für konvexe Polygone(1) Konvex alle Innenwinkel <=180 Idee: Für alle Kanten (gegen den Uhrzeigersinn besucht) mittels CCW-Test überprüfen, ob Punkt P links davon liegt. Laufzeit O(n) Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 27

Polygone - Punkt-in-Polygon-Problem Algorithmus für konvexe Polygone(2) Binäre Suche nach einem Dreieck P0 Pa Pb, das P potentiell enthalten könnte, mit P0 als Fixpunkt. int a = 1, b = n - 1; while(b - a > 1) { int m = (a + b)/2; if(ccw(poly[0], poly[m], q) >= 0) { a = m; } else { b = m; } } Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 28

Polygone - Punkt-in-Polygon-Problem int a = 1, b = n - 1; while(b - a > 1) { int m = (a + b)/2; if(ccw(poly[0], poly[m], q) >= 0) { a = m; } else { b = m; } } Wenn P in gefundenem Dreieck (CCW) P liegt im Polygon Sonst P liegt nicht im Polygon Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 29

Polygone - Punkt-in-Polygon-Problem int a = 1, b = n - 1; while(b - a > 1) { int m = (a + b)/2; if(ccw(poly[0], poly[m], q) >= 0) { a = m; } else { b = m; } } Wenn P in gefundenem Dreieck (CCW) P liegt im Polygon Sonst P liegt nicht im Polygon Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 30

Polygone - Punkt-in-Polygon-Problem int a = 1, b = n - 1; while(b - a > 1) { int m = (a + b)/2; if(ccw(poly[0], poly[m], q) >= 0) { a = m; } else { b = m; } } Wenn P in gefundenem Dreieck (CCW) P liegt im Polygon Sonst P liegt nicht im Polygon Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 31

Polygone - Punkt-in-Polygon-Problem int a = 1, b = n - 1; while(b - a > 1) { int m = (a + b)/2; if(ccw(poly[0], poly[m], q) >= 0) { a = m; } else { b = m; } } Wenn P in gefundenem Dreieck (CCW) P liegt im Polygon Sonst P liegt nicht im Polygon Laufzeit: Binäre Suche O(log n) O(log n) Punkt in Dreieck per CCW O(3) Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 32

Polygone - Pick's Theorem Voraussetzungen Einfaches Gitterpolygon Ganzzahlige Eckpunktkoordinaten Aussage des Satz von Pick Der Flächeninhalt A eines solchen R Polygons beträgt: A = I + 1 2 wobei I := Anzahl der Gitterpunkte im Inneren des Polygons R := Anzahl der Gitterpunkte auf dem Rand des Polygons Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 33

Polygone - Pick's theorem Anwendungsfall: geg.: (ganzzahlige) Polygon-Eckpunkte, ges.: Anzahl der Gitterpunkte im Inneren R Umgestellte Formel : I = A + 1 2 A, die Fläche des Polygons kann aus den Eckpunkten per gaußscher Trapezformel n 2A= (y i+y i+1 )(x i x i+1 ) / / mit indizes modulo n i=1 R, die Anzahl der Gitterpunkte auf dem Rand, muss aus den Eckpunkten berechnet werden Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 34

Polygone - Pick's theorem Anzahl der Gitterpunkte auf dem Rand berechnen: Point poly [N]; //Polygon P int boundary_points() { int bp = 0; for(int i = 1; i < N+1; ++i) { bp += gcd( abs( poly[i%n].x - poly[i - 1].x ), abs( poly[i%n].y - poly[i - 1].y ) ); } return bp; } Lösung des Anwendungsfall int interior_points = area() - boundary_points() / 2 + 1; Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 35

Polygone - Konvexe Hülle Definition: Konvexe Hülle ( convex hull ) kleinstes konvexes Polygon P alle Punkte einer Punktemenge Q in P enthalten (inkl. Rand) Bsp.: Nagelbrett und Gummi Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 36

Polygone - Konvexe Hülle Aus AUD: Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 37

Polygone - Konvexe Hülle - Jarvis-March Jarvis-March (Gift-Wrapping-Algorithmus) (1) Wähle Extrempunkt p0 als Startpunkt S Teil der Hülle (2) Wiederhole (2.1) Füge Startpunkt S zum Polygon hinzu. (2.2) Wähle Endpunkt E aus Q. (2.3) Für alle restlichen Punkte qj aus Q mit 1< j < Q (2.3.1) Wenn (S == E) oder (qj rechts von der Geraden SE) (2.3.2) Setze E = qj; (2.4) Setze S = E; solange (E!= p0) Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 38 CCW-Test

Polygone - Konvexe Hülle - Jarvis-March Aufwand: Für jeden Punkt der konvexen Hülle müssen alle Punkte aus der Punktemenge Q durchlaufen werden Innere Schleife: O(n) Äußere Schleife: Sei h die Anzahl der Punkte in P O(h) Insgesamt: O(n*h) Allerdings im Worst Case: Alle Punkte aus Q gehören zur konvexen Hülle P h = n O(n²) Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 39

Polygone - Konvexe Hülle - Graham Scan Graham Scan (1) Wähle Extrempunkt als Startpunkt p0 Teil der Hülle z.b. mit kleinsten Wert der y-koordinate, bei Mehrdeutigkeit davon den der die größte x-koordinate hat. (2) Füge p0 zum Polygon P hinzu. (3) Bestimme für alle Punkte pi die Steigung der Geraden p0pi. (4) Sortiere die Punkte nach der Steigung absteigend in Liste (5) Entferne den obersten Punkt aus Liste und füge ihn zu P hinzu Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 40

Polygone - Konvexe Hülle - Graham Scan (6) Wiederhole solange Punkte in Liste (5.1) Nehme nächsten Punkt pi aus der Liste und zu P hinzu d.h. den mit der höchsten Steigung zum Startpunkt p0 Haben mehrere Punkte die gleiche Steigung, wähle von diesen den von p0 am weitesten entfernten Punkt. CCW-Test (5.2.1) Wenn Winkel (innenseitig) pn-1pnpi <180 füge pi zu P hinzu (5.2.2) Sonst (Winkel pn-1pnpi >=180 ) pn sei der zuletzt zu P hinzugefügte Punkt pn-1 der Vorletzte entferne solange zuvor hinzugefügte Punkte/Kanten, bis Winkel zwischen letzter Polygonkante und pi <180 Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 41

Polygone - Konvexe Hülle - Graham Scan Aufwand: Jeder Punkt wird höchstens einmal hinzugefügt und höchstens einmal wieder entfernt O(n) Sortieren der Steigungen/Winkel am Anfang O(n*log n) Insgesamt: O(n*log n) Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 42

Gliederung Grundlagen Vektoren Geradengleichungen Skalar- und Kreuzprodukt Abstand Punkt-Linie/-Segment CCW-Test Polygone Punkt-in-Polygon-Problem Pick's Theorem Konvexe Hülle Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 43

The End Fragen? Fragen! Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 44

Quellen Binomi Verlag : Formeln + Hilfen Höhere Mathematik AUD Foliensatz 15 vom WS 14/15 FAU ICPC Wiki Templates: Geometrie Wikipedia: Vektor, Gerade, Skalarprodukt, Kreuzprodukt, Polygon, Satz von Pick, Gaußsche Trapetzformel, Graham Scan, Jarvis March Hallo Welt Geometrie I Referat 2013 Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 45

Vielen Dank für eure Aufmerksamkeit! Vielen Dank für Eure Aufmerksamkeit! Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 46

Überschrift Farbschema (24) Hervorhebung (22) Besondere Akzentuierung Beispiel-Legende (20) Dritte Farbe bei Bedarf Dritte Ebene (20) Vierte Ebene (18) - Fünfte Ebene (18) Auch in Textfeld Arial Linien 2¼ pt Hallo Welt für Fortgeschritten Geometrie I Lukas Batz Folie 47