Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Diskrete Mathe II Übung 6.6.2005. IKG - Übung Diskrete Mathe II – Jörg Schmittwilken 2 Übung5 Prüft, ob sich folgende Segmente schneiden: –P1(1/7) P2(3/1)

Ähnliche Präsentationen


Präsentation zum Thema: "Diskrete Mathe II Übung 6.6.2005. IKG - Übung Diskrete Mathe II – Jörg Schmittwilken 2 Übung5 Prüft, ob sich folgende Segmente schneiden: –P1(1/7) P2(3/1)"—  Präsentation transkript:

1 Diskrete Mathe II Übung 6.6.2005

2 IKG - Übung Diskrete Mathe II – Jörg Schmittwilken 2 Übung5 Prüft, ob sich folgende Segmente schneiden: –P1(1/7) P2(3/1) –P3(-4/10)P4(8/5) Zur Prüfung verwendet –Schnittpunktberechnung zweier Geraden, und –Viermaliges Prüfen der Lage eines Punktes zu einem Segment mithilfe von Determinanten. Vergleicht die beiden Verfahren indem ihr jeweils Vor- und Nachteile erläutert. Was leisten die beiden Verfahren bei der Überprüfung von n Segmenten?

3 IKG - Übung Diskrete Mathe II – Jörg Schmittwilken 3 Ü5 - Geradenschnitt S1: P1(1/7)P2(3/1) S2: P3(-4/10)P4(8/5) y = -3x + 10 y‘ = -5/12 x + 25/3 SP(20/31 / 250/31) SP != S1 Segmente schneiden sich nicht!

4 IKG - Übung Diskrete Mathe II – Jörg Schmittwilken 4 Ü5 - Determinante S1: P1(1/7)P2(3/1) S2: P3(-4/10)P4(8/5) D(P1,P3,P4) = -11 D(P2,P3,P4) = -73 D(P3,P1,P2) = D(P4,P1,P2) = Segmente schneiden sich nicht!

5 IKG - Übung Diskrete Mathe II – Jörg Schmittwilken 5 Scan-Line T = Endpunkte der Segmente von S nach x-Koordinaten sortiert (Haltepunkte) L = leer // aktive Segmente von S while T = leer 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)

6 IKG - Übung Diskrete Mathe II – Jörg Schmittwilken 6 Beispiel S2 S4 S3 S1 S5

7 IKG - Übung Diskrete Mathe II – Jörg Schmittwilken 7 Datenstruktur für L Eingabe: Ein Suchbaum Ausgabe: Die sortierte Liste L der Elemente (doppelt verkettet) Globale Variable: Liste L = [ ]; inorder(Knoten W) { if(W = NULL) return; inorder(W.LinkerNachfolger); füge W hinten an doppelt verkettete Liste L an; inorder(W.RechterNachfolger); }

8 IKG - Übung Diskrete Mathe II – Jörg Schmittwilken 8 Einfügen Einfügen eines neuen Elements X in einen AVL-Baum mit sortierter doppelt verketteter Liste: Falls X links unter einen Knoten Y gehängt wird: füge X vor Y in Liste ein Falls X rechts unter einen Knoten Y gehängt wird: füge X hinter Y in Liste ein

9 IKG - Übung Diskrete Mathe II – Jörg Schmittwilken 9 Vorgänger / Nachfolger ? 5716 8344 65 6799 7090 88 8345560 75 45056 737796

10 IKG - Übung Diskrete Mathe II – Jörg Schmittwilken 10 doppelt verkettete Liste 5716 8344 65 6799 7090 88 8345560 75 45056 737796

11 IKG - Übung Diskrete Mathe II – Jörg Schmittwilken 11 Ü6 Wendet den Scan-Line Algorithmus auf unten stehende Situation an. Protokolliert die Ergebnisse der einzelnen Schritte in übersichtlicher Form Segment1: (2/3), (8/6) Segment2: (3/5), (6/2) Segment3: (5/1), (7/7) Schnittpunkte müssen nicht berechnet werden. Ihre Koordinaten können aus der Zeichnung abgelesen werden!


Herunterladen ppt "Diskrete Mathe II Übung 6.6.2005. IKG - Übung Diskrete Mathe II – Jörg Schmittwilken 2 Übung5 Prüft, ob sich folgende Segmente schneiden: –P1(1/7) P2(3/1)"

Ähnliche Präsentationen


Google-Anzeigen