一种基于坐标跳跃的图形排列组合的方法

文档序号:6543329阅读:212来源:国知局
一种基于坐标跳跃的图形排列组合的方法
【专利摘要】本发明公开了一种基于坐标跳跃的图形排列组合的方法,通过坐标跳跃检测对全部矩形进行判断是否满足被排列的资格,通过穿插、以及递归回溯的操作对全部矩形进行比较,对空白的区域进行预编辑排列,如果不能存放则会尝试自动编辑区域内已存放矩形的格局,从而进行自动化的对全部矩形进行最小化原则的排列组合,合理的利用有限的展示空间,避免大面积空白区域的出现。本发明采用合理的填充方式,将需要展示的图表最小化的布置在指定区域内,从而减小了冗余,使展现内容更加直观合理,使用方便。
【专利说明】一种基于坐标跳跃的图形排列组合的方法
【技术领域】
[0001]本发明涉及在指定区域内对各种规格的矩形进行排列组合的方法,通过对矩形坐标点的跳跃式对比及模拟存放,将所需要展现的不规则矩形最小化的存放在固定的区域内,从而缩小显示的空间,减小冗余,使展现更加直观合理。
【背景技术】
[0002]作为大型企业的管理系统,常用图表来显示进度、收益、以及分布等一些需求。如果只是一味的将每个图形累加,不停地以行布局来展现每个图形,数据量比较大,则有可能会超出展现区域,随着数据量的越来越大,及部分业务的调动,图形也会随着更新,此时如果继续不断的累加,就会造成图形的冗余叠加,且显示区域会特别长,界面也显得特别的凌乱复杂,严重影响了实际使用,不能满足展现的美观性和直观性要求。

【发明内容】

[0003]本发明的目的是提供一种基于坐标跳跃的图形排列组合的方法,该方法通过对矩形坐标点的跳跃式对比及模拟存放,将所需要展现的不规则矩形最小化的存放在固定的区域内,从而缩小显示的空间,减小冗余,使展现更加直观合理。
[0004]本发明的目的通过以下技术方案实现:
[0005]一种基于坐标跳跃的图形排列组合的方法,其特征在于该方法包括以下步骤:
[0006]I)准备背景画布、全部矩形属性
[0007]初始化一个固定大小的背景画布,将每个矩形的起点Y轴坐标都赋值为0,起点X轴坐标表示矩形所展现内容的开始时间,为固定值;再准备好每个要画的矩形属性,将此矩形左上角起始点的X轴坐标、Y轴坐标、矩形的宽度、矩形的高度、展示界面中鼠标停留在该矩形上显示的业务信息封装起来,然后将每个矩形以高度值大小降序排列,逐个加入到一个矩形对象的列表中;
[0008]2)尝试绘制矩形,在画布内找出满足条件的起点坐标
[0009]在步骤I)的矩形对象列表中取出一个矩形,得到其起始点的X轴坐标、Y轴坐标,再找到该矩形的上边缘线与前一个的矩形的下边缘线相交线的右起始点的Y轴坐标,由于比较相交线的时候,X轴坐标固定,所以只要求出新的起点Y轴坐标;然后判断矩形的新X、Y轴坐标,宽与高,是否超出初始画布的边界,并且判断该矩形内所有坐标点是否全部没有被占用;
[0010]如果上述条件全部满足,则将该矩形对象起始点的X、Y轴坐标值添加到该矩形对象的属性“满足点”的集合中;
[0011]如果不满足,则寻找下一个满足条件的起点坐标,X轴值固定,Y轴值加I循环,然后判断矩形的新X、Y轴坐标,宽与高,是否超出初始画布的边界,并且判断该矩形内所有坐标点是否全部没有被占用,直到在画布内找到符合条件的起点Y轴坐标;
[0012]3)坐标跳跃检测,检查全部可用的坐标点,放入坐标点的集合[0013]在背景画布内进行坐标点跳跃检测,由于矩形起始点坐标已经加入到坐标点的集合中,所以只要将其他可用的坐标点都加入此集合中,以供步骤4)的矩形逐级回溯检测使用;初始化当前矩形的Y轴坐标加上该矩形高度值作为新的Y轴坐标,然后判断以原X轴,新Y轴,矩形宽度,高度为I的小矩形是否超出初始画布的边界,并且判断该小矩形内所有坐标点是否全部没有被占用,如果满足条件,则将原Y轴坐标加I作为矩形新的Y轴起始点坐标,矩形的新Y轴结束点坐标变成原Y轴坐标加I再加上矩形的高度,然后将起始点,原X轴,原Y轴坐标加I加入到该矩形对象的属性“满足点”的集合中,如果不满足,则起始点Y轴坐标更改为原矩形的结束点的Y轴坐标,再寻找下一个满足条件的坐标点,X轴值固定,Y轴值加I循环,然后判断矩形的新χ、Y轴坐标,宽与高,是否超出初始画布的边界,并且判断该矩形内所有坐标点是否全部没有被占用,然后重复上述操作,将其他满足条件的坐标点全部添加到“满足点”的集合中;
[0014]4)逐级回溯检测绘制矩形,进行排列组合[0015]判断该矩形对象的属性“满足点”的集合中是否有值:
[0016]一、如果有,则将矩形的起始点设为矩形对象中的所有点的集合中的第一个点。然后开始绘制矩形,在画布区域中将这个矩形的范围内的所有点的都设为已绘制,并根据填充的情况来修改矩形起点到宽度之间的所有点的起点Y轴坐标。如果是填充且起点Y轴坐标只是矩形高度的情况,则起点Y轴坐标修改成矩形的Y轴坐标加上矩形的高度,否则,不填充且起点Y轴坐标是矩形的Y轴坐标加上矩形的高度时,则新的起点Y轴坐标修改成矩形的Y轴坐标;
[0017]二、如果没有,则使用逐级回溯,探测是否有目标,先将它前一个矩形的已绘制改成未绘制,然后测试前一个矩形的绘制是否放至成功:首先判断它的全部目标点的数量是否为空,如果只有一个点,即最后一个坐标点既是使用中的坐标点,将该矩形去掉,然后清除所有目标值的坐标点,然后返回,接着与再前一个矩形作比较,逐级回溯探测是否有目标;反之,在该矩形的属性“满足点”的集合中去掉此坐标点,再将下一个坐标点设置为该矩形的起点坐标,然后将这个矩形全部坐标点以填充的形式展现出来;
[0018]三、按照上述方法将剩下的矩形进行尝试绘制,重复进行步骤2),步骤3),步骤4)的操作,最后得到全部矩形排列组合后的集合;
[0019]5)界面展现
[0020]将上述排列组合得到的矩形集合,以X轴坐标、Y轴坐标、宽度、高度为基础,展现在界面中。
[0021]本发明通过坐标跳跃检测对全部矩形进行判断是否满足被排列的资格,通过穿插、以及递归回溯的操作对全部矩形进行比较,对空白的区域进行预编辑排列,如果不能存放则会尝试自动编辑区域内已存放矩形的格局,从而进行自动化的对全部矩形进行最小化原则的排列组合,合理的利用有限的展示空间,避免大面积空白区域的出现。采用合理的填充方式,将需要展示的图表最小化的布置在指定区域内,从而减小了冗余,使展现内容更加直观合理,使用方便。
【专利附图】

【附图说明】
[0022]图1是本发明的流程图。【具体实施方式】
[0023]一种基于坐标跳跃的图形排列组合的方法,该方法通过对矩形坐标点的跳跃式对比及模拟存放,将所需要展现的不规则矩形最小化的存放在固定的区域内,从而缩小显示的空间,减小冗余,使展现更加直观合理。具体步骤如下:
[0024]I)准备背景画布、全部矩形属性
[0025]初始化一个固定大小的背景画布,将每个矩形的起点Y轴坐标都赋值为O (起点X轴坐标表示矩形所展现内容的开始时间,为固定值)。再准备好每个要画的矩形属性,将此矩形左上角起始点的X轴坐标、Y轴坐标、矩形的宽度、矩形的高度、展示界面中鼠标停留在该矩形上显示的业务信息等相关属性封装起来,然后将每个矩形以高度值大小降序排列,逐个加入到一个矩形对象的列表中。
[0026]2)尝试绘制矩形,在画布内找出满足条件的起点坐标
[0027]在步骤一的矩形对象列表中取出一个矩形,得到其起始点的X轴坐标、Y轴坐标,再找到该矩形的上边缘线与前一个的矩形的下边缘线相交线的右起始点的Y轴坐标(因为比较相交线的时候,X轴坐标固定,所以只要求出新的起点Y轴坐标)。然后判断矩形的新X、Y轴坐标,宽与高,是否超出初始画布的边界,并且判断该矩形内所有坐标点是否全部没有被占用。如果上述条件全部满足,则将该矩形对象起始点的X、Y轴坐标值添加到该矩形对象的属性“满足 点”的集合中。如果不满足,则寻找下一个满足条件的起点坐标(X轴值固定,Y轴值加I循环,然后判断矩形的新X、Y轴坐标,宽与高,是否超出初始画布的边界,并且判断该矩形内所有坐标点是否全部没有被占用,直到在画布内找到符合条件的起点Y轴坐标)。
[0028]3)坐标跳跃检测,检查全部可用的坐标点,放入坐标点的集合
[0029]在背景画布内进行坐标点跳跃检测,由于矩形起始点坐标已经加入到坐标点的集合中,所以只要将其他可用的坐标点都加入此集合中,以供步骤四的矩形逐级回溯检测使用。初始化当前矩形的Y轴坐标加上该矩形高度值作为新的Y轴坐标,然后判断以原X轴,新Y轴,矩形宽度,高度为I的小矩形是否超出初始画布的边界,并且判断该小矩形内所有坐标点是否全部没有被占用,如果满足条件,则将原Y轴坐标加I作为矩形新的Y轴起始点坐标,矩形的新Y轴结束点坐标变成原Y轴坐标加I再加上矩形的高度,然后将起始点(原X轴,原Y轴坐标加I)加入到该矩形对象的属性“满足点”的集合中,如果不满足,则起始点Y轴坐标更改为原矩形的结束点的Y轴坐标,再寻找下一个满足条件的坐标点(X轴值固定,Y轴值加I循环,然后判断矩形的新χ、y轴坐标,宽与高,是否超出初始画布的边界,并且判断该矩形内所有坐标点是否全部没有被占用,然后重复上述操作,将其他满足条件的坐标点全部添加到“满足点”的集合中)。
[0030]4)逐级回溯检测绘制矩形,进行排列组合
[0031]判断该矩形对象的属性“满足点”的集合中是否有值:
[0032]一、如果有,则将矩形的起始点设为矩形对象中的所有点的集合中的第一个点。然后开始绘制矩形,在画布区域中将这个矩形的范围内的所有点的都设为已绘制,并根据填充的情况来修改矩形起点到宽度之间的所有点的起点Y轴坐标。如果是填充且起点Y轴坐标只是矩形高度的情况,则起点Y轴坐标修改成矩形的Y轴坐标加上矩形的高度,否则,不填充且起点Y轴坐标是矩形的Y轴坐标加上矩形的高度时,则新的起点Y轴坐标修改成矩形的Y轴坐标。
[0033]二、如果没有,则使用逐级回溯,探测是否有目标,先将它前一个矩形的已绘制改成未绘制,然后测试前一个矩形的绘制是否放至成功:首先判断它的全部目标点的数量是否为空,如果只有一个点,即最后一个坐标点既是使用中的坐标点,将该矩形去掉,然后清除所有目标值的坐标点,然后返回,接着与再前一个矩形作比较,逐级回溯探测是否有目标。反之,在该矩形的属性“满足点”的集合中去掉此坐标点,再将下一个坐标点设置为该矩形的起点坐标,然后将这个矩形全部坐标点以填充的形式展现出来。
[0034]三、按照上述方法将剩下的矩形进行尝试绘制,重复进行步骤二,步骤三,步骤四的操作。最后得到全部矩形排列组合后的集合。
[0035]5)界面展现
[0036]将上述排列组合得到的矩形集合,以X轴坐标、Y轴坐标、宽度、高度为基础,展现在界面中。
【权利要求】
1.一种基于坐标跳跃的图形排列组合的方法,其特征在于该方法包括以下步骤: 1)准备背景画布、全部矩形属性 初始化一个固定大小的背景画布,将每个矩形的起点Y轴坐标都赋值为O,起点X轴坐标表示矩形所展现内容的开始时间,为固定值;再准备好每个要画的矩形属性,将此矩形左上角起始点的X轴坐标、Y轴坐标、矩形的宽度、矩形的高度、展示界面中鼠标停留在该矩形上显示的业务信息封装起来,然后将每个矩形以高度值大小降序排列,逐个加入到一个矩形对象的列表中; 2)尝试绘制矩形,在画布内找出满足条件的起点坐标 在步骤I)的矩形对象列表中取出一个矩形,得到其起始点的X轴坐标、Y轴坐标,再找到该矩形的上边缘线与前一个的矩形的下边缘线相交线的右起始点的Y轴坐标,由于比较相交线的时候,X轴坐标固定,所以只要求出新的起点Y轴坐标;然后判断矩形的新X、Y轴坐标,宽与高,是否超出初始画布的边界,并且判断该矩形内所有坐标点是否全部没有被占用; 如果上述条件全部满足,则将该矩形对象起始点的X、Y轴坐标值添加到该矩形对象的属性“满足点”的集合中; 如果不满足,则寻找下一个满足条件的起点坐标,X轴值固定,Y轴值加I循环,然后判断矩形的新X、Y轴坐标,宽与高,是否超出初始画布的边界,并且判断该矩形内所有坐标点是否全部没有被占用,直到在画布内找到符合条件的起点Y轴坐标; 3)坐标跳跃检测,检查 全部可用的坐标点,放入坐标点的集合 在背景画布内进行坐标点跳跃检测,由于矩形起始点坐标已经加入到坐标点的集合中,所以只要将其他可用的坐标点都加入此集合中,以供步骤4)的矩形逐级回溯检测使用;初始化当前矩形的Y轴坐标加上该矩形高度值作为新的Y轴坐标,然后判断以原X轴,新Y轴,矩形宽度,高度为I的小矩形是否超出初始画布的边界,并且判断该小矩形内所有坐标点是否全部没有被占用,如果满足条件,则将原Y轴坐标加I作为矩形新的Y轴起始点坐标,矩形的新Y轴结束点坐标变成原Y轴坐标加I再加上矩形的高度,然后将起始点,原X轴,原Y轴坐标加I加入到该矩形对象的属性“满足点”的集合中,如果不满足,则起始点Y轴坐标更改为原矩形的结束点的Y轴坐标,再寻找下一个满足条件的坐标点,X轴值固定,Y轴值加I循环,然后判断矩形的新χ、y轴坐标,宽与高,是否超出初始画布的边界,并且判断该矩形内所有坐标点是否全部没有被占用,然后重复上述操作,将其他满足条件的坐标点全部添加到“满足点”的集合中; 4)逐级回溯检测绘制矩形,进行排列组合 判断该矩形对象的属性“满足点”的集合中是否有值: 一、如果有,则将矩形的起始点设为矩形对象中的所有点的集合中的第一个点; 然后开始绘制矩形,在画布区域中将这个矩形的范围内的所有点的都设为已绘制,并根据填充的情况来修改矩形起点到宽度之间的所有点的起点Y轴坐标; 如果是填充且起点Y轴坐标只是矩形高度的情况,则起点Y轴坐标修改成矩形的Y轴坐标加上矩形的高度,否则,不填充且起点Y轴坐标是矩形的Y轴坐标加上矩形的高度时,则新的起点Y轴坐标修改成矩形的Y轴坐标; 二、如果没有,则使用逐级回溯,探测是否有目标,先将它前一个矩形的已绘制改成未绘制,然后测试前一个矩形的绘制是否放至成功:首先判断它的全部目标点的数量是否为空,如果只有一个点,即最后一个坐标点既是使用中的坐标点,将该矩形去掉,然后清除所有目标值的坐标点,然后返回,接着与再前一个矩形作比较,逐级回溯探测是否有目标;反之,在该矩形的属性“满足点”的集合中去掉此坐标点,再将下一个坐标点设置为该矩形的起点坐标,然后将这个矩形全部坐标点以填充的形式展现出来; 三、按照上述方法将剩下的矩形进行尝试绘制,重复进行步骤2),步骤3),步骤4)的操作,最后得到全部矩形排列组合后的集合; .5)界面展现 将上述排列组合得到的矩形集合,以X轴坐标、Y轴坐标、宽度、高度为基础,展现在界面中。
【文档编号】G06T11/20GK103903290SQ201410141687
【公开日】2014年7月2日 申请日期:2014年4月10日 优先权日:2014年4月10日
【发明者】胡扬波, 陈晓东, 林勇 申请人:国家电网公司, 江苏省电力公司, 江苏电力信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1