在一個系統中我有一個連接如正常圖形的節點列表。我們知道整個系統及其所有連接,並且我們也有一個起點。我所有的邊都有一個方向。從連接節點列表中繪製圖形
現在我想自動繪製所有這些節點和邊緣。問題不是實際繪圖,而是計算(x,y)座標。所以基本上我想繪製整個圖形,看起來不錯。
我的數據結構是這樣的:
class node:
string text
List<edge> connections
必須有一些針對此問題衆所周知的算法?我一直沒有找到任何,但我可能會使用錯誤的關鍵字。
我的想法:
一種方法是我們的StartNode在(0,0)的位置,然後有一些常數,它是「距離」。然後,對於每個鄰居,它將增加到y位置的距離,並且對於作爲鄰居的每個節點,設置x =距離* n。
但是,這將真正給了很多的問題 - 所以這definetely不是要走的路。