[发明专利]图形化编程软件的连线自动避障优化方法有效
申请号: | 201710268387.2 | 申请日: | 2017-04-22 |
公开(公告)号: | CN107168697B | 公开(公告)日: | 2020-11-24 |
发明(设计)人: | 黄翰;吴泓月;郝志峰;杨晓伟 | 申请(专利权)人: | 华南理工大学 |
主分类号: | G06F9/451 | 分类号: | G06F9/451 |
代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 何淑珍 |
地址: | 510640 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 图形 编程 软件 连线 自动 优化 方法 | ||
1.图形化编程软件的连线自动避障优化方法,其特征在于,包括以下步骤:
(a)用户通过前端界面选择连线起点与终点,起点、终点及编程控件的顶点组成点集P,P中的横坐标值组成集合Px,纵坐标值组成集合Py;
(b)对画布进行缩图操作:将连续的一段不属于Px的横坐标值视为等价的横坐标,同理,将连续的一段不属于Py的纵坐标值视为等价的纵坐标;在缩图后的画布中,等价的坐标值被视为同一个坐标,极大地缩小搜索空间;此操作建立了原画布与缩图后画布中坐标值的映射关系;
(c)对经过缩图后的画布沿着坐标四个方向进行搜索,并记录每一个点的搜索来源,以备还原路径;
(d)根据搜索来源还原搜索路径,得到搜索结果,即连线;
(e)将步骤(d)中得到的搜索结果映射到原画布中;
(f)将步骤(e)中得到的连线进行调整:对每一个线段进行沿着其垂直方向进行平移调整,以调整到线段与编程控件间的距离。
2.根据权利要求1所述图形化编程软件的连线自动避障优化方法,其特征在于,步骤(b)包括以下步骤:
(b-1)分析所有编程控件以及起点、终点,提取出所有的横坐标值X,和所有的纵坐标值Y;
(b-2)分别按大小对X和Y进行排序,得到从小到大排序的X和Y;
(b-3)对于每一个X、Y,都对应一个X’、Y’,X’、Y’分别表示X、Y在缩图后的画布中对应的坐标值,并做好X、Y与X’、Y’的映射关系;
(b-4)如果在X中,Xi+1-Xi>1,那么需要在Xi+1与Xi之间插入一个Xi+1,Y同样需要这样处理;
(b-5)对于每一个X(Y),都对应一个X’(Y’),并做好映射关系。
3.根据权利要求1所述图形化编程软件的连线自动避障优化方法,其特征在于,步骤(c)包括以下步骤:
(c-1)初始化一个空队列Q;
(c-2)将起点放入Q中,并标记为已访问的点;
(c-3)每次将Q中队头元素p出队,沿着这个元素p的x正方向、x负方向、y正方向、y负方向进行搜索;将搜索到的点从队尾插入队列,每次搜索到一个点p’,都需要将p’标记为已访问的点,并将p’的搜索来源记录为p;每个方向的搜索一旦遇到障碍物或者已访问的点将停止这个方向的搜索。
4.根据权利要求3所述图形化编程软件的连线自动避障优化方法,其特征在于步骤(d)中:通过步骤(c)的搜索过程,最终将会搜索到连线终点,此时搜索结束;根据每个点的搜索来源构造出连线路径,这条连线路径就是缩图后的最佳路径。
5.根据权利要求1所述图形化编程软件的连线自动避障优化方法,其特征在于步骤(e)中,根据步骤(b)中得到的映射关系,将步骤(d)得到的搜索结果还原到原画布中。
6.根据权利要求1所述图形化编程软件的连线自动避障优化方法,其特征在于步骤(f)包括以下步骤:
循环操作不包含起点终点的每一条线段,具体进行以下操作:寻找线段两侧最靠近这条线段的编程控件,将线段平移至两个编程控件的中间位置。
7.根据权利要求6所述图形化编程软件的连线自动避障优化方法,其特征在于,步骤(f)中所述对每一条线段进行以下操作具体是:利用二分的方法寻找线段两侧最靠近这条线段的编程控件,预处理先将所有矩形的边分为两组,一组平行于x坐标轴,记为组一;另一组平行于y坐标轴,记为组二;分别对两组边进行排序,组一按照边的y坐标值从小到大排序,组二按照边的x坐标值从小到大排序;对于一条线段,这条线段需要寻找两侧最靠近这条线段的编程控件,则转化为寻找两侧最靠近这条线段的编程控件的边,进而能用二分的方法在已排好序的边中快速寻找。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华南理工大学,未经华南理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710268387.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:图形化编程控件布局的自动优化方法
- 下一篇:图形化编程的自动编译方法