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 Diskrete Mathematik II Vorlesung 6 SS 2001 Segmentschnitt III.

Ähnliche Präsentationen


Präsentation zum Thema: "Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung 6 SS 2001 Segmentschnitt III."—  Präsentation transkript:

1 Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung 6 SS 2001 Segmentschnitt III

2 Lutz Plümer - Diskrete Mathematik - 2. Semester - SS Vorlesung 62 Übersicht Reduktion von 2-dim auf 1-dim Scan-Line-Verfahren Gegenbeispiel Nachbarschaft Ordnungsrelation „  x <‘‘ Scan-Line & dynamische Ordnung Zusatzfrage: Wann wird der Schnittpunkt S1 erkannt? Vereinfachende Annahmen Algorithmus Scan-Line Algorithmus (II) Datenstrukturen für T und S Eine Variante des AVL-Baums für die Haltepunkte...

3 Lutz Plümer - Diskrete Mathematik - 2. Semester - SS Vorlesung 63 Reduktion von 2-dim auf 1-dim Überlappung der horizontalen Projektionen ist notwendig, aber nicht hinreichend für einen Schnitt

4 Lutz Plümer - Diskrete Mathematik - 2. Semester - SS Vorlesung 64 Scan-Line-Verfahren A B F C D E S1S1 S3S3 S2S2 S4S4

5 Lutz Plümer - Diskrete Mathematik - 2. Semester - SS Vorlesung 65 Gegenbeispiel zu viele Elemente gleichzeitig aktiv  O(n 2 )

6 Lutz Plümer - Diskrete Mathematik - 2. Semester - SS Vorlesung 66 Nachbarschaft  - Umgebung A B

7 Lutz Plümer - Diskrete Mathematik - 2. Semester - SS Vorlesung 67 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

8 Lutz Plümer - Diskrete Mathematik - 2. Semester - SS Vorlesung 68 Scan-Line & dynamische Ordnung A B F C D E S1S1 S3S3 S2S2 S4S4

9 Lutz Plümer - Diskrete Mathematik - 2. Semester - SS Vorlesung 69 Scan-Line & dynamische Ordnung A B F C D E S1S1 S3S3 S2S2 S4S4 A

10 Lutz Plümer - Diskrete Mathematik - 2. Semester - SS Vorlesung 610 Scan-Line & dynamische Ordnung A B F C D E S1S1 S3S3 S2S2 S4S4 A E

11 Lutz Plümer - Diskrete Mathematik - 2. Semester - SS Vorlesung 611 Scan-Line & dynamische Ordnung A B F C D E S1S1 S3S3 S2S2 S4S4 B E A

12 Lutz Plümer - Diskrete Mathematik - 2. Semester - SS Vorlesung 612 Scan-Line & dynamische Ordnung A B F C D E S1S1 S3S3 S2S2 S4S4 B D A E

13 Lutz Plümer - Diskrete Mathematik - 2. Semester - SS Vorlesung 613 Scan-Line & dynamische Ordnung A B F C D E S1S1 S3S3 S2S2 S4S4 B C A D E

14 Lutz Plümer - Diskrete Mathematik - 2. Semester - SS Vorlesung 614 Scan-Line & dynamische Ordnung A B F C D E S1S1 S3S3 S2S2 S4S4 B D C E

15 Lutz Plümer - Diskrete Mathematik - 2. Semester - SS Vorlesung 615 Scan-Line & dynamische Ordnung A B F C D E S1S1 S3S3 S2S2 S4S4 B E C D

16 Lutz Plümer - Diskrete Mathematik - 2. Semester - SS Vorlesung 616 Scan-Line & dynamische Ordnung A B F C D E S1S1 S3S3 S2S2 S4S4 F C B E D

17 Lutz Plümer - Diskrete Mathematik - 2. Semester - SS Vorlesung 617 Scan-Line & dynamische Ordnung A B F C D E S1S1 S3S3 S2S2 S4S4 B C F E D

18 Lutz Plümer - Diskrete Mathematik - 2. Semester - SS Vorlesung 618 Scan-Line & dynamische Ordnung A B F C D E S1S1 S3S3 S2S2 S4S4 B C F E

19 Lutz Plümer - Diskrete Mathematik - 2. Semester - SS Vorlesung 619 Scan-Line & dynamische Ordnung A B F C D E S1S1 S3S3 S2S2 S4S4 C E F

20 Lutz Plümer - Diskrete Mathematik - 2. Semester - SS Vorlesung 620 Scan-Line & dynamische Ordnung A B F C D E S1S1 S3S3 S2S2 S4S4 C F E

21 Lutz Plümer - Diskrete Mathematik - 2. Semester - SS Vorlesung 621 Scan-Line & dynamische Ordnung A B F C D E S1S1 S3S3 S2S2 S4S4 C

22 Lutz Plümer - Diskrete Mathematik - 2. Semester - SS Vorlesung 622 Scan-Line & dynamische Ordnung A B F C D E S1S1 S3S3 S2S2 S4S4

23 Lutz Plümer - Diskrete Mathematik - 2. Semester - SS Vorlesung 623 Zusatzfrage: Wann wird der Schnittpunkt S 1 erkannt? A S1S1 Übung: Wird ein Schnittpunkt ggf. mehr als einmal erkannt? C D E B

24 Lutz Plümer - Diskrete Mathematik - 2. Semester - SS Vorlesung 624 Vereinfachende Annahmen Annahme 2 Segmente schneiden sich höchstens in einem Punkt in keinem Punkt schneiden sich mehr als 2 Segmente die x-Koordinaten aller Segmente sind paarweise verschieden kein Segment ist vertikal Gegenbeispiele

25 Lutz Plümer - Diskrete Mathematik - 2. Semester - SS Vorlesung 625 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)

26 Lutz Plümer - Diskrete Mathematik - 2. Semester - SS Vorlesung 626 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 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 Schnitt- punkt 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

27 Lutz Plümer - Diskrete Mathematik - 2. Semester - SS Vorlesung 627 Datenstrukturen für T und S Datenstrukur für T –AVL-Baum –letztes Semester was ist ein AVL-Baum –erstens ein Suchbaum –zweitens ausgeglichen Datenstruktur für L –AVL-Baum? –Problem: „Vorgänger“ und „Nachfolger“ finden das wird vom AVL-Baum nicht unterstützt –also: Variante des AVL-Baums alle Informationen sind in Blättern (nicht in inneren Knoten) die Blätter bilden eine doppelt verkettete Liste

28 Lutz Plümer - Diskrete Mathematik - 2. Semester - SS Vorlesung 628 Eine Variante des AVL-Baums mit einer doppelt verketteten Liste der Blätter für die Menge der aktiven Elemente

29 Lutz Plümer - Diskrete Mathematik - 2. Semester - SS Vorlesung 629 für die Haltepunkte......mit den Operationen –Einfügen eines gefundenen Schnittpunktes –Finden und Entfernen des nächsten (also minimalen) Elements genügt ein „normaler“ AVL-Baum obwohl man mit Kanonen auf Spatzen schießt besser: ein Heap (wie bei Dijkstra)


Herunterladen ppt "Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung 6 SS 2001 Segmentschnitt III."

Ähnliche Präsentationen


Google-Anzeigen