[本文介绍的有向有环图的层次布局算法是Sugiyama和Gansner的算法。]
目标 有向有环图(Directed Cycline Graph DCG)的定义就不解释了,这里首先列出DCG布局的期望效果: 显示图中的分层结构,连线均沿同一个方向。 由于是分层布局,位于同一层的顶点之间不能有弧。 对于没有环的情况,图中所有的弧的指向保持一致; 对于有环的情况,应该使尽量多的弧的方向保持一致,而部分弧的方向则与之相反。但此问题是NP完全问题。 避免图形上的不规则影响图形意思的表达。如连线的交叉和拐点。 不能出现弧穿越顶点的情况。 弧的拐点尽量少。 弧的交叉数尽量少。此为NP完全问题。 连线长度保持最短。 顶点之间保持紧凑,弧的总长度尽量短。 对称、平衡。 算法摘要 主要分5个步骤: 消除图中的环。寻找最优的等级(分层)分配。在同一个等级内,设置定点的顺序,使交叉数最小。计算顶点的坐标。绘画有拐点的弧。