一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种室内空间三维拓扑关系构建方法及系统

2022-06-22 19:50:14 来源:中国专利 TAG:


1.本发明涉及地理信息处理技术领域,特别涉及一种室内空间三维拓扑关系构建方法及系统。


背景技术:

2.室内空间拓扑邻接关系是室内环境重要的空间关系,是生成导航路径的必要条件。当前建筑物模型(如citygml)侧重建筑物三维可视化,尚未对体和面进行有效地组织,其体对象不具有拓扑意义,同时也没有表达相邻体间拓扑邻接关系。为了准确、有效地表达建筑物室内三维空间及其空间关系,需在拓扑层次上对体对象进行构建,并在此基础上建立相邻体间拓扑邻接关系。
3.当前,三维拓扑关系构建主要采用基于公共边的面集合排序方法。该方法是根据三维面集合,通过对面片进行排序确定搜索面的最邻近面从而构建体对象。其是根据面与边的关联关系,通过面的每一条边搜索该面的最邻近面。由于面的某条边会关联两个以上的面,需在该边关联的面集合中确定当前搜索面的最邻近面以构成体的部分边界。因此,在体对象构建过程中需要对面集合进行排序。具体的,通过构造以公共边为法线的垂面,将边关联的面集合投影至该垂面上得到平面上过一点的直线束,再通过计算各直线之间的夹角对面集合进行排序;将公共边关联的面集合法向量投影至二维平面直角坐标系,通过计算面法向量之间的夹角,确定公共边关联面之间的夹角,从而对面集合进行排序。
4.然而,面集合排序的方法计算量较大且相对繁琐。首先,面集合的投影需构造基于公共边的三维坐标系,而面集合法向量投影则需构造基于法向量的三维坐标系。在计算出坐标转换矩阵后,再将面集合或法向量进行坐标转换,并进行投影;其次,在面集合排序过程中,两直线夹角是通过计算其方位角之差求得,而方位角需通过计算反三角函数求得,面集合排序效率低。继而导致室内空间拓扑关系构建效率低。


技术实现要素:

5.有鉴于此,本发明的目的在于提供一种室内空间三维拓扑关系构建方法及系统,旨在解决现有技术中在进行室内空间三维拓扑关系构建时效率低的问题。
6.本发明实施例是这样实现的:一种室内空间三维拓扑关系构建方法,所述方法包括:获取室内空间体对象的离散面集合,对所述离散面集合进行预处理,以使所述离散面集合中的所有面都在公共边拓扑相连;区分所述离散面集合的内表面与外表面,依据三维空间向量积的性质对所述离散面集合中的面进行排序;确定所述离散面集合的起始搜索面,通过所述起始搜索面搜索所述起始搜索面的最邻近面,以构建当前体对象;构建所述当前体对象的所有相邻体,并建立所述当前体对象与所述相邻体之间的
拓扑邻接关系。
7.进一步的,上述室内空间三维拓扑关系构建方法,其中,所述获取室内空间体对象的离散面集合,对所述离散面集合进行预处理,以使所述离散面集合中的所有面都在公共边拓扑相连的步骤包括:对所述离散面集合进行结点匹配以确定结点坐标;根据所述结点坐标以及所述离散面集合中原始多边形顶点顺序依次建立边与结点、环与边和面与环的层次组合关系,并构建边与面的关联关系。
8.进一步的,上述室内空间三维拓扑关系构建方法,其中,所述区分所述离散面集合的内表面与外表面,依据三维空间向量积的性质对所述离散面集合中的面进行排序的步骤包括:区分所述离散面集合的内表面与外表面,选取任一所述外表面为起始搜索面,并获取所述外表面的法向量;选定所述起始搜索面的一条边为公共边,获取所述离散面集合中与所述公共边关联的其他面的法向量;创建面集合排序序列,并根据所述外表面的法向量与所述其他面的法向量对所述离散面集合进行排序。
9.进一步的,上述室内空间三维拓扑关系构建方法,其中,所述确定所述离散面集合的起始搜索面,通过所述起始搜索面搜索所述起始搜索面的最邻近面,以构建当前体对象的步骤包括:选取任一所述外表面为起始搜索面,将所述起始搜索面所包含的内环面加入当前体对象的记录中;计算所述当前体对象中所有面的外环边的度,直至所有面外环边的度均为预设值,以完成所述当前体对象的构建。
10.进一步的,上述室内空间三维拓扑关系构建方法,其中,所述计算所述当前体对象中所有面的外环边的度,直至所有面外环边的度均为预设值,以完成所述当前体对象的构建的步骤包括:若存在度为非预设值的边,则以该边所在的面为搜索面在该边进行最邻近面搜索,并将所述最邻近面加入当前体的记录中。
11.进一步的,上述室内空间三维拓扑关系构建方法,其中,所述选取任一所述外表面为起始搜索面,将所述起始搜索面所包含的内环面加入当前体对象的记录中的步骤之后还包括:若所述起始搜索面没有内环面,遍历所述起始搜索面的外环边,并计算所述外环边在所述离散面集合中边的度;判断所述外环边在所述离散面集合中边的度与度预设值之间的大小关系;若所述外环边在所述离散面集合中边的度等于所述度预设值,将所述起始搜索面关联的面加入当前体的记录中;若所述外环边在所述离散面集合中边的度大于所述度预设值,将所述起始搜索面的最邻近面加入当前体的记录中。
12.进一步的,上述室内空间三维拓扑关系构建方法,其中,所述构建所述当前体对象
的所有相邻体,并建立所述当前体对象与所述相邻体之间的拓扑邻接关系的步骤包括:选取所述当前体对象中任一所述内表面作为构建所述当前体对象的相邻体的起始搜索面,以完成所述相邻体的构建;建立所述当前体对象与所述相邻体之间的拓扑邻接关系。
13.进一步的,上述室内空间三维拓扑关系构建方法,其中,所述选取所述当前体对象中任一所述内表面作为构建所述当前体对象的相邻体的起始搜索面,以完成所述相邻体的构建的步骤之后还包括:判断所述当前体对象是否存在多个内表面,若是,则依次选取所述当前体对象的内表面分别作为构建多个相邻体的起始搜索面,直至所述当前体对象中所有内表面均被访问预设次数。
14.本发明的另一个目的在于提供一种室内空间三维拓扑关系构建系统,所述系统包括:面集合获取模块,用于获取室内空间体对象的离散面集合,对所述离散面集合进行预处理,以使所述离散面集合中的所有面都在公共边拓扑相连;面集合排序模块,用于区分所述离散面集合的内表面与外表面,依据三维空间向量积的性质对所述离散面集合中的面进行排序;体对象构建模块,用于确定所述离散面集合的起始搜索面,通过所述起始搜索面搜索所述起始搜索面的最邻近面,以构建当前体对象;拓扑邻接关系构建模块,用于构建所述当前体对象的所有相邻体,并建立所述当前体对象与所述相邻体之间的拓扑邻接关系。
15.进一步的,上述室内空间三维拓扑关系构建系统,其中,所述离散面集合获取模块具体用于:对所述离散面集合进行结点匹配以确定结点坐标;根据所述结点坐标以及所述离散面集合中原始多边形顶点顺序依次建立边与结点、环与边和面与环的层次组合关系,并构建边与面的关联关系。
16.本发明通过获取待构建室内空间体对象的离散面集合,并以公共边对面集合进行排序,在对面集合进行排序时,通过计算面的法向量积的方式直接确定面之间相对位置关系,避开了传统方法中通过计算面的绝对位置以确定面之间相对位置的思路,避免了相对繁琐的计算,提高了室内空间三维拓扑关系构建的效率。解决了现有技术中在进行室内空间三维拓扑关系构建的效率低的问题。
附图说明
17.图1为本发明第一实施例中室内空间三维拓扑关系构建方法的流程图;图2为本发明一实施例中室内空间三维拓扑关系构建方法中结点匹配的示意图;图3为本发明一实施例中室内空间三维拓扑关系构建方法中离散面集合外表面与内表面的确定的示意图;图4为本发明一实施例中室内空间三维拓扑关系构建方法中离散面集合排序的示意图;图5为本发明一实施例中室内空间三维拓扑关系构建方法中当前体对象构建的示
意图;图6为本发明一实施例中室内空间三维拓扑关系构建方法中相邻体构建的示意图;图7为本发明第二实施例中室内空间三维拓扑关系构建系统的结构框图.如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
18.为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的若干实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。
19.需要说明的是,当元件被称为“固设于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的。
20.除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
21.以下将结合具体实施例和附图来详细说明如何提升室内空间三维拓扑关系构建的准确性。
22.实施例一请参阅图1,所示为本发明第一实施例中的室内空间三维拓扑关系构建方法,所述方法包括步骤s10~s13。
23.步骤s10,获取室内空间体对象的离散面集合,对所述离散面集合进行预处理,以使所述离散面集合中的所有面都在公共边拓扑相连。
24.具体的,本发明采用三维城市建模标准(citygml)数据集为原始数据。通过该数据集可以获取室内空间中体对象的离散面组成的离散面集合,并对离散面集合进行预处理以使离散面集合中的所有面在公共边进行拓扑相连。
25.更具体的,在本发明一些实施例当中,所述获取室内空间体对象的离散面集合,对所述离散面集合进行预处理,以使所述离散面集合中的所有面都在公共边拓扑相连的步骤包括:对所述离散面集合进行结点匹配以确定结点坐标;根据所述结点坐标以及所述离散面集合中原始多边形顶点顺序依次建立边与结点、环与边和面与环的层次组合关系,并构建边与面的关联关系。
26.其中,在具体实施时,根据citygml数据中获取的离散面,通过给定容差构建搜索圆,将落入搜索圆内相邻多边形的顶点坐标取平均值作为新的结点坐标(如图2中n1);根据匹配后的结点以及原始多边形顶点顺序依次建立边与结点、环与边和面与环以及边与面的关系,具体的,由每两个结点构成一条边,边以统一的顺序构成环,并将组成每个面的环(一个外环和若干个内环)构成面(如图2中面f1)。
27.步骤s11,区分所述离散面集合的内表面与外表面,依据三维空间向量积的性质对所述离散面集合中的面进行排序。
28.其中,通过判定射线与面相交的方法区分内表面和外表面,具体的,确定需要进行内外表面区分的面集合中的一个面,确定过面的一点,并求通过该点的法线,构造该法线正反两个方向射线。若两条射线都与面集合中其它面相交,则该面为内表面(如图3中面f2)。若其中只有一条射线与其它面相交,则该面为外表面(如图3中面f1)。
29.进一步的,在本发明一些实施例当中,区分所述离散面集合的内表面与外表面,依据三维空间向量积的性质对所述离散面集合中的面进行排序的步骤包括:区分所述离散面集合的内表面与外表面,选取任一所述外表面为起始搜索面,并获取所述外表面的法向量;选定所述起始搜索面的一条边为公共边,获取所述离散面集合中与所述公共边关联的其他面的法向量;创建面集合排序序列,并根据所述外表面的法向量与所述其他面的法向量对所述离散面集合进行排序。
30.具体的,选定任一外表面为起始搜索面(如图4中面f0),指定其法向量为指向体外,并根据向量外积计算出面f0的法向量(如图4);将面集合中公共边e0关联的其它面(即被搜索面f1、f2、f3)的法向量以边e0的方向进行统一,并根据向量外积计算被搜索面的法向量,即根据向量外积计算被搜索面法向量与起始搜索面法向量所构成平面的法向量,即。如果=0,则被搜索面fi与起始搜索面f0平行,将面fi置于排序序列中面f0的右侧,如图4中面f3,即有排序序列{f0, f3};如果不等于0,则进一步计算向量与公共边e0向量的内积,即如果>0,将面fi置于面f0右侧。如对于面f2,有,将面f2置于面f0右侧,因此排序序列为{f0, f2}。如果,将面fi置于面f0左侧。如对于面f1,有,将面f1置于面f0左侧,因此有排序序列{f1, f0, f2};如果排序序列中起始搜索面的右侧(或左侧)存在已排序的面,则进一步对被搜索面与已排序的面进行比较。如排序序列为{f0, f3},在对面f2进行排序时,首先计算,再计算。如果,将面f2置于面f3的右侧;如果,将面f2置于面f3的左侧。因,则排序序列为{f0, f2, f3}。以此类推,完成公共边e0关联的所有面集合排序,即有排序序列{f1, f0, f2, f3},而排序序列中面 f2为起始搜索面 f0的最邻近面。
31.步骤s12,确定所述离散面集合的起始搜索面,通过所述起始搜索面搜索所述起始搜索面的最邻近面,以构建当前体对象。
32.具体的,选取任一所述外表面为起始搜索面,将所述起始搜索面所包含的内环面加入当前体对象的记录中;计算所述当前体对象中所有面的外环边的度,直至所有面外环边的度均为预设值,以完成所述当前体对象的构建。
33.在具体实施时,选取任一外表面为起始搜索面(如图5中面f1),指定其向外的法向
量,加入当前体(如图5中体s1)记录中;将面f1包含的内环面(如面f5)加入当前体s1记录中;计算当前体s1中所有面的外环边的度。直至体s1中所有面外环边的度均为2,体s1构建完成;存储体s1,并赋予其语义信息。
34.在实际中,可能存在外环边的度不为预设值的情况,为了顺利对当前体对象进行构建,在本发明一些可选的实施例当中,所述计算所述当前体对象中所有面的外环边的度,直至所有面外环边的度均为预设值,以完成所述当前体对象的构建的步骤包括:若存在度为非预设值的边,则以该边所在的面为搜索面在该边进行最邻近面搜索,并将所述最邻近面加入当前体的记录中。
35.例如,对度为1的边,以该边所在的面为搜索面在该边进行最邻近面搜索(如通过边e3搜索面f3的最邻近面f4),并加入当前体s1记录中。
36.另外,在本发明一些可选的实施例当中,所述选取任一所述外表面为起始搜索面,将所述起始搜索面所包含的内环面加入当前体的记录中的步骤之后还包括:若所述起始搜索面没有内环面,遍历所述起始搜索面的外环边,并计算所述外环边在面集合中边的度;判断所述外环边在所述离散面集合中边的度与度预设值之间的大小关系;若所述外环边在所述离散面集合中边的度等于所述度预设值,将所述起始搜索面关联的面加入当前体的记录中;若所述外环边在所述离散面集合中边的度大于所述度预设值,对所述离散面集合进行排序,并将排序序列中所述起始搜索面的最邻近面加入当前体的记录中。
37.具体的,若起始搜索面(面f1)没有内环面,则遍历面f1的外环边,并计算边在面集合中边的度;对度为2 的边,将其关联的面加入当前体s1的记录中,如边e1关联的面f2;对度大于2 的边,搜索面f1的最邻近面(如边e2关联的面f3),并加入当前体s1记录中;依次将搜索的面所包含的内环面加入当前体s1的记录中。
38.步骤s13,构建所述当前体对象的所有相邻体,并建立所述当前体对象与所述相邻体之间的拓扑邻接关系。
39.具体的,选取所述当前体对象中任一所述内表面作为构建所述当前体对象的相邻体的起始搜索面,以完成其相邻体的构建;存储所述当前体对象与所述相邻体之间的拓扑邻接关系。
40.在具体实施时,以当前体s1中任一所述内表面为起始搜索面构建其相邻体,如图6中以面f2为起始搜索面构建体s2;并建立当前体s1与s2的拓扑邻接关系。
41.另外,当当前体有多个内表面时,继续以体s1其它内表面为起始搜索面依次构建其所有相邻体,直至体s1中所有内表面均被访问2次。
42.进一步的,遍历所有相邻体中的内表面,并依次以其内表面为起始搜索面,构建后续的相邻体,直至所有的体对象构建完成。
43.综上,本发明上述实施例中的室内空间三维拓扑关系构建方法,通过获取待构建室内空间体对象的离散面集合,并以公共边对面集合进行排序,在对面集合进行排序时,通过计算面的法向量积的方式直接确定面之间相对位置关系,避开了传统方法中通过计算面的绝对位置以确定面之间相对位置的思路,避免了相对繁琐的计算,提高了室内空间三维
拓扑关系构建的效率。解决了现有技术中在进行室内空间三维拓扑关系构建的效率低的问题。
44.实施例二请参阅图7,所示为本发明第二实施例中提出的室内空间三维拓扑关系构建系统,所述系统包括:面集合获取模块100,用于获取室内空间体对象的离散面集合,对所述离散面集合进行预处理,以使所述离散面集合中的所有面都在公共边拓扑相连;面集合排序模块200,用于区分所述离散面集合的内表面与外表面,依据三维空间向量积的性质对所述离散面集合中的面进行排序;体对象构建模块300,用于确定所述离散面集合的起始搜索面,通过所述起始搜索面搜索所述起始搜索面的最邻近面,以构建当前体对象;拓扑邻接关系构建模块400,用于构建所述当前体对象的所有相邻体,并建立所述当前体对象与所述相邻体之间的拓扑邻接关系。
45.进一步的,上述室内空间三维拓扑关系构建系统,其中,所述离散面集合获取模块具体用于:对所述离散面集合进行结点匹配以确定结点坐标;根据所述结点坐标以及所述离散面集合中原始多边形顶点顺序依次建立边与结点、环与边和面与环的层次组合关系,并构建边与面的关联关系。
46.进一步的,上述室内空间三维拓扑关系构建系统,其中,所述离散面集合排序模块具体用于:区分所述离散面集合的内表面与外表面,选取任一所述外表面为起始搜索面,并获取所述外表面的法向量;选定所述起始搜索面的一条边为公共边,获取所述离散面集合中与所述公共边关联的其他面的法向量;创建面集合排序序列,并根据所述外表面的法向量与所述其他面的法向量对所述离散面集合进行排序。
47.进一步的,上述室内空间三维拓扑关系构建系统,其中,所述当前体对象构建模块包括:记录单元,用于选取任一所述外表面为起始搜索面,将所述起始搜索面所包含的内环面加入当前体对象的记录中;构建单元,用于计算所述当前体对象中所有面的外环边的度,直至所有面外环边的度均为预设值,以完成所述当前体对象的构建。
48.进一步的,上述室内空间三维拓扑关系构建系统,其中,所述构建单元具体用于:若存在度为非预设值的边,则以该边所在的面为搜索面在该边进行最邻近面搜索,并将所述最邻近面加入当前体的记录中。进一步的,上述室内空间三维拓扑关系构建系统,其中,所述当前体对象构建模块还包括:遍历单元,用于若所述起始搜索面没有内环面,遍历所述起始搜索面的外环边,并计算所述外环边在所述离散面集合中边的度;判断所述外环边在所述离散面集合中边的度与度预设值之间的大小关系;
若所述外环边在所述离散面集合中边的度等于所述度预设值,将所述起始搜索面关联的面加入当前体的记录中;若所述外环边在所述离散面集合中边的度大于所述度预设值,将所述起始搜索面的最邻近面加入当前体的记录中。
49.进一步的,上述室内空间三维拓扑关系构建系统,其中,所述拓扑邻接关系构建模块具体包括:选取单元,用于选取所述当前体对象中任一所述内表面作为构建所述当前体对象的相邻体的起始搜索面,以完成所述相邻体的构建;建立单元,用于建立所述当前体对象与所述相邻体之间的拓扑邻接关系。
50.进一步的,上述室内空间三维拓扑关系构建系统,其中,所述拓扑邻接关系构建模块还包括:判断单元,用于判断所述当前体对象是否存在多个内表面,若是,则依次选取所述当前体对象的内表面分别作为构建多个相邻体的起始搜索面,直至所述当前体对象中所有内表面均被访问预设次数。
51.上述各模块被执行时所实现的功能或操作步骤与上述方法实施例大体相同,在此不再赘述。
52.实施例三本发明另一方面还提供一种可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述实施例一中所述的方法的步骤。
53.实施例四本发明另一方面还提供一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例一中所述的方法的步骤。
54.以上各个实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
55.本领域技术人员可以理解,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读存储介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读存储介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
56.计算机可读存储介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读存储介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器
中。
57.应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或它们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
58.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
59.以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献