42
Zeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität in Hagen Programmierpraktikum Zeichnen von Graphen 08.10.2016 1 / 28

Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Embed Size (px)

Citation preview

Page 1: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Zeichnen von Graphen

Fabio Valdés

ProgrammierpraktikumWS 2016/17

Lehrgebiet Datenbanksysteme für neue Anwendungen

FernUniversität in Hagen

Programmierpraktikum Zeichnen von Graphen 08.10.2016 1 / 28

Page 2: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Gliederung

1 Einleitung

ProblemstellungZiele

2 Einlesen des Graphen

DateiformatKorrektheitsprüfung

3 Zeichnen

Graphentheoretische DefinitionenInitialisierungPlanarisierungOrthogonalisierungKompaktifizierung

4 Anzeige und Manipulation

5 Export

6 Optionale Erweiterungen

Programmierpraktikum Zeichnen von Graphen 08.10.2016 2 / 28

Page 3: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Einleitung Problemstellung

Problemstellung

Mathematik: Graph durch Knotenmenge, Kantenmenge und ggf.Kantengewichte eindeutig definiert

graphische Darstellung: nicht eindeutig

5

4 3

1 2

1

2

3

4

5

1 2

3

4 5

Programmierpraktikum Zeichnen von Graphen 08.10.2016 3 / 28

Page 4: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Einleitung Ziele

Ziele in dieser Aufgabe

Einlesen eines Graphen aus einer Textdatei

Prüfung von Syntax und Semantik

Erzeugung einer platzsparenden Gitterdarstellung in vier Schritten

InitialisierungPlanarisierungOrthogonalisierungKompaktifizierung

weitere Anpassung durch Benutzer

Export als SVG-Datei

Programmierpraktikum Zeichnen von Graphen 08.10.2016 4 / 28

Page 5: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Einlesen des Graphen Dateiformat

Gerichtete Graphen

V = {1, 2, 3, 4, 5}

E = {1-2, 2-3, 3-4, 4-1, 4--5, 3--5}

5

4 3

1 2

1

2

3

4

5

1 2

3

4 5

Programmierpraktikum Zeichnen von Graphen 08.10.2016 5 / 28

Page 6: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Einlesen des Graphen Dateiformat

Ungerichtete Graphen

V = {1, 2, 3, 4, 5}

E = {1-2, 2-3, 3-4, 4-1, 4--5, 3--5}u

5

4 3

1 2

1

2

3

4

5

1 2

3

4 5

Programmierpraktikum Zeichnen von Graphen 08.10.2016 6 / 28

Page 7: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Einlesen des Graphen Dateiformat

Kantenbeschriftungen & Knotenkategorien

V = {Z:Zentrale, F:Filiale, K1:Kunde, K2:Kunde}

E = {Z-F:25, Z-K1:30, Z-K2:35, F-K1:10, F-K2:17, K1-K2:8.5}u

Z F

K1 K2

25

30 3510

17

8.5

Programmierpraktikum Zeichnen von Graphen 08.10.2016 7 / 28

Page 8: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Einlesen des Graphen Dateiformat

Beispiel: ER-Diagramm

Programmierpraktikum Zeichnen von Graphen 08.10.2016 8 / 28

Page 9: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Einlesen des Graphen Korrektheitsprüfung

Eingabefehler

V = {Ü, $, ξ}

V = {A, B, C, A}

V = {X, Y, Z}

E = {X-Y, Y-A}

V = {1, 2, 2}

E = {1-2, 1-2}

Programmierpraktikum Zeichnen von Graphen 08.10.2016 9 / 28

Page 10: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Zeichnen Graphentheoretische Definitionen

Teilgraph

Ein Graph G ′ = (V ′,E ′) heißt Teilgraph von G = (V ,E ), falls V ′ ⊆ V undE ′ ⊆ E ′ gelten.

1 2

3

4 5

1 2

3

4 5

G = ({1, 2, 3, 4, 5}, G ′ = ({3, 4, 5},

{(1, 2), (1, 4), (2, 3), {(3, 4), (3, 5), (4, 5)})

(3, 4), (3, 5), (4, 5)})

Programmierpraktikum Zeichnen von Graphen 08.10.2016 10 / 28

Page 11: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Zeichnen Graphentheoretische Definitionen

Grad

Der Grad grad(v) eines Knoten v ∈ V entspricht der Summe der Anzahlenseiner ein- und ausgehenden Kanten, d.h.,grad(v) = |{(u, v) ∈ E}|+ |{(v ,w) ∈ E}|.

1 2

3

4 5

grad(1) = 2grad(2) = 2grad(3) = 4grad(4) = 4grad(5) = 4

Programmierpraktikum Zeichnen von Graphen 08.10.2016 11 / 28

Page 12: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Zeichnen Graphentheoretische Definitionen

Planarität

Ein Graph G heißt planar, falls er eine Einbettung in die Ebene besitzt, d.h.,dass seine Kanten durch stetige, schnittpunktfreie Kurven dargestellt werdenkönnen, die sich nur in ihren gemeinsamen Endpunkten schneiden.

1 2

3 4

1

2

3 4

planarer Graph G Einbettung von G

Programmierpraktikum Zeichnen von Graphen 08.10.2016 12 / 28

Page 13: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Zeichnen Graphentheoretische Definitionen

Planarität

Ein Graph G heißt planar, falls er eine Einbettung in die Ebene besitzt, d.h.,dass seine Kanten durch stetige, schnittpunktfreie Kurven dargestellt werdenkönnen, die sich nur in ihren gemeinsamen Endpunkten schneiden.

1 2

3

4 5

nicht-planarer GraphProgrammierpraktikum Zeichnen von Graphen 08.10.2016 12 / 28

Page 14: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Zeichnen Graphentheoretische Definitionen

Weg & Kreis

Ein Weg von v1 nach vk in G = (V ,E ) ist eine Folge (v1, v2), . . . , (vk−1, vk)von Kanten, für v1, . . . , vk ∈ V , (v1, v2), . . . , (vk−1, vk) ∈ E .Ein Kreis in G ist ein Weg mit v1 = vk .Gibt es für alle u, v ∈ V höchstens einen Weg von u nach v , heißt G kreisfrei.

1 2

3

4 5

Weg von 1 nach 5: (1, 2), (2, 3), (3, 5)

Kreis von 1 nach 1: (1, 2), (2, 3), (3, 4), (4, 1)

Programmierpraktikum Zeichnen von Graphen 08.10.2016 13 / 28

Page 15: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Zeichnen Graphentheoretische Definitionen

Weg & Kreis

Ein Weg von v1 nach vk in G = (V ,E ) ist eine Folge (v1, v2), . . . , (vk−1, vk)von Kanten, für v1, . . . , vk ∈ V , (v1, v2), . . . , (vk−1, vk) ∈ E .Ein Kreis in G ist ein Weg mit v1 = vk .Gibt es für alle u, v ∈ V höchstens einen Weg von u nach v , heißt G kreisfrei.

1 2

3

4 5

kreisfreier Graph

Programmierpraktikum Zeichnen von Graphen 08.10.2016 13 / 28

Page 16: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Zeichnen Graphentheoretische Definitionen

Zusammenhang & Komponente

Ein ungerichteter Graph G = (V ,E ) heißt zusammenhängend, falls es zujedem Paar v ,w ∈ V einen Weg von v nach w gibt.Ein maximaler zusammenhängender Teilgraph K von G heißt Komponente.

1 2

3

4 5

1 2

3

4 5

zusammenhängender Graph zwei Komponenten eines nicht-zusammenhängenden Graphen

Programmierpraktikum Zeichnen von Graphen 08.10.2016 14 / 28

Page 17: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Zeichnen Graphentheoretische Definitionen

k-Zusammenhang

Ein ungerichteter Graph G = (V ,E ) heißt k-zusammenhängend, falls derGraph (V \ V ′,E \ {(v ,w) | v ∈ V ′ ∨ w ∈ V ′}) für alle Mengen V ′ ⊂ V

mit weniger als k Knoten zusammenhängend ist.

5

4 3

1 2

5

4 3

2

2-zusammenhängend zusammenhängend, aber i.A.nicht 2-zusammenhängend

Programmierpraktikum Zeichnen von Graphen 08.10.2016 15 / 28

Page 18: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Zeichnen Graphentheoretische Definitionen

k-Zusammenhang

Ein ungerichteter Graph G = (V ,E ) heißt k-zusammenhängend, falls derGraph (V \ V ′,E \ {(v ,w) | v ∈ V ′ ∨ w ∈ V ′}) für alle Mengen V ′ ⊂ V

mit weniger als k Knoten zusammenhängend ist.

5

4 3

1 2

5

4 3

1

2-zusammenhängend zusammenhängend, aber i.A.nicht 2-zusammenhängend

Programmierpraktikum Zeichnen von Graphen 08.10.2016 15 / 28

Page 19: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Zeichnen Graphentheoretische Definitionen

k-Zusammenhang

Ein ungerichteter Graph G = (V ,E ) heißt k-zusammenhängend, falls derGraph (V \ V ′,E \ {(v ,w) | v ∈ V ′ ∨ w ∈ V ′}) für alle Mengen V ′ ⊂ V

mit weniger als k Knoten zusammenhängend ist.

5

4 3

1 2

5

4

1 2

2-zusammenhängend zusammenhängend, aber i.A.nicht 2-zusammenhängend

Programmierpraktikum Zeichnen von Graphen 08.10.2016 15 / 28

Page 20: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Zeichnen Graphentheoretische Definitionen

k-Zusammenhang

Ein ungerichteter Graph G = (V ,E ) heißt k-zusammenhängend, falls derGraph (V \ V ′,E \ {(v ,w) | v ∈ V ′ ∨ w ∈ V ′}) für alle Mengen V ′ ⊂ V

mit weniger als k Knoten zusammenhängend ist.

5

4 3

1 2

5

3

1 2

2-zusammenhängend zusammenhängend, aber i.A.nicht 2-zusammenhängend

Programmierpraktikum Zeichnen von Graphen 08.10.2016 15 / 28

Page 21: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Zeichnen Graphentheoretische Definitionen

k-Zusammenhang

Ein ungerichteter Graph G = (V ,E ) heißt k-zusammenhängend, falls derGraph (V \ V ′,E \ {(v ,w) | v ∈ V ′ ∨ w ∈ V ′}) für alle Mengen V ′ ⊂ V

mit weniger als k Knoten zusammenhängend ist.

5

4 3

1 2

4 3

1 2

2-zusammenhängend zusammenhängend, aber i.A.nicht 2-zusammenhängend

Programmierpraktikum Zeichnen von Graphen 08.10.2016 15 / 28

Page 22: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Zeichnen Graphentheoretische Definitionen

Dualer Graph

Zu einem planaren Graphen G ist der duale Graph G ∗ wie folgt definiert:

Fläche in G ←→ Knoten in G ∗

Kante in G ←→ Kante in G ∗

1 2

1

3 3

2

4 5

Programmierpraktikum Zeichnen von Graphen 08.10.2016 16 / 28

Page 23: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Zeichnen Graphentheoretische Definitionen

Dualer Graph

Zu einem planaren Graphen G ist der duale Graph G ∗ wie folgt definiert:

Fläche in G ←→ Knoten in G ∗

Kante in G ←→ Kante in G ∗

Programmierpraktikum Zeichnen von Graphen 08.10.2016 16 / 28

Page 24: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Zeichnen Initialisierung

Initialisierung

Theorie: initiale Positionen irrelevant

quadratische Grundstruktur

von links oben nach rechts unten

zuerst angegebene Knoten weiter links bzw. weiter oben

Programmierpraktikum Zeichnen von Graphen 08.10.2016 17 / 28

Page 25: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Zeichnen Planarisierung

Planarisierung

(a)

ursprünglicher Graph G = (V ,E )

Programmierpraktikum Zeichnen von Graphen 08.10.2016 18 / 28

Page 26: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Zeichnen Planarisierung

Planarisierung

(b)

Aufteilung der Kanten in planareund nichtplanare (gestrichelt)

Programmierpraktikum Zeichnen von Graphen 08.10.2016 18 / 28

Page 27: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Zeichnen Planarisierung

Planarisierung

(c)

nur noch planare Kanten; dualerGraph (grau)

Programmierpraktikum Zeichnen von Graphen 08.10.2016 18 / 28

Page 28: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Zeichnen Planarisierung

Planarisierung

(d)

Hinzufügen der restlichen Kanten;kürzester Weg im dualen Graphenfür nichtplanare Kante entsprichtminimaler Anzahl vonKantenkreuzungen

Programmierpraktikum Zeichnen von Graphen 08.10.2016 18 / 28

Page 29: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Zeichnen Planarisierung

Planarisierung

(e)

neue Kante, neuer Knoten fürKantenkreuzung; Aktualisierungdes dualen Graphen

Programmierpraktikum Zeichnen von Graphen 08.10.2016 18 / 28

Page 30: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Zeichnen Planarisierung

Planarisierung

(f)

vollständig planarisierter Graph

Programmierpraktikum Zeichnen von Graphen 08.10.2016 18 / 28

Page 31: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Zeichnen Orthogonalisierung

Übersicht

für jede Komponente des Graphen:

Sichtbarkeitsdarstellung

orthogonale Darstellung durch lokale Expansion

Begradigung der Kanten

Programmierpraktikum Zeichnen von Graphen 08.10.2016 19 / 28

Page 32: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Zeichnen Orthogonalisierung

Sichtbarkeitsdarstellung

Knoten → horizontale Segmente

Kanten → vertikale Segmente

keine Schnitte von Segmenten

Programmierpraktikum Zeichnen von Graphen 08.10.2016 20 / 28

Page 33: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Zeichnen Orthogonalisierung

Sichtbarkeitsdarstellung

Knoten → horizontale Segmente

Kanten → vertikale Segmente

keine Schnitte von Segmenten

Programmierpraktikum Zeichnen von Graphen 08.10.2016 20 / 28

Page 34: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Zeichnen Orthogonalisierung

Lokale Expansion

Programmierpraktikum Zeichnen von Graphen 08.10.2016 21 / 28

Page 35: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Zeichnen Orthogonalisierung

Lokale Expansion

Programmierpraktikum Zeichnen von Graphen 08.10.2016 21 / 28

Page 36: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Zeichnen Orthogonalisierung

Begradigung der Kanten

Programmierpraktikum Zeichnen von Graphen 08.10.2016 22 / 28

Page 37: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Zeichnen Kompaktifizierung

Kompaktifizierung

Programmierpraktikum Zeichnen von Graphen 08.10.2016 23 / 28

Page 38: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Anzeige und Manipulation

Anzeige und Manipulation

Graph im Hauptfenster

Zoomen (Vergrößern und Verkleinern)

Scrollen (Balken einblenden, wenn nötig)

Markieren und Verschieben von Knoten und Kanten

mögliche Darstellungen für Knotenkategorien:

KreisRechteckRauteEllipsejeweils einfach oder doppelt, oder ohne Umrandung

Programmierpraktikum Zeichnen von Graphen 08.10.2016 24 / 28

Page 39: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Export

Export

Abspeichern des Graphen als SVG-Datei (Scalable Vector Graphics)

Textdatei

LinienKreiseText

Programmierpraktikum Zeichnen von Graphen 08.10.2016 25 / 28

Page 40: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Optionale Erweiterungen

Optionale Erweiterungen

Algorithmen

komplexere Algorithmen zur Planarisierung und Kompaktifizierungweitere Algorithmen zur Zeichnung von GraphenAuswahl der Verfahrens durch Benutzer

Anzeige

Ergebnisse der einzelnen TransformationsschritteAuswahl von Farben, Schrifttypen, -größen, -farben fürKnotenkategorien und Kanten(beschriftungen)

Druckfunktion

Ausgabe auf PapierPDF-Ausgabe

Export

EPS-Format

Programmierpraktikum Zeichnen von Graphen 08.10.2016 26 / 28

Page 41: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Optionale Erweiterungen

Danke für Ihre Aufmerksamkeit.

Programmierpraktikum Zeichnen von Graphen 08.10.2016 27 / 28

Page 42: Zeichnen von Graphen - fernuni-hagen.de · PDF fileZeichnen von Graphen Fabio Valdés Programmierpraktikum WS 2016/17 Lehrgebiet Datenbanksysteme für neue Anwendungen FernUniversität

Optionale Erweiterungen

Quellenangabe

http://www.leda-tutorial.org/de/inoffiziell/ch05s03s07.html

http://www.rhinodidactics.de/Artikel/latex-2006-09-01.html

Di Battista, G., Eades, P., Tamassia, R. und Tollis, I.G.Graph Drawing: Algorithms for the Visualization of Graphs.Prentice-Hall, 1999

Tamassia, R. und Tollis, I.G. Planar grid embedding in linear time.IEEE Transactions on Circuits and Systems, 36(9):1230-1234, 1989

Programmierpraktikum Zeichnen von Graphen 08.10.2016 28 / 28