发明内容
本申请所要解决的技术问题是提供一种空间位置确定几何对象的方法及其装置,用以克服现有技术中的上述技术缺陷。
为了解决上述技术问题,本申请提供了一种空间位置确定几何对象的方法,其包括:
确定与几何对象存在交集的子空间,以及确定空间位置所属的子空间;
根据所述空间位置所属的子空间以及与几何图形存在交集的子空间获得所述空间位置在图形空间中确定的几何对象。
根据权利要求1所述的方法,其特征在于,确定与几何对象存在交集的子空间之前还包括:将图形空间划分为多个子空间;并使用包裹图形对图形空间中的每一个几何对象进行几何图形包裹。
优选地,在本申请的一实施例中,所述确定与几何对象存在交集的子空间包括:确定与几何对象的包裹图形存在交集的子空间。
优选地,在本申请的一实施例中,根据所述空间位置所属的子空间以及与几何图形存在交集的子空间获得所述空间位置在图形空间中确定的几何对象包括:根据所述空间位置所属的子空间以及与包裹图形存在交集的子空间获得所述空间位置在图形空间中确定的几何对象。
优选地,在本申请的一实施例中,所述图形空间包括2D图形空间、3D图形空间、2D极坐标图形空间。
优选地,在本申请的一实施例中,将图形空间划分为多个子空间包括:将2D图形空间划分为多个正方形或者矩形子空间;或者,
将3D图形空间划分为多个正方体或者长方体子空间;或者,
将2D极坐标空间划分为具有相同半径宽度、相同角宽度的扇形子空间。
优选地,在本申请的一实施例中,所述将图形空间均分为多个子空间包括:根据常数次计算可从空间位置找到子空间的原则将图形空间均分为多个子空间。
优选地,在本申请的一实施例中,所述使用包裹图形对图形空间中的每一个几何对象进行几何图形包裹包括:使用具有相同形状的包裹图形,对图形空间中的每一个几何对象进行几何图形包裹。
优选地,在本申请的一实施例中,所述确定与几何对象的包裹图形存在交集的子空间包括:通过子空间与包裹图形的比较结果确定与几何对象的包裹图形存在交集的子空间。
优选地,在本申请的一实施例中,所述确定空间位置所属的子空间包括:使用空间位置的坐标与子空间的坐标进行比较确定空间位置所属的子空间。
优选地,在本申请的一实施例中,所述确定与几何对象的包裹图形存在交集的子空间包括:将与子空间有交集的包裹图形对应的几何图像放到子空间对应的数组队列中;
所述根据所述空间位置所属的子空间以及与包裹图形存在交集的子空间获得所述空间位置在所述图形空间中确定的几何对象包括:逐个调用数组队列中的每个几何对象的自我检测获得所述空间位置在所述图形空间中确定的几何对象。
为了解决上述技术问题,本申请提供了一种空间位置确定几何对象的装置,其包括:
子空间确定单元,用于确定与几何对象存在交集的子空间,以及确定空间位置所属的子空间;
几何对象确定单元,用于根据所述空间位置所属的子空间以及与几何图形存在交集的子空间获得所述空间位置在图形空间中确定的几何对象。
优选地,在本申请的一实施例中,还包括:子空间划分单元,用于将图形空间划分为多个子空间,使用包裹图形对图形空间中的每一个几何对象进行几何图形包裹。
优选地,在本申请的一实施例中,所述子空间确定单元进一步用于确定与几何对象的包裹图形存在交集的子空间。
优选地,在本申请的一实施例中,所述几何对象确定单元进一步用于根据所述空间位置所属的子空间以及与包裹图形存在交集的子空间获得所述空间位置在图形空间中确定的几何对象。
优选地,在本申请的一实施例中,所述图形空间包括2D图形空间、3D图形空间、2D极坐标图形空间。
优选地,在本申请的一实施例中,所述子空间划分单元进一步用于:将2D图形空间划分为多个正方形或者矩形子空间;或者,
将3D图形空间划分为多个正方体或者长方体子空间;或者,
将2D极坐标空间划分为具有相同半径宽度、相同角宽度的扇形子空间。
优选地,在本申请的一实施例中,所述所述子空间划分单元进一步用于根据常数次计算可从空间位置找到子空间的原则将图形空间均分为多个子空间。
优选地,在本申请的一实施例中,所述子空间划分单元进一步用于使用具有相同形状的包裹图形,对图形空间中的每一个几何对象进行几何图形包裹。
优选地,在本申请的一实施例中,所述子空间确定单元进一步用于通过子空间与包裹图形的比较结果确定与几何对象的包裹图形存在交集的子空间。
优选地,在本申请的一实施例中,所述子空间确定单元进一步用于使用空间位置的坐标与子空间的坐标进行比较确定空间位置所属的子空间。
优选地,在本申请的一实施例中,所述子空间确定单元进一步用于将与子空间有交集的包裹图形对应的几何图像放到子空间对应的数组队列中;
所述几何对象确定单元进一步用于逐个调用数组队列中的每个几何对象的自我检测获得所述空间位置在所述图形空间中确定的几何对象。
与现有的方案相比,本申请所获得的技术效果:通过确定与几何对象存在交集的子空间,以及确定空间位置所属的子空间;根据所述空间位置所属的子空间以及与几何图形存在交集的子空间获得所述空间位置在图形空间中确定的几何对象,通过将自我检测缩小到局部的子空间,避免了现有技术中对整个图形系统中的每个几何图形进行自我检测导致的运行过程较慢以及运行效率较低,提高了运行过程和运行效率。再通过对形状各异的几何图形进行包裹,避免了几何图形的复杂性,从而可以使用统一的自我检测原则进行几何图形的确定,降低了运行过程的复杂度,进一步提了运行效率。
具体实施方式
以下将配合图式及实施例来详细说明本申请的实施方式,藉此对本申请如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。
下述本申请实施例中,通过。
当然,实施本申请的任一技术方案并不一定需要同时达到以上所述的所有优点。
本申请实施例的一主要思想:
下述本申请实施例中提供的空间位置确定几何对象的方法,其主要思想在于,至少包括:
确定与几何对象存在交集的子空间,以及确定空间位置所属的子空间;
根据所述空间位置所属的子空间以及与几何图形存在交集的子空间获得所述空间位置在图形空间中确定的几何对象。
本申请实施例的另一主要思想:
下述本申请实施例中提供的空间位置确定几何对象的装置,其主要思想在于,至少包括:
子空间确定单元,用于确定与几何对象存在交集的子空间,以及确定空间位置所属的子空间;
几何对象确定单元,用于根据所述空间位置所属的子空间以及与几何图形存在交集的子空间获得所述空间位置在图形空间中确定的几何对象。
在上述主要思想中,所述图形空间可以包括但不局限于2D图形空间、3D图形空间、2D极坐标图形空间。
方法实施例
图1为本申请一实施例空间位置确定几何对象的方法流程示意图;如图1所示,其包括:
步骤S101、确定与几何对象存在交集的子空间,以及确定空间位置所属的子空间;
本实施例中,可以通过将图形空间划分为多个子空间,再确定于几何对象存在交集的子空间。实施例中,如果图形空间是2D图形空间包括2D笛卡尔直角图形坐标空间,则将2D图形空间划分为多个正方形或者矩形子空间;或者,
本实施例中,如果图形空间是3D图形空间包括3D直角图形空间,则将3D图形空间划分为多个正方体或者长方体子空间;或者,
本实施例中,如果图形空间是2D极坐标空间,则将2D极坐标空间划分为具有相同半径宽度、相同角宽度的扇形子空间。
本实施例中,在上述划分子空间时,可以根据常数次计算可从空间位置找到子空间的原则将图形空间均分为多个子空间。
本实施例中,步骤S101中确定与几何对象存在交集的子空间可以但不局限于包括:通过子空间与几何对象的比较结果确定与几何对象存在交集的子空间。
比如,如果在2D图形坐标下,如果图形空间划分为若干个正方形,每个正方形可以形成一个子空间,假如几何对象为矩形的话,则通过每个子空间四个角的坐标与矩形几何对象轮廓上四个顶点的坐标进行比对,判断与矩形几何对象存在交集的子空间。如果几何对象是圆形的话,则可以根据圆心的坐标以及半径来确定与圆形几何对象存在交集的子空间。
本实施例中,确定空间位置所属的子空间可以包括但不局限于通过空间位置在图形空间中的坐标与图形空间中的子空间的顶点坐标进行比对来确定。
本实施例中,还可以对划分后的子空间进行标示,比如用子空间左下角的坐标除以子空间的边长。
步骤S102、根据所述空间位置所属的子空间以及与几何图形存在交集的子空间获得所述空间位置在图形空间中确定的几何对象。
如果空间位置所属的子空间属于与一几何图形存在交集子空间的话,则只要通过最终确定该空间位置是否在该几何图形中即可。如果空间位置所属的子空间属于与一几何图形不存在交集子空间的话,则可以直接确定该空间位置不确定该几何对象。假如与圆形几何对象存在的若干个子空间中,存在一个子空间,而某一个点空间位置属于该子空间,则通过判断该点空间位置与圆形几何对象的圆心之间距离与圆形几何对象半径之间的大小关系来确定该点空间位置是否确定该圆形几何对象。如果该点空间位置与圆形几何对象的圆心之间距离小于圆形几何对象半径,则表明该点空间位置确定该圆形几何对象;否则,表明该点空间位置未确定该圆形几何对象。
图2为本申请另一实施例空间位置确定几何对象的方法流程示意图;如图2所示,本实施例在上述图1实施例的基础上增加了划分子空间的步骤,详细如下:
S201、使用包裹图形对图形空间中的每一个几何对象进行几何图形包裹。
本实施例中,在步骤S201之前也可以包括对图形空间进行子空间划分。
图3为本申请一实施例2d笛卡尔直角坐标图形空间中划分子空间的示意图;如图3所示,2d笛卡尔直角坐标空间被分割为5刻度为长度的正方形。
图4为本申请一实施例空间位置在图4子空间中的示意图;如图4所示,空间位置为一个点P(4,8),如果使用子空间的左下点坐标除以正方形边长5作为子空间的标示的话,则空间位置(4,8)在左下角坐标为(0,5)的子空间R1内。
图5为本申请一实施例2d极坐标坐标图形空间中划分子空间的示意图;图6为本申请一实施例空间位置在图5子空间中的示意图;如图5、6所示,可以将图形空间划分成半径宽度相等,角宽度相同的扇形区域。例如,2d极坐标空间被划分为半径宽度为5角宽度为PI/2的扇形子空间。此时给定空间位置P(18,PI/3),经过整除运算可以知道空间位置点在R(15,0)的子空间内。
本实施例中,步骤S201中进行几何图形包裹可以但不局限于包括:使用具有相同形状的包裹图形,对图形空间中的每一个几何对象进行几何图形包裹。
由于几何图形具有不同的大小,包裹图形的大小也有差异,但包裹图形的形状全部一致,以屏蔽几何图形的多样性导致的自我检测复杂性。
图7为本申请一实施例图形空间中几何图形未包裹之前的示意图;图8为本申请一实施例图形空间中几何图形被包裹之后的示意图;如图7、图8所示,几何图形有六边形S1、星形S2、正方形S3、三角形S4、圆形S5,但包裹图形均为正方形如虚线所示,只是正方形的边长大小不同。
S202、确定与几何对象的包裹图形存在交集的子空间,以及确定空间位置所属的子空间;
本实施例中,步骤S202中确定包裹图形存在交集的子空间可以但不局限于包括:通过子空间与包裹图形的比较结果确定与几何对象的包裹图形存在交集的子空间。
具体地,所述确定与几何对象的包裹图形存在交集的子空间可以单不局限于包括:将与子空间有交集的包裹图形对应的几何图像放到子空间对应的数组队列中;
本实施例中,步骤S202中确定空间位置所属的子空间可以但不局限于包括:使用空间位置的坐标与子空间的坐标进行比较确定空间位置所属的子空间。
S203、根据所述空间位置所属的子空间以及与包裹图形存在交集的子空间获得所述空间位置在图形空间中确定的几何对象。
本实施例中,步骤203中根据所述空间位置所属的子空间以及与包裹图形存在交集的子空间获得所述空间位置在图形空间中确定的几何对象中可以理解为将包裹图形的几何图形映射到完成子空间划分的图形空间中。
图9为本申请一实施例包裹后的几何图形在完成子空间划分的图形空间中示意图;如图9所示,任意一个几何对象S1-S5的正方形包裹图形都存在与其交集的子空间。
本实施例中,步骤S203中确定空间位置确定几何对象可以具体包括:
逐个调用数组队列中的每个几何对象的自我检测获得所述空间位置在所述图形空间中确定的几何对象。
图10为本申请一实施例通过自我检测确定几何对象的示意图;如图10所示,首先根据空间位置P找到对应子空间,接着逐个调用子空间数组中的每个几何对象的自我检测方法,来确定几何对象S。如果找到几何对象则返回第一个找到的几何对象,如果对应子空间中的数组所有的几何对象都无法被空间位置所确认,则返回寻找失败。
图11为本申请一实施例空间位置确定几何对象的装置结构示意图;如图11所示,其至少包括:相互耦接的子空间确定单元1101和几何对象确定单元1102。
子空间确定单元1101用于确定与几何对象存在交集的子空间,以及确定空间位置所属的子空间;
几何对象确定单元1102用于根据所述空间位置所属的子空间以及与几何图形存在交集的子空间获得所述空间位置在图形空间中确定的几何对象。
装置实施例
图12为本申请另一实施例空间位置确定几何对象的装置结构示意图;如图12所示,其至少包括:子空间划分单元1100、子空间确定单元1101和几何对象确定单元1102。
子空间划分单元1100用于将图形空间划分为多个子空间,使用包裹图形对图形空间中的每一个几何对象进行几何图形包裹。
本实施例中,所述子空间划分单元1100进一步用于将2D图形空间划分为多个正方形或者矩形子空间;或者,将3D图形空间划分为多个正方体或者长方体子空间;或者,将2D极坐标空间划分为具有相同半径宽度、相同角宽度的扇形子空间。
本实施例中,在划分子空间时,所述子空间划分单元1100进一步用于根据常数次计算可从空间位置找到子空间的原则将图形空间均分为多个子空间。
本实施例中,在划分子空间时,所述子空间划分单元1100进一步用于使用具有相同形状的包裹图形,对图形空间中的每一个几何对象进行几何图形包裹。
子空间确定单元1101用于确定与几何对象的包裹图形存在交集的子空间,用于通过子空间与包裹图形的比较结果确定与几何对象的包裹图形存在交集的子空间。
本实施例中,所述子空间确定单元1101进一步用于使用空间位置的坐标与子空间的坐标进行比较确定空间位置所属的子空间。
本实施例中,所述子空间确定单元1101进一步用于将与子空间有交集的包裹图形对应的几何图像放到子空间对应的数组队列中;
几何对象确定单元1102用于根据所述空间位置所属的子空间以及与包裹图形存在交集的子空间获得所述空间位置在图形空间中确定的几何对象。
所述几何对象确定单元1102进一步用于逐个调用数组队列中的每个几何对象的自我检测获得所述空间位置在所述图形空间中确定的几何对象。
图13为本申请上述实施例的一具体应用实例示意图;如图13所示,2d平面内有6个圆形的几何图形,其[名称,坐标,半径]为:[s1,(1.9,3.9),1],[s2,(3.8,2.1),0.5],[s3,(-1.2,5.5),1],[s4,(3.6,6),1],[s5,(6.2,3.2),0.6],[s6,(-0.9,1.8),0.7]。有一个空间位置点p1:(1.8,3.6),如何获得这个点确定了那个圆。
(1)将所有的圆使用一个正方形(也可以说是长方形)进行包裹。
(2)将2D平面分成多个子空间,如图:坐标系统被分成很多单位长宽的正方形。
(3)使用(1)中的包裹长方形和(2)中的单位长宽的正方形进行比较。如果两者有重叠,就说该包裹长方形是属于这个单位长度的正方形的。如图:s1就属于[(1,3),(2,3),(2,4),(1,4)]这个单位正方形,同时s1也属于[(2,3),(3,3),(3,4),(2,4)]这个单位正方形,依此类推。
(4)因为p1的坐标是(1.8,3.6)所以它是属于正方形R1:[(1,3),(2,3),(2,4),(1,4)]这个正方形的。因为在(3)中确定出s1是属于R1的并且只有s1是属于R1的,所以只需要计算p1是不是在s1内部。计算p1和s1圆心的距离,得知该距离小于s1半径,所以p1在s1内部。所以s1被p1选中。
本申请的实施例所提供的装置可通过计算机程序实现。本领域技术人员应该能够理解,上述的单元以及模块划分方式仅是众多划分方式中的一种,如果划分为其他单元或模块或不划分块,只要信息对象的具有上述功能,都应该在本申请的保护范围之内。
本领域的技术人员应明白,本申请的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。