Haftungsausschluss Datenschutz Impressum

GraphRelaxing

Wie der Name schon sagt, handelt es sich bei dieser Anwendung um ein Werkzeug zum Erstellen von Layouts für Graphen. Für einen ungerichteten Graphen kann so ein möglichst optimales Layout gefunden werden. Dieser Algorithmus basiert dabei auf der theoretischen Grundlade von Ron Davidson und David Harel aus ihrem Artikel "Drawing Graphs Nicely Using Simulated Annealing". Folglich verwendet auch GraphRelaxing eine angepasste Variante von Simulated Annealing für die numerische Optimierung.

GraphRelaxing ist eine CLR-Bibliothek, die für die Verwendung mit Silverlight 3 entwickelt wurde. Grundsätzlich kann sie aber auch außerhalb von Silverlight genutzt werden. Die DLL bietet eine einfache Möglichkeit, eine Menge von verschiebbaren Knoten in einem zweidimensionalen Raum anhand verschiedener Kriterien anzuordnen. Dabei ist der Prozess vollständig parametrisierbar und läuft in einem separaten Thread ab. Um die Funktion der GraphRelaxing Bibliothek zu demonstrieren, wurde ein Silverlight Beispiel erstellt. Im Beispiel wird eine zufällige Anordnung der Knoten in eine attraktivere Anordnung verschoben.

Zufälliger Graph Relaxter Graph

Die Demoanwendung kann über den Link in der Sidebar gestartet werden. Bitte beachten Sie, dass die Verwendung der Bibliothek in Silverlight die tatsächliche Geschwindigkeit des Algorithmus nicht demonstriert.

Wenn Sie sich für die Bibliothek interessieren, dann treten Sie bitte mit neoKC in Kontakt. Zusammen mit der Bibliothek kann der Quellcode inklusive 244 Unit-Tests erworben werden, sodass Sie beliebig Ergänzungen implementieren können.


Manuel Naujoks (neoKC/TNP)