流程自动化布局

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

150725_QGU9_1245989.jpg (6.14 KB, 下载次数: 0)

下载附件

2015-5-27 21:09 上传

 
增加为3个节点

150752_ToKh_1245989.jpg (12.64 KB, 下载次数: 0)

下载附件

2015-5-27 21:09 上传



增加为4个节点

150823_B0ca_1245989.jpg (23.67 KB, 下载次数: 0)

下载附件

2015-5-27 21:09 上传



增加为5个节点

150851_Jr9h_1245989.jpg (34.18 KB, 下载次数: 0)

下载附件

2015-5-27 21:09 上传



增加为6个节点

150913_x7FP_1245989.jpg (43.45 KB, 下载次数: 0)

下载附件

2015-5-27 21:09 上传



增加为7个节点

150941_MBrh_1245989.jpg (45.66 KB, 下载次数: 0)

下载附件

2015-5-27 21:09 上传



增加为8个节点

151003_zKqK_1245989.jpg (54.27 KB, 下载次数: 0)

下载附件

2015-5-27 21:09 上传



增加新的连线

151041_b0gM_1245989.jpg (30.67 KB, 下载次数: 0)

下载附件

2015-5-27 21:09 上传



再增加新的连线

151106_DfZK_1245989.jpg (58.66 KB, 下载次数: 0)

下载附件

2015-5-27 21:09 上传



从上面的情况来看,我们的自动布局算法,在绝大多数情况下,都可以算出最佳结果,只有在倒数第二张图中,没有算出最优解,但是也是可以接受的解。

你可能感兴趣的:(流程自动化布局)