In un sistema I Ho un elenco di nodi che sono collegati come in un grafico normale. Conosciamo l'intero sistema e tutte le loro connessioni e abbiamo anche un punto di partenza. Tutti i miei bordi hanno una direzione.Disegna un grafico da un elenco di nodi connessi
Ora voglio disegnare tutti questi nodi e bordi automaticamente. Il problema non è il disegno reale, ma il calcolo delle coordinate (x, y). Quindi fondamentalmente mi piacerebbe disegnare tutto questo grafico in modo che appaia bene.
mio datastructure sarebbe qualcosa di simile:
class node:
string text
List<edge> connections
ci deve essere qualche algoritmi ben noti per questo problema? Non sono stato in grado di trovarne, ma potrei usare le parole chiave sbagliate.
I miei pensieri:
Un modo sarebbe quello di posizionare il nostro startNode (0,0), e poi avere una costante che è "distanza". Quindi per ogni vicino, aggiungerebbe la distanza alla posizione y, e per ogni nodo che è un vicino, imposta x = distanza * n.
Ma questo darà davvero molti problemi, quindi non è assolutamente la strada da percorrere.