Einzelnen Beitrag anzeigen

Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Denkanstoß: Wie Verbindungen besser darstellen?

  Alt 18. Aug 2014, 21:17
Hi,

mit dem Thema hatte ich auch schon mehrfach zu tun.

-> Die Verbindungen nicht Punkt-zu-Punkt zu routen, sondern mit Ecken und Knicken, sodass sie immer um die Blöcke außenherum laufen. Die Berechnung dieser Verbindungen wird dann allerdings deutlich komplexer (Wege-Finde-Algorithmus)
Sowas hab ich mal für eins meiner unvollendeten Hobbyprojekte programmiert. Es war eine A*-Implementierung mit einer Gewichtungsfunktion, die verschiedene Kriterien miteinbezog, z.B. Länge des Weges, Anzahl der Richtungswechsel, Anzahl der Kreuzungen mit anderen Verbindungen etc. Das Problem ist: Die Lösung wird mit der Anzahl von Verbindungen immer langsamer (braucht durchaus einige Sekunden bei ~20 Elementen), außerdem ist man bis in alle Ewigkeit damit beschäftigt, die Parameter des Algorithmus zu tunen, weil man immer einen neuen Sonderfall findet, wo seltsame Routen herauskommen (z.B. Linien, die andere Linien im Zick-Zack kreuzen etc.). Ab einem gewissen Punkt schafft man es nicht mehr, Probleme zu beheben ohne neue Probleme hinzuzufügen. Es ist nicht besonders befriedigend.

Also wie gesagt: ich habe keine wirkliche Frage, sondern erhoffe mir einfach Denkanstöße, wie ich die Verbindungen schöner geroutet / gezeichnet bekomme.
Eine recht einfache Möglichkeit wäre, statt direkter Verbindungen rechtwinklige Verbindungen (oder vielleicht sogar Splines) zu nehmen. Sieht meistens einfach ordentlicher aus (wenn man sich zumindest ein bisschen Mühe bei der Platzierung der Elemente gibt). So machen wir es in einem aktuellen Projekt (siehe Anhang).

Bin aber auch an weiteren Ideen interessiert.
Miniaturansicht angehängter Grafiken
graph.png  

Geändert von Namenloser (18. Aug 2014 um 21:23 Uhr)
  Mit Zitat antworten Zitat