W systemie Mam listę węzłów, które są połączone jak na normalnym wykresie. Znamy cały system i wszystkie ich połączenia, a także mamy punkt wyjścia. Wszystkie moje krawędzie mają kierunek.Narysuj wykres z listy połączonych węzłów.
Teraz chcę automatycznie narysować wszystkie te węzły i krawędzie. Problem nie polega na rzeczywistym rysunku, ale na obliczeniu współrzędnych (x, y). Więc zasadniczo chciałbym narysować cały wykres, żeby wyglądał dobrze.
Moja datastructure byłoby coś takiego:
class node:
string text
List<edge> connections
musi istnieć dobrze znanych algorytmów dla tego problemu? Nie udało mi się znaleźć żadnego, ale mógłbym użyć niewłaściwych słów kluczowych.
Myślami:
Jednym ze sposobów byłoby pozycjonować naszą startNode na (0,0), a następnie mieć jakiś stały, który jest „odległość”. Następnie dla każdego sąsiada doda odległość do pozycji y, a dla każdego węzła będącego sąsiadem ustaw x = odległość * n.
Ale to naprawdę przyniesie wiele problemów - więc to zdecydowanie nie jest droga.