Upload
elisabeth-weisse
View
105
Download
0
Tags:
Embed Size (px)
Citation preview
Constraints inGraph 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
Constraints in GD 1 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:
1. Ohne Eingreifen des Benutzers kann der Algorithmus nur syntaktisch korrekte Graphen erstellen
2. 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
Constraint Manager
Constraint Manager
Eindimensionale Constraints
Eindimensionale Constraints
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
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
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?