Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Scan-Line-Verfahren Geoinformation II (6. Semester) Vorlesung 1 SS 2001.

Ähnliche Präsentationen


Präsentation zum Thema: "Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Scan-Line-Verfahren Geoinformation II (6. Semester) Vorlesung 1 SS 2001."—  Präsentation transkript:

1 Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Scan-Line-Verfahren Geoinformation II (6. Semester) Vorlesung 1 SS 2001

2 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 12 Übersicht I Übersicht über das Semester Organisation Overlay n-Segment-Schnitt Zur Erinnerung (Diskrete Mathematik) Groß-Oh-Notation Wachstum Hinreichende Bedingung für Schnittfreiheit Scan-Line-Verfahren Idee Scan-Line-Verfahren Gegenbeispiel Nachbarschaft

3 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 13 Übersicht II Verfeinerung des Algorithmus Ordnungsrelation x < Ordnung der Segmente durch die Scan-Line Verwaltung der aktiven Elemente Wann wird der Schnittpunkt S 1 erkannt? Vereinfachende Annahmen Algorithmus Scan-Line Algorithmus II Prüfung auf Schnittfreiheit Segmentschnitt I Segmentschnitt II Einfacher Segmentschnitt I Einfacher Segmentschnitt II

4 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 14 Übersicht über das Semester was ist GIS 2? –Funktionen von GIS Algorithmen in GIS effiziente Berechnung –Speicherung räumlicher Objekte in GIS effiziente Suche GIS 1 = Modelle für GIS Welt Modell GIS 2 = Modell Rechner 2 große Algorithmen –Overlay von Netzen und Flächen (Segmentschnitt) –räumliche Nachbarschaft Voronoi-Diagramm, Delaunay- Triangulation

5 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 15 Motivation: Overlay von Flächen und Landkarten von Netzen: –Fluß und Straßennetz: Brücken –Straßen und Eisenbahnnetz: Brücken, Tunnel –Problem: Schnitt von n geraden Linien-Segmenten von Landkarten (polygonalen Strukturen) –PLZ und Verkaufsbezirke –Gemeinden und Geologie –Problem: Segmentschnitt + Polygonkonstruktion –heute nur: Schnitt von n Segmenten

6 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 16 n-Segment-Schnitt einfaches Vorgehen: –paarweiser Vergleich: s S: s S - {s} überprüfe s und s auf Schnittfreiheit und bestimme ggf. den Schnitt von s und s Laufzeit: O(n 2 ) für die Praxis viel zu langsam Ziel: O(n * log n) harter und langer Kampf! erste Idee: betrachte horizontale Projektionen

7 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 17 Zur Erinnerung (Diskrete Mathematik) Groß-Oh-Notation Definition: wobei

8 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 18 Groß-Oh-Notation Beispiele: O(log n) O(n log n) O(n 3 ) O(n)... O(exp n) O(1) O(n 2 ) Inklusion:

9 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 19 Wachstum n² n log n

10 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 110 Hinreichende Bedingung für Schnittfreiheit notwendig für Schnitt: Überlappung der horizontalen Projektionen Reduktion einer 2-dimensionalen auf eine 1-dimensionale Fragestellung

11 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 111 Scan-Line-Verfahren A B F C D E S1S1 S3S3 S2S2 S4S4

12 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 112 Idee: horizontale Scan-Line über die Ebene schieben –aktive Elemente: Schnitt mit der Scan-Line –nur aktive Elemente können horizontale Überschneidungen haben –überprüfe aktive Elemente auf Schnittfreiheit Problem: wo sind die Haltepunkte der Scan-Line –Anfangspunkt eines Segments –Endpunkt eines Segments –geordnete Menge der x-Koordinaten

13 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 113 Scan-Line-Verfahren A B F C D E S1S1 S3S3 S2S2 S4S4

14 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 114 Scan-Line-Verfahren A B F C D E S1S1 S3S3 S2S2 S4S4

15 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 115 Scan-Line-Verfahren A B F C D E S1S1 S3S3 S2S2 S4S4

16 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 116 Scan-Line-Verfahren A B F C D E S1S1 S3S3 S2S2 S4S4

17 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 117 Scan-Line-Verfahren A B F C D E S1S1 S3S3 S2S2 S4S4

18 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 118 Scan-Line-Verfahren A B F C D E S1S1 S3S3 S2S2 S4S4

19 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 119 Scan-Line-Verfahren A B F C D E S1S1 S3S3 S2S2 S4S4

20 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 120 Scan-Line-Verfahren A B F C D E S1S1 S3S3 S2S2 S4S4

21 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 121 Scan-Line-Verfahren A B F C D E S1S1 S3S3 S2S2 S4S4

22 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 122 Scan-Line-Verfahren A B F C D E S1S1 S3S3 S2S2 S4S4

23 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 123 Scan-Line-Verfahren A B F C D E S1S1 S3S3 S2S2 S4S4

24 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 124 Scan-Line-Verfahren A B F C D E S1S1 S3S3 S2S2 S4S4

25 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 125 Gegenbeispiel zu viele Elemente gleichzeitig aktiv O(n 2 )

26 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 126 Nachbarschaft - Umgebung A B

27 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 127 Verfeinerung des Algorithmus nur benachbarte Segmente betrachten wie erkennt man sehr schnell, ob zwei Segmente benachbart sind? Nutzung der Scan-Line –Betrachte die Schnittpunkte der aktiven Segmente mit der Scan-Line –Nachbarschaft ergibt sich aus der Lage der Schnittpunkte

28 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 128 Ordnungsrelation x < x x B A C A x < B A x < C C x < A C x < B A x < B C x < B

29 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 129 Ordnung der Segmente durch die Scan-Line – x< ist eine dynamische (!) Ordnung... –die nur auf der Menge der aktiven Elemente definiert ist –die Ordnung x< zwischen zwei Elementen wird an ihren Schnittpunkten umgedreht aus a x< b wird am Schnittpunkt s von a und b b x< a –liefert eine vollständige eindimensionale Ordnung der aktiven Segmente... –... für jeden Haltepunkt der Scan-Line !

30 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 130 Verwaltung der aktiven Elemente A B F C D E S1S1 S3S3 S2S2 S4S4

31 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 131 Verwaltung der aktiven Elemente A B F C D E S1S1 S3S3 S2S2 S4S4 A

32 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 132 Verwaltung der aktiven Elemente A B F C D E S1S1 S3S3 S2S2 S4S4 A E

33 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 133 Verwaltung der aktiven Elemente A B F C D E S1S1 S3S3 S2S2 S4S4 B E A

34 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 134 Verwaltung der aktiven Elemente A B F C D E S1S1 S3S3 S2S2 S4S4 B D A E

35 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 135 Verwaltung der aktiven Elemente A B F C D E S1S1 S3S3 S2S2 S4S4 B C A D E

36 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 136 Verwaltung der aktiven Elemente A B F C D E S1S1 S3S3 S2S2 S4S4 B D C E

37 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 137 Verwaltung der aktiven Elemente A B F C D E S1S1 S3S3 S2S2 S4S4 B E C D

38 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 138 Verwaltung der aktiven Elemente A B F C D E S1S1 S3S3 S2S2 S4S4 F C B E D

39 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 139 Verwaltung der aktiven Elemente A B F C D E S1S1 S3S3 S2S2 S4S4 B C F E D

40 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 140 Verwaltung der aktiven Elemente A B F C D E S1S1 S3S3 S2S2 S4S4 B C F E

41 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 141 Verwaltung der aktiven Elemente A B F C D E S1S1 S3S3 S2S2 S4S4 C E F

42 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 142 Verwaltung der aktiven Elemente A B F C D E S1S1 S3S3 S2S2 S4S4 C F E

43 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 143 Verwaltung der aktiven Elemente A B F C D E S1S1 S3S3 S2S2 S4S4 C

44 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 144 Verwaltung der aktiven Elemente A B F C D E S1S1 S3S3 S2S2 S4S4

45 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 145 Wann wird der Schnittpunkt S 1 erkannt? A S1S1 Übung: Wird ein Schnittpunkt stets genau einmal erkannt? C D E B

46 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 146 Vereinfachende Annahmen Annahme 2 Segmente schneiden sich höchstens in einem Punkt in keinem Punkt schneiden sich mehr als 3 Segmente die x-Koordinaten aller Segmente sind paarweise verschieden kein Segment ist vertikal Gegenbeispiel

47 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 147 Algorithmus Scan-Line Input: S: eine Menge von Segmenten Output: die Schnittpunkte der Elemente von S Sei T = Endpunkte der Segmente von S nach x-Koordinaten sortiert (Haltepunkte) L = // aktive Segmente von S while T do bestimme und entferne den nächsten Punkt p T x ist x-Koordinate von p case: p ist linker Endpunkt von s fuege_ein(s,x,L) sl = vorgaenger(s,x,L) sr = nachfolger(s,x,L) schnitt(sl,s,T); schnitt(s,sr,T); p ist rechter Endpunkt von s sl = vorgaenger(s,x,L) sr = nachfolger(s,x,L) entferne(s,x,L) schnitt(sl,sr,T) p ist Schnittpunkt von s und t vertausche(s,t,L,x) // t < s sl = vorgaenger(t,x,L) sr = nachfolger(s,x,L) schnitt(sl,t,T) schnitt(s,sr,T)

48 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 148 Algorithmus II fuege_ein(s,x,L): fügt das Segment s in die Menge L ein entsprechend der Ordnung an der Stelle x entferne(s,x,L): entfernt das Segment s aus die Menge L an der Stelle x nachfolger(s,x,L):liefert den Nachfolger von s in L an der Stelle x, falls vorhanden vorgaenger(s,x,L) liefert den Vorgänger von s in L an der Stelle x, falls vorhanden schnitt(s,t,T)prüft s und t auf Schnitt. Berechnet ggf. den Schnittpunkt p und fügt ihn als neuen Haltepunkt in T ein. offene Probleme: eine geeignete Datenstruktur für T eine geeignete Datenstruktur für L Prüfung auf Schnitt, Berechnung des Schnittpunkts

49 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 149 Prüfung auf Schnittfreiheit 1. Idee –Berechnung der Geradengleichungen g und g der Segmente s und s –Schnittpunkt p von g und g –prüfe ob p in s und s Problem –vertikale Segmente –Vermeidung unangenehmer Sonderfälle

50 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 150 Segmentschnitt I g1g1 g2g2 c) g2g2 g1g1 b) g1g1 g2g2 a)

51 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 151 Segmentschnitt II Reduktion auf das Problem P 1, P 2 liegen auf der gleichen / verschiedenen Seiten der durch g induzierten Geraden Homogene Koordinaten: P 1 =(x 1,y 1,w 1 ) P 2 =(x 2,y 2,w 2 ) P=(x,y,w) D > 0 D < 0 D = 0 P P2P2 P1P1 s

52 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 152 Einfacher Segmentschnitt I S 1 = det ( P 1,P 3,P 4 )Def.:Vor.: Alle Determinanten sind 0: S 2 = det ( P 3,P 1,P 2 )g und g` schneiden sich genau dann, wenn S 1, S 2 S 3 = det ( P 2,P 3,P 4 )sowie S 3, S 4 jeweils verschiedene Vorzeichen S 4 = det ( P 4,P 1,P 2 )haben. P2P2 P1P1 P3P3 P4P4 P2P2 P3P3 P4P4 P1P1 g g` P2P2 P1P1 P3P3 P4P4

53 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 153 Einfacher Segmentschnitt II Wenn alle Determinanten gleich Null sind, dann folgt daraus, daß alle vier Punkte kollinear sind. - eine Determinante ist Null: => Algorithmus: Einsparen von Multiplikationen


Herunterladen ppt "Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Scan-Line-Verfahren Geoinformation II (6. Semester) Vorlesung 1 SS 2001."

Ähnliche Präsentationen


Google-Anzeigen