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.
Wenn Sie sich für die Bibliothek interessieren, dann nehmen Sie bitte Kontakt auf. Zusammen mit der Bibliothek kann der Quellcode inklusive 244 Unit-Tests erworben werden, sodass Sie beliebig Ergänzungen implementieren können.