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