在很多的时候,都需要进行流程设计,而流程设计器最难的部分就是流程节点的摆布。一种方式是由流程设计者自己拖动摆放节点,拖到哪里到哪里,虽然自由是自由的,但是要拖一个漂亮的清晰的流程图也是非常不容易的;另外一种是由程序化进行排布,但是程序化排布在很多的时候,美观性方面欠妥。
总之,一句话,两者各有利弊。
为此编写了一个流程自动布局算法,对流程的节点进行自动的位置排列。也就是流程设计过程只要拖节点,划连线即可,布局完全由程序搞定,期望由程序能计算出相对最合理的流程排列方式。
这个说说是容易的,但是真的让程序自动来排列得美观大方,交叉线少,还真是不那么容易的。
下面用图示的方式来展示自动布局的计算能力。
为了便于看清过程,每步只做一个操作,只增加一个节点或者添加一个连接线。
总之,一句话,两者各有利弊。
为此编写了一个流程自动布局算法,对流程的节点进行自动的位置排列。也就是流程设计过程只要拖节点,划连线即可,布局完全由程序搞定,期望由程序能计算出相对最合理的流程排列方式。
这个说说是容易的,但是真的让程序自动来排列得美观大方,交叉线少,还真是不那么容易的。
下面用图示的方式来展示自动布局的计算能力。
为了便于看清过程,每步只做一个操作,只增加一个节点或者添加一个连接线。
下面来看看自动化布局的过程。
只有两个节点
增加为3个节点
增加为4个节点
增加为5个节点
增加为6个节点
增加为7个节点
增加为8个节点
增加新的连线
再增加新的连线
从上面的情况来看,我们的自动布局算法,在绝大多数情况下,都可以算出最佳结果,只有在倒数第二张图中,没有算出最优解,但是也是可以接受的解。