批量移动相邻窗口的方法和系统与流程

文档序号:12362847阅读:来源:国知局

技术特征:

1.一种批量移动相邻窗口的方法,其特征在于,包括:

获取一窗口的相邻窗口集;

移动该窗口,则该窗口的相邻窗口集中的其他窗口跟随该窗口移动。

2.如权利要求1所述的方法,其特征在于,在所述获取一窗口的相邻窗口集的步骤之前还包括:初始化相邻窗口矩阵,所述初始化相邻窗口矩阵的步骤包括:

依次判断窗口rw与其他任一窗口cw的位置关系;

若相邻,则设置相对于其他任一窗口cw的窗口rw的矩阵元素matrix[rw][cw]为1;

在判断完窗口rw与其他任一窗口cw的位置关系后,标记该窗口cw为已判断;

在未判断的窗口中重复上述过程,直到设置完任意两个窗口之间的矩阵元素。

3.如权利要求2所述的方法,其特征在于,所述依次判断窗口rw与其他任一窗口cw的位置关系的步骤包括:

根据窗口rw的位置,设定一矩形,所述窗口rw位于所述矩形的中心,所述矩形的长度L=l+m+2,宽度D=d+h+2,其中,l为其他任一窗口cw的长度,d为其他任一窗口cw的宽度,m为窗口rw的长度,h为窗口rw的宽度;

判断所述其他任一窗口cw的中心是否位于所述矩形内;

若所述其他任一窗口cw的中心位于所述矩形内,则所述其他任一窗口cw与所述窗口rw相邻。

4.如权利要求2所述的方法,其特征在于,所述获取一窗口的相邻窗口集的步骤包括:

标记所述一窗口为已访问;

将与所述一窗口的矩阵元素为1的第二窗口加入到所述一窗口的相邻窗口集中;

若所述第二窗口没有标记为已访问,则将所述第二窗口标记为已访问,并查找与所述第二窗口的矩阵元素为1的第三窗口,并将所述第三窗口加入到所述一窗口的相邻窗口集中;

递归上述的过程,直到将矩阵元素为1的所有窗口都加入到所述一窗口的相邻窗口集中。

5.如权利要求1所述的方法,其特征在于,所述移动该窗口,则其他依次相邻的窗口跟随该窗口移动的步骤包括:

获得该窗口的目标移动位置的偏移量;

从所述相邻窗口集中获取一其他窗口;

获取所述一其他窗口的当前位置;

根据该窗口的目标移动位置的偏移量和所述一其他窗口的当前位置,获取所述一其他窗口的目标移动位置;

若所述一其他窗口的目标移动位置与所述一其他窗口的当前位置不同,则移动所述一其他窗口到该目标移动位置;

重复上述的过程,直到该窗口的相邻窗口集中的所有其他窗口都完成移动。

6.一种批量移动相邻窗口的系统,其特征在于,包括:

获取模块,用于获取一窗口的相邻窗口集;

移动模块,用于移动该窗口,则该窗口的相邻窗口集中的其他窗口跟随该窗口移动。

7.如权利要求6所述的系统,其特征在于,还包括:初始化相邻窗口矩阵模块,所述初始化相邻窗口矩阵模块包括:

第一判断子模块,用于在所述获取一窗口的相邻窗口集的步骤之前,依次判断窗口rw与其他任一窗口cw的位置关系;

第一设置子模块,用于若相邻,则设置相对于其他任一窗口cw的窗口rw的矩阵元素matrix[rw][cw]为1;

第一标记子模块,用于在判断完窗口rw与其他任一窗口cw的位置关系后,标记该窗口cw为已判断;

在未判断的窗口中重复调用上述子模块,直到设置完任意两个窗口之间的矩阵元素。

8.如权利要求7所述的系统,其特征在于,所述第一判断子模块包括:

矩形设定单元,用于根据窗口rw的位置,设定一矩形,所述窗口rw位于所述矩形的中心,所述矩形的长度L=l+m+2,宽度D=d+h+2,其中,l为其他任一窗口cw的长度,d为其他任一窗口cw的宽度,m为窗口rw的长度,h为窗口rw的宽度;

第一判断单元,用于判断所述其他任一窗口cw的中心是否位于所述矩形内,若所述其他任一窗口cw的中心位于所述矩形内,则所述其他任一窗口cw与所述窗口rw相邻。

9.如权利要求7所述的通,其特征在于,所述获取模块包括:

第二标记子模块,用于标记所述一窗口为已访问;

相邻窗口集加入子模块,用于将与所述一窗口的矩阵元素为1的第二窗口加入到所述一窗口的相邻窗口集中;

第三标记子模块,用于若所述第二窗口没有标记为已访问,则将所述第二窗口标记为已访问;

查找子模块,用于查找与所述第二窗口的矩阵元素为1的第三窗口;

所述相邻窗口集加入子模块,还用于将所述第三窗口加入到所述一窗口的相邻窗口集中;

递归调用上述的子模块,直到将矩阵元素为1的所有窗口都加入到所述一窗口的相邻窗口集中。

10.如权利要求6所述的系统,其特征在于,所述移动模块包括:

偏移量获取子模块,用于获取该窗口的目标移动位置的偏移量;

其它窗口获取子模块,用于从该窗口的相邻窗口集中获取一其他窗口;

当前位置获取子模块,用于获取所述一其他窗口的当前位置;

目标移动位置获取子模块,用于根据该窗口的目标移动位置的偏移量和所述一其他窗口的当前位置,获取所述一其他窗口的目标移动位置;

移动子模块,用于若所述一其他窗口的目标移动位置与所述一其他窗口的当前位置不同,则移动所述一其他窗口到该目标移动位置;

重复调用上述的模块,直到该窗口的相邻窗口集中的所有其他窗口都完成移动。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1