一种多圆形区域总覆盖面积的获取方法

文档序号:7795689阅读:574来源:国知局
一种多圆形区域总覆盖面积的获取方法
【专利摘要】本发明提供一种多圆形区域总覆盖面积的获取方法,包括:步骤1.设置待检测区域,所述待监测区域不小于所述多圆形区域的总覆盖区域;步骤2.将所述待检测区域划分为多个子区域;步骤3.判断每一子区域是否都完全被一个圆形区域所覆盖或是与任一圆形都不相交,如果是则步骤结束;如果否则将完全被一个圆形区域所覆盖或是与任一圆形都不相交的区域作为已定区域,并跳转到步骤4;步骤4.将每一非已定区域的未定区域分别继续划分为多个子区域,并返回步骤3。本发明实施例基于分治的思想,只对未定区域继续划分,这样相比较现有算法能够在不降低计算精度的前提下降低计算复杂度。
【专利说明】一种多圆形区域总覆盖面积的获取方法
【技术领域】
[0001]本发明涉及传感器网络、无线通讯基站等设备的圆形波覆盖范围【技术领域】,特别是指一种多圆形区域总覆盖面积的获取方法。
【背景技术】
[0002]传感器网络(或简称为无线传感器网络)、无线通讯基站等很多设备的覆盖范围在二维平面为圆形,在三维平面为球形。现有技术中的系统都包括多个设备以协同工作实现无缝覆盖,因此就必须计算系统的多圆形区域总覆盖面积。计算总覆盖范围对于现有的这些系统至关重要,可以通过计算总覆盖范围获知系统的未覆盖区域或进行其他应用。
[0003]以传感器网络为例,现有的传感器网络包括大量的传感器节点,这些传感器节点部署在待监测区域内,而整个网络的总覆盖面积就是这些圆形区域的并集。同时,无线通讯基站、以及化学、材料学、光学中,分子、微尘等大量的小型单元的工作模式都如此,在此不再赘述。
[0004]现有技术中计算这些多圆形区域的并集的方法有如下的几类:
[0005](I)网格法:将待监测区域划分为很多小面积格子,然后统计被圆形完全覆盖的格子的数量,且通常将部分覆盖的格子按照0.5个计算。然后将所有鸽子的总数乘以每个格子的面积就可以近似的计算出总覆盖面积。这种算法的精确度可控,但是精确度完全依赖于格子的面积,减小格子面积可以提高精度但是造成计算复杂度成指数性质的增加。
[0006](2)蒙特卡洛方法:即随机地在区域中选择一个点,检测该点是否在某个圆形的覆盖下。大量的随机实验后,被圆形覆盖的点的书面和总的实验次数之比就接近圆形总覆盖面积和区域总面积之比。蒙特卡洛方法的问题是难以获得更高的精度,随着实验次数的增力口,精度仅以实验次数的平方根的比例增加。
[0007](3)近似多边形的计算几何方法:
[0008]多边形的交、并、差的计算是计算几何中的成熟算法。将每一个圆形近似为多边形,则可以利用计算几何进行求解。随着边数的增加,正多边形经越来越接近圆形。对于肉眼而言,正32边形和圆形已经非常接近。将圆形近似为正多边形的边数越多,计算精度越高,但是计算量也越大。假设有N个圆形,每个圆形近似为正M多边形,那么总计算量在O(N2Ma)量级。因此在圆形数量较少的时候比较有效。
[0009]由于现有的系统大多包括多个设备,因此如果想要在确保精度的前提下计算多个圆形的总覆盖区域,上述的这几个算法的性能都比较差。

【发明内容】

[0010]本发明要解决的技术问题是提供一种既能够确保算法精度又能够多圆形区域总覆盖面积的获取方法。
[0011]为了解决上述问题,本发明实施例提出了一种多圆形区域总覆盖面积的获取方法,包括:[0012]步骤1、设置能够覆盖每一圆形区域的待监测区域;
[0013]步骤2、将所述待检测区域划分为多个子区域;
[0014]步骤3、判断每一子区域是否都完全被一个圆形区域所覆盖或是与任一圆形都不相交,如果是则步骤结束;如果否则将完全被一个圆形区域所覆盖或是与任一圆形都不相交的区域作为已定区域,并跳转到步骤4 ;
[0015]步骤4、将每一非已定区域的未定区域分别继续划分为多个子区域,并返回步骤3。
[0016]作为上述技术方案的优选,所述步骤3和步骤4之间还包括:判断所述每一子区域的面积是否都大于预设阈值,如果否将则步骤结束。
[0017]作为上述技术方案的优选,所述步骤4之后还包括:
[0018]步骤5、输出总覆盖面积,所述总覆盖面积包括每一完全被一个圆形区域所覆盖的已定区域的面积总和,以及每一未定区域的面积乘以0.5。
[0019]作为上述技术方案的优选,所述待监测区域为正方形。
[0020]作为上述技术方案的优选,所述步骤2具体为:将所述正方形的待检测区域划分为多个正方形的子区域。
[0021]作为上述技术方案的优选,所述步骤2具体为:将所述正方形的待检测区域四等分为四个正方形的子区域。
[0022]作为上述技术方案的优选,所述步骤3具体为:
[0023]步骤31、判断所述正方形子区域的四个顶点是否都在一个圆形区域内,如果是则所述子区域完全被一个圆形区域所覆盖;
[0024]步骤32、判断所述正方形子区域的四条边上的每一个点是否都不在一个圆形区域内,如果是则所述子区域与任一圆形都不相交;
[0025]步骤33、判断每一子区域是否都完全被一个圆形区域所覆盖或是与任一圆形都不相交,如果是则步骤结束;如果否则将完全被一个圆形区域所覆盖或是与任一圆形都不相交的区域作为已定区域,并跳转到步骤4。
[0026]本发明的上述技术方案的有益效果如下:
[0027]本发明实施例提供了一种多圆形区域总覆盖面积的获取方法,基于分治的思想,只对未定区域继续划分,这样相比较现有算法能够在不降低计算精度的前提下降低计算复杂度。
【专利附图】

【附图说明】
[0028]图1为本发明实施例的多圆形区域总覆盖面积的获取方法的流程示意图;
[0029]图2为采用正方形待检测区域并采用四等分方式划分子区域时的结构示意图;
[0030]图3为圆形区域与子区域全覆盖的结构示意图;
[0031]图4为圆形区域与子区域接触的结构示意图;
[0032]图5为圆形区域与子区域相离的结构示意图。
【具体实施方式】
[0033]为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
[0034]本发明实施例提出了一种多圆形区域总覆盖面积的获取方法,包括:
[0035]步骤1、设置能够覆盖每一圆形区域的待监测区域;
[0036]步骤2、将所述待检测区域划分为多个子区域;
[0037]步骤3、判断每一子区域是否都完全被一个圆形区域所覆盖或是与任一圆形都不相交,如果是则步骤结束;如果否则将完全被一个圆形区域所覆盖或是与任一圆形都不相交的区域作为已定区域,并跳转到步骤4 ;
[0038]步骤4、将每一非已定区域的未定区域分别继续划分为多个子区域,并返回步骤3。
[0039]上述方案基于分治的思想,只对未定区域继续划分,这样相比较现有算法能够在不降低计算精度的前提下降低计算复杂度。上述方案中通过划定一个充分大的待检测区域,而该待检测区域能够包含所有的设备的圆形区域。这种方式很简单,无需事先进行大量的准备工作,只需划定一个足够大的区域即可。由于采用递归的方式进行划分子区域,因此初期的待检测区域即使划分的不恰当的大也不会导致计算量的级数级别的增加。而现有的网格法是将每一子区域都不断的进行细分,一旦初期的待检测区域划分的不恰当的大,怎会导致大量无用的计算,并导致计算量激增。
[0040]其中,该待检测区域可以为正方形。采用正方形的待监测区域很容易在地图上进行标注,且在划分子区域时也可以划分为多个正方向的子区域。这样在子区域划分时也可以降低运算量。在本发明的一个实施方式中,可以将该待检测区域等分为四个子区域,且每一子区域在继续划分时也可以再等分为四个子区域。
[0041]在划分为多个正方形的子区域时,可以通过每个正方形子区域的四个顶点的坐标来确定该子区域与每一圆形区域的位置关系。即,所述步骤3可以具体为:
[0042]步骤31、判断所述正方形子区域的四个顶点是否都在一个圆形区域内,如果是则所述子区域完全被一个圆形区域所覆盖;
[0043]步骤32、判断所述正方形子区域的四条边上的每一个点是否都不在一个圆形区域内,如果是则所述子区域与任一圆形都不相交;
[0044]步骤33、判断每一子区域是否都完全被一个圆形区域所覆盖或是与任一圆形都不相交,如果是则步骤结束;如果否则将完全被一个圆形区域所覆盖或是与任一圆形都不相交的区域作为已定区域,并跳转到步骤4。
[0045]其中,在本发明实施例中可以通过设置最小子区域面积的方式来控制算法的精度和计算开销。即,所述步骤3和步骤4之间还包括:判断所述每一子区域的面积是否都大于预设阈值,如果否将则步骤结束。这样可以在划分子区域之前先确定最小子区域是否大于预设阈值;如果是则继续划分子区域,如果否则将当前的计算结果作为最后结果输出。由于此时并非所有子区域都是已定区域,因此可以将其中的未定区域的面积作为0.5个计算。此时输出的总覆盖面积,包括每一完全被一个圆形区域所覆盖的已定区域的面积总和,以及每一未定区域的面积乘以0.5。
[0046]下面通过一个实例来介绍本发明:
[0047]在本发明的一个实施方式中,可以假定待检测区域内有N个设备,因此该N个设备有N个可以服务的圆形区域。该服务可以是无线基站的覆盖范围,或是传感器的感知范围等等。假定每个圆形区域i的圆心位置为(Xi, Yi),且每一设备的覆盖半径都是r。当然,由于设备可以不同,因此每一设备的覆盖半径可能是不同的,此时并不影响本发明实施例的实施,也不会造成算法复杂度的增加。
[0048]此时,划分一个足够大的正方形的待检测区域,使得该待检测区域能够覆盖所有的圆形区域。该待检测区域的中心为(A,B)且其边长为a。此时N个圆形区域肯定都与该正方形的待监测区域有重叠的部分,本发明实施例中称这些圆形为该待检测区域的影响圆,并将这些影响圆的集合标记为C。
[0049]随后将该待监测区域四等分为四个正方形的子区域。如图2所示的,这四个子区域分别标记为S1、S2、S3、S4。此时判断该影响圆集合C中的每一个圆形区域与每一子区域S1、S2、S3、S4之间的位置关系。如图3、图4、图5所示的,每一子区域与圆形区域之间的关系只会有三种:全覆盖、接触、相离。如图3所示的,当一个子区域的四个顶点都位于一个圆形区域内,则该子区域被该圆形区域全覆盖。如图4所示的,当一个子区域的四条边上有一个点在一个圆形区域内,则该子区域与该圆形区域接触。如图5所示的,当一个子区域的四条边上的每一个点都不在一个圆形区域内,则该子区域与任一圆形区域都相离。在本发明实施例中,将全覆盖与相离的子区域称为已定区域,而将接触的子区域称为未定区域。
[0050]此时需要继续对这些未定区域继续进行细分,而对于已定区域则无需做出进一步的操作,因此可以降低算法的初期准备开销,并降低算法开销,降低算法的计算量。继续细分后,判断细分后的每一子区域是否都可以成为已定区域,并递归的进行计算。在每一次细分之前,需要先判断当前最小的子区域的面积是否大于预设值,如果是则继续进行细分,如果否则将当前的结果作为最终结果输出。此时所有全覆盖的子区域的全部面积+接触的子区域的面积乘以0.5,作为最终的总覆盖面积输出。
[0051]以上所述是本发明的优选实施方式,应当指出,对于本【技术领域】的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
【权利要求】
1.一种多圆形区域总覆盖面积的获取方法,其特征在于,包括: 步骤1、设置能够覆盖每一圆形区域的待监测区域; 步骤2、将所述待检测区域划分为多个子区域; 步骤3、判断每一子区域是否都完全被一个圆形区域所覆盖或是与任一圆形都不相交,如果是则步骤结束;如果否则将完全被一个圆形区域所覆盖或是与任一圆形都不相交的区域作为已定区域,并跳转到步骤4 ; 步骤4、将每一非已定区域的未定区域分别继续划分为多个子区域,并返回步骤3。
2.根据权利要求1所述的多圆形区域总覆盖面积的获取方法,其特征在于,所述步骤3和步骤4之间还包括: 判断所述每一子区域的面积是否都大于预设阈值,如果否将则步骤结束。
3.根据权利要求2所述的多圆形区域总覆盖面积的获取方法,其特征在于,所述步骤4之后还包括: 步骤5、输出总覆盖面积,所述总覆盖面积包括每一完全被一个圆形区域所覆盖的已定区域的面积总和,以及每一未定区域的面积乘以0.5。
4.根据权利要求1或2或3所述的多圆形区域总覆盖面积的获取方法,其特征在于,所述待监测区域为正方形。
5.根据权利要求4所述的多圆形区域总覆盖面积的获取方法,其特征在于,所述步骤2具体为:将所述正方形的待检测区域划分为多个正方形的子区域。
6.根据权利要求5所述的多圆形区域总覆盖面积的获取方法,其特征在于,所述步骤2具体为:将所述正方形的待检测区域四等分为四个正方形的子区域。
7.根据权利要求5所述的多圆形区域总覆盖面积的获取方法,其特征在于,所述步骤3具体为: 步骤31、判断所述正方形子区域的四个顶点是否都在一个圆形区域内,如果是则所述子区域完全被一个圆形区域所覆盖; 步骤32、判断所述正方形子区域的四条边上的每一个点是否都不在一个圆形区域内,如果是则所述子区域与任一圆形都不相交; 步骤33、判断每一子区域是否都完全被一个圆形区域所覆盖或是与任一圆形都不相交,如果是则步骤结束;如果否则将完全被一个圆形区域所覆盖或是与任一圆形都不相交的区域作为已定区域,并跳转到步骤4。
【文档编号】H04W24/08GK103813377SQ201410026228
【公开日】2014年5月21日 申请日期:2014年1月20日 优先权日:2014年1月20日
【发明者】皇甫伟, 张中山, 齐沈桐, 刘晓园, 隆克平 申请人:北京科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1