Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Constraints in Graph Drawing 1

Ähnliche Präsentationen


Präsentation zum Thema: "Constraints in Graph Drawing 1"—  Präsentation transkript:

1 Constraints in Graph Drawing 1
Jasmin Smula Kathy Ryall, Joe Marks, Stuart Shieber: Using constraints to achieve stability in automatic graph layout algorithms Karl-Friedrich Böhringer, Frances Newbery Paulisch: An interactive constraint-based system for drawing graphs

2 Inhalt Constraints Nutzung von Constraints, um stabile Graphen zu erhalten Editor zum automatischen Zeichnen von Graphen Constraints in GD 1

3 Constraints vom Benutzer formulierte oder vom Algorithmus automatisch generierte Nebenbedingungen Aufgaben: Korrektheit garantieren Aussagekraft erhöhen Constraints in GD 1

4 Problemstellung Zwei Nachteile bei Berechnung automatischer Layouts von Graphen: Ohne Eingreifen des Benutzers kann der Algorithmus nur syntaktisch korrekte Graphen erstellen Nach einer Änderung des Graphen berechnet der Algorithmus ein komplett neues Layout, ohne das alte zu berücksichtigen  Benutzer verliert schnell die Orientierung Constraints in GD 1

5 Problemstellung Constraints in GD 1

6 Problemstellung Constraints in GD 1

7 Problemstellung Ansatz: Probleme durch Einsatz von Constraints lösen
Methode, wie Benutzer-spezifizierte Constraints zu automatischen Graphen-Layout-Algorithmen hinzugefügt werden können Constraints, die durch das aktuelle Layout gegeben sind, bei der Berechnung des neuen Layouts berücksichtigen Constraints in GD 1

8 Stabilität: Definitionen
stabiler Graph: Graph, dessen Layout sich nicht stark ändert, wenn es neu berechnet wird strukturelle Stabilität: Layout erfüllt die vom Benutzer angegebenen Constraints dynamische Stabilität: Unterschied zwischen aufeinander folgenden Layouts des Graphen minimal Constraints in GD 1

9 Aufgabe Gewünscht: kleine Strukturänderung  kleine Layout-Änderungen (Orientierung bewahren) Voraussetzung: Algorithmus zur Berechnung automatischer Graphenlayouts vorhanden Mechanismus, um Algorithmus so zu ergänzen, dass er Constraints berücksichtigt Constraints in GD 1

10 Systemarchitektur Anwendung Graphenlayout-Algorithmus
3D-Constraint-Manager Constraint Manager Eindimensionale Constraints x-Koordinate y-Koordinate z-Koordinate Constraints in GD 1

11 Systemarchitektur 1. Constraints für einzelne Dimensionen
Absolute oder relative Positionierung, Clusters Formulierung von Constraints: Verwendung ihrer Positionen im 2- oder 3-dimensionalen Koordinatensystem 2. Constraint-Manager für einzelne Dimensionen Liste aller Constraints verwalten Bewertung der Menge der Constraints und diese widerspruchsfrei halten Constraints in GD 1

12 Systemarchitektur 3. 3D-Constraint-Manager Schnittstellenmodul
kombiniert die Constraints verschiedener Dimensionen Übersetzung von drei- in eindimensionale Constraints Interface zum Graphenlayout-Algorithmus 4. Graphenlayout-Algorithmus 5. Anwendung Constraints in GD 1

13 Sugiyamas Algorithmus
1. Topologische Sortierung: Knoten in Ebenen einteilen 2. Unterteilung von langen Kanten: Kanten, die mehr als eine Ebene überbrücken, werden durch mehrere kurze Kanten ersetzt 3. Barizentrische Anordnung: Kantenkreuzungen zwischen benachbarten Ebenen minimieren 4. Feineinstellung: Bestimmen der absoluten Positionen v. Knoten Constraints in GD 1

14 Sugiyamas Algorithmus
Ausgangsgraph Ebeneneinteilung Kanten kürzen Kreuzungen minimieren Feineinstellung Constraints in GD 1

15 Integrieren der Constraints für strukturelle Stabilität
Phase 1: für jede Kante: Startknoten über Zielknoten für Kanten innerhalb einer Ebene: Start- und Endknoten solcher Kanten direkte Nachbarn Phase 2: zwei Knoten auf derselben vertikalen Linie: alle Zwischenknoten dieselbe x-Koordinate Constraints in GD 1

16 Integrieren der Constraints für strukturelle Stabilität
Phase 3: aus barizentrischer Anordnung resultierende Constraints Phase 4: relative Ordnung festgelegt  x-Koordinaten der Knoten bestimmen Knotenpositionen in vorigen Ebenen berücksichtigen Constraints in GD 1

17 Integrieren der Constraints für dynamische Stabilität
nach jedem automatischen Layout: Einfügen zusätzlicher Constraints Nutzeränderung  Constraints in näherer Umgebung der Änderungen abschwächen Graph wird in veränderten Bereichen flexibel nähere Umgebung: Knoten, die von der Änderung direkt betroffen sind, und Knoten, die eine bestimmte maximale Distanz zu diesen Knoten haben Constraints in GD 1

18 Integrieren der Constraints für dynamische Stabilität
Zusätzliche Constraints: Ebene jedes Knotens = Ebene im aktuellen Layout Reihenfolge der Knoten innerhalb einer Ebene = aktuelle Reihenfolge Nach Nutzeränderung werden flexible Knoten von diesen Constraints befreit Benötigte Zeit = Zeit zur Berechnung eines komplett neuen Layouts Constraints in GD 1

19 GLIDE „Graph Layout Interactive Diagram Editor“
Benutzer: ungefähres Layout der Knoten Computer: setzt Anforderungen in eine Menge von Constraints um Constraints: Terme in einem physikalischen Modell Berechnung der Positionen der graphischen Objekte durch physikalische Simulation Constraints in GD 1

20 GLIDE-Interface die muss woanders hin Constraints in GD 1

21 Funktionsweise von GLIDE
Für jeden Constraint mehrere virtuelle Federn zwischen Knoten bzw. Kanten virtuelle Kräfte, die auf die Knoten wirken, beeinflussen deren Position im Graphen Energieminimierung durch physikalische Simulation Simulation wird animiert Constraints in GD 1

22 Hooksches Gesetz Federn folgen dem Hookschen Gesetz Hooksches Gesetz:
Kraft einer Feder ist proportional zu ihrer Auslenkung: F = D · s F = auf die Feder wirkende Kraft D = Federkonstante s = Weg, um den die Feder gedehnt wird Brauch ich eventuell nicht!! Constraints in GD 1

23 Eigenschaften von Federn
Federkonstante: korreliert die Auslenkung einer linearen Feder mit der daraus resultierenden Zug- oder Druckkraft Restlänge: Länge, ab der sich die Feder nicht mehr zusammenzieht, wenn sie gedehnt wird, bzw. nicht mehr auseinanderdrückt, wenn sie gestaucht wird Constraints in GD 1

24 Constraints Syntaktische Constraints:
garantieren Wohlgeformtheit des Graphen zusätzliche Kräfte werden von GLIDE automatisch eingefügt Semantische Constraints (VOFs): dienen der Überschaubarkeit und Aussagekraft des Graphen Constraints in GD 1

25 Constraints Syntaktische: Node-node-overlap Node-edge-overlap
Constraints in GD 1

26 Constraints Semantische: Alignment Even Spacing Sequence Cluster
Constraints in GD 1

27 Constraints Semantische: T-Shape Symmetry Zone Hub-Shape
Constraints in GD 1

28 Realisierung syntaktischer Constraints
Node-node overlap: Knoten sollen sich nicht überschneiden: Zwischen jedem Knotenpaar Feder einfügen Restlänge = minimale Distanz zwischen den Knoten Federkonstante = 0, wenn die Feder gedehnt wird Feder übt nur dann Kraft aus, wenn sich die beiden Knoten überlappen Constraints in GD 1

29 Realisierung semantischer Constraints
Alignment: Knotenmenge soll auf einer Parallelen zur x- oder y-Achse liegen es wird eine Gerade berechnet, die parallel zur gewählten Achse verläuft und durch den Schwerpunkt der Knoten führt dann wird eine Feder mit Restlänge 0 zwischen jedem Knoten und dieser Geraden angebracht. Constraints in GD 1

30 Realisierung semantischer Constraints
Sequence: Knoten sollen in einer bestimmten Reihenfolge entlang einer Achse angeordnet werden Federn mit variabler Federkonstante (!) werden zwischen benachbarten Knoten angebracht Federkonstante gleich Null, wenn Knoten in richtiger Reihenfolge, sonst positiv Constraints in GD 1

31 Sonstiges andere VOFs: Anchor:
Um einen Knoten an einer Stelle festzuhalten Frame (kein wirklicher Constraint): Menge von Knoten wird umrahmt Phantomknoten geknickte Kanten Constraints in GD 1

32 Algorithmus zur Berechnung der Position und des Impulses aller Knoten
solange kinetische Energie über Kmin: Setze t = t + Δt für alle Knoten ni berechne Fi Dämpfungskonstante γ berechnen für alle ni: pi(t) aus pi(t - Δt), Fi und γ berechnen falls ni verankert: xi(t) = xi(t - Δt), sonst xi(t) aus xi(t - Δt) und pi(t) berechnen wenn nötig, Bildschirm updaten Constraints in GD 1

33 Ergebnis Die physikalische Simulation ist intuitiv und vorhersehbar
GLIDE ist nicht dafür gedacht, global optimale Lösungen zu finden Computer ist verantwortlich für lokale Optimierung, der Benutzer für globale Kontrolle Constraints in GD 1

34 Zusammenfassung vom Benutzer eingegebene Constraints wichtig für Aussagekraft von Graphen Mechanismus zum Einbetten von Constraints in einen Algorithmus zur Berechnung von Layouts zum Erreichen von Stabilität altes Layout bei Berechnung des neuen Layouts einbeziehen GLIDE, Editor zum automatischen Zeichnen von Graphen: virtuelle Federn für Realisierung von Constraints Constraints in GD 1

35 …noch Fragen? Constraints in GD 1


Herunterladen ppt "Constraints in Graph Drawing 1"

Ähnliche Präsentationen


Google-Anzeigen