• 流程自己主动化布局


    在非常多的时候,都须要进行流程设计,而流程设计器最难的部分就是流程节点的摆布。一种方式是由流程设计者自己拖动摆放节点。拖到哪里到哪里,尽管自由是自由的。可是要拖一个美丽的清晰的流程图也是非常不easy的;第二种是由程序化进行排布,可是程序化排布在非常多的时候,美观性方面欠妥。

      
    总之,一句话,两者各有利弊。
    为此编写了一个流程自己主动布局算法。对流程的节点进行自己主动的位置排列。也就是流程设计过程仅仅要拖节点。划连线就可以。布局全然由程序搞定。期望由程序能计算出相对最合理的流程排列方式。
    这个说说是easy的,可是真的让程序自己主动来排列得美观慷慨,交叉线少。还真是不那么easy的。
    以下用图示的方式来展示自己主动布局的计算能力。
    为了便于看清过程,每步仅仅做一个操作。仅仅添加一个节点或者加入一个连接线。
    以下来看看自己主动化布局的过程。
    仅仅有两个节点

    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 上传



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

  • 相关阅读:
    反转链表——临时变量的妙用
    C++指针学习(2)
    统计英文文本中的词频
    灵活的C++
    编程之美 NIM(1)扩展问题
    深度探索C++对象模型读书笔记(1)
    irrlicht1.7.0(2):基础接口
    关于裁剪空间与投影变换矩阵的推导
    irrlicht1.7.0(1):irrTypes.h
    【转】每天拿两个小时来浪费(文/王路)
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5058168.html
Copyright © 2020-2023  润新知