流程自动化布局
2015-06-09 16:15
232 查看
在很多的时候,都需要进行流程设计,而流程设计器最难的部分就是流程节点的摆布。一种方式是由流程设计者自己拖动摆放节点,拖到哪里到哪里,虽然自由是自由的,但是要拖一个漂亮的清晰的流程图也是非常不容易的;另外一种是由程序化进行排布,但是程序化排布在很多的时候,美观性方面欠妥。
总之,一句话,两者各有利弊。
为此编写了一个流程自动布局算法,对流程的节点进行自动的位置排列。也就是流程设计过程只要拖节点,划连线即可,布局完全由程序搞定,期望由程序能计算出相对最合理的流程排列方式。
这个说说是容易的,但是真的让程序自动来排列得美观大方,交叉线少,还真是不那么容易的。
下面用图示的方式来展示自动布局的计算能力。
为了便于看清过程,每步只做一个操作,只增加一个节点或者添加一个连接线。
下面来看看自动化布局的过程。
只有两个节点
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 上传
从上面的情况来看,我们的自动布局算法,在绝大多数情况下,都可以算出最佳结果,只有在倒数第二张图中,没有算出最优解,但是也是可以接受的解。
总之,一句话,两者各有利弊。
为此编写了一个流程自动布局算法,对流程的节点进行自动的位置排列。也就是流程设计过程只要拖节点,划连线即可,布局完全由程序搞定,期望由程序能计算出相对最合理的流程排列方式。
这个说说是容易的,但是真的让程序自动来排列得美观大方,交叉线少,还真是不那么容易的。
下面用图示的方式来展示自动布局的计算能力。
为了便于看清过程,每步只做一个操作,只增加一个节点或者添加一个连接线。
下面来看看自动化布局的过程。
只有两个节点
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 上传
从上面的情况来看,我们的自动布局算法,在绝大多数情况下,都可以算出最佳结果,只有在倒数第二张图中,没有算出最优解,但是也是可以接受的解。
相关文章推荐
- 隐马尔科夫学习六(五)
- java内存
- java Double保留小数点位数
- UITableView优化技巧整理
- 打印1到最大的n位数
- 相对路径、绝对路径、部署路径(html/css/servlet/jsp)
- 线程组
- Word文档生成
- Linux命令工具 top详解
- Mysql编码问题
- java 工具栏
- 《SICP》中的一些练习题
- [转]数位dp小记
- serialVersionUID行动
- 我所了解的javaScript细节
- C语言 链表反向打印与反转
- PHP中超全局变量$GLOBALS和global的区别
- 在Activity中使用Fragment需要先集成FragmentActivity
- java Thread state 分析
- Android的PopupWindow使用android学习之旅(四十三)