HTWK Leipzig, Fakultät IMN
Prof. Dr. Sibylle Schwarz sibylle.schwarz@htwk-leipzig.de
3. Übung zur Vorlesung „Algorithmische Geometrie“
Sommersemester 2014 gestellt am 13. Mai 2014
Repräsentation von Zerlegungen: je ein (endliches) Array von Ecken: V mit Datenstruktur fürv∈V:
Koordinaten: (vx, vy)∈R2
Kante: (Verweis auf) eine (beliebige) Halbkantee∈E mit Ursprung(e)=v Halbkanten: E mit Datenstruktur füre∈E:
Ursprung: (Verweis auf) Eckev∈V Partner: (Verweis auf) Halbkantee0∈E
mit Ziel vone= Ursprung(e0) und Ziel vone0 = Ursprung(e) Fläche: (Verweis auf) Flächef ∈F links vone
Next: (Verweis auf) Halbkantee0 ∈E
mit Ursprung(Partner(e))=Ursprung(e0) und Fläche(e0) =Fläche(e) Prev: (Verweis auf) Halbkantee0∈E
mit Ursprung(Partner(e0))=Ursprung(e) und Fläche(e0) =Fläche(e) Flächen: F mit Datenstruktur fürf ∈F:
Außen: (Verweis auf) eine (beliebige) Halbkantee∈E mit Fläche(e) =f Innen: Liste von (Verweisen auf beliebige) Halbkantene∈E,
welche für jede Flächef0innerhalbf genau eine Halbkante mit Fläche(Partner(e)) =f0enthält (Repräsentation aller Löcher in der Flächef)
Aufgabe 3.1:
Stellen Sie die folgende Zerlegung graphisch dar:
Ecke Koordinaten Kante v1 (0,0) e1,2
v2 (4,0) e2,2 v3 (4,6) e3,2
v4 (0,6) e4,2 v5 (0,3) e5,2
v6 (1,1) e8,2
v7 (1,2) e9,2
v8 (2,1) e7,2
v9 (2,2) e10,2
v10 (3,2) e11,2
v11 (3,3) e12,2
Fläche Außen Innen
f1 e6,1 ⊥
f2 e6,2 [e7,2, e12,2]
f3 e8,1 ⊥
f4 e10,1 ⊥
f5 ⊥ [e1,2]
Halbkante Ursprung Partner Fläche Next Prev
e1,1 v2 e1,2 f2 e5,1 e2,1
e1,2 v1 e1,1 f5 e2,2 e5,2
e2,1 v3 e2,2 f2 e1,1 e6,2
e2,2 v2 e2,1 f5 e3,2 e1,2
e3,1 v4 e3,2 f1 e6,1 e4,1
e3,2 v3 e3,1 f5 e4,2 e2,2
e4,1 v5 e4,2 f1 e3,1 e6,1
e4,2 v4 e4,1 f5 e5,2 e3,2
e5,1 v1 e5,2 f2 e6,2 e1,1
e5,2 v5 e5,1 f5 e1,2 e4,2
e6,1 v3 e6,2 f1 e4,1 e3,1
e6,2 v5 e6,1 f2 e2,1 e5,1
e7,1 v7 e7,2 f3 e8,1 e9,1
e7,2 v8 e7,1 f2 e9,2 e8,2
e8,1 v8 e8,2 f3 e9,1 e7,1
e8,2 v6 e8,1 f2 e7,2 e9,2
e9,1 v6 e9,2 f3 e7,1 e8,1
e9,2 v7 e9,1 f2 e8,2 e7,2
e10,1 v10 e10,2 f4 e12,1 e11,1
e10,2 v9 e10,1 f2 e11,2 e12,2
e11,1 v11 e11,2 f4 e10,1 e12,1
e11,2 v10 e11,1 f2 e12,2 e10,2
e12,1 v9 e12,2 f4 e11,1 e10,1 e12,2 v11 e12,1 f2 e10,2 e11,2
Aufgabe 3.2:
a. Geben Sie zu beiden in den Bil- dern graphisch gegebenen Zer- legungen die Daten wie in der vorigen Aufgabe an.
b. Geben Sie die Daten der Zerle- gung an, welche durch Überla- gerung beider Zerlegungen ent- steht.
Aufgabe 3.3:
Welche der folgenden Aussagen gelten in jeder Zerlegung für jede Halbkante:
a. Partner(Partner(e))=e b. Next(Prev(e))=e
c. Partner(Prev(Partner(e)))=Next(e) d. Fläche(e)=Fläche(Next(e))
e. Fläche(e)6=Fläche(Partner(e))
Geben Sie für Ihre negativen Antworten Gegenbeispiele an.
Aufgabe 3.4:
Geben Sie den Schnitt der durch die Eckenfolgen P = [(0,5),(6,8),(3,2)]
Q = [(1,5),(4,8),(4,3),(3,1)]
definierten Polygone an:
a. als Schnitt von Halbebenen h
(durch Angabe der Koeffizienten(a, b, c)inh={(x, y)∈R2|ax+bx+c≤0}), b. graphisch,
c. als Folge der Ecken des Randes des PolygonsP∩Q, d. als Zerlegung des R2.
Geben Sie dabei auch die Zwischenergebnisse bei der Ausführung des in der Vorlesung vorgestellten O(n)-Algorithmus zur Lösung dieser Aufgabe an.
Aufgabe 3.5:
Bestimmen Sie den Schnitt der Menge von Halbebenen
H ={(−1,1,−5),(−1,0,0)(1,4,−45),(2,1,−27),(3,−4,−24),(0,−1,0),(1,0,−13)}
mit dem in der Vorlesung vorgestellten Algorithmus und stellen Sie das Ergebnis wie folgt dar:
a. graphisch,
b. als Folge der Ecken des Randes des PolygonsP =T
h∈Hh,
c. als Zerlegung desR2.
Geben Sie dabei auch die Zwischenergebnisse bei der Ausführung des in der Vorlesung vorgestellten Divide-and-Conquer-Algorithmus zur Lösung dieser Aufgabe an.
Jedes Tripel(a, b, c)∈H repräsentiert die Halbebene{(x, y)∈R2|ax+by+c≤0}.
Übungsaufgaben, Folien und weitere Hinweise zur Vorlesung finden Sie online unter http://www.imn.htwk-leipzig.de/~schwarz/lehre/ss14/ag