簡體   English   中英

繪制圖形的算法

[英]Algorithm to draw a graph

我已經使用鄰接表實現了一個圖。 我擁有每個頂點所需的所有信息:深度,同級數,指向其父頂點的指針(只能有一個父頂點),有關其子級的信息等等。

我想畫圖的層次結構,最好是從左到右。 我試圖考慮一種算法,該算法將計算每個頂點的坐標(x,y)。

關於布局的總空間,我有關於總布局的高度和權重的信息,也有關於頂點的權重和高度的信息,但目前可以將它們視為點。

很容易想出一個返回X坐標的“公式”:在X軸上前進的圖/樹中,每個層次的深度都會增加。

但是我對如何計算每個頂點的Y坐標感到困惑。 我認為有人在我之前對此有所了解。 查找並發現這是一個眾所周知的問題后,找不到有用的東西。

對於大多數常見的圖形布局情況,要正確獲得X和Y坐標並非易事。

您可能想看一下一些開源工具,以了解它們的工作方式。

Graphviz具有一些不錯的布局算法http://www.graphviz.org/

Antlr是另一個http://www.antlr.org/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM