顾及一致性的复杂三维建筑物模型剖切建模方法

文档序号:10471975阅读:378来源:国知局
顾及一致性的复杂三维建筑物模型剖切建模方法
【专利摘要】本发明涉及顾及一致性的复杂三维建筑物模型剖切建模方法,属于地理空间信息系统技术领域,技术方案包括以下步骤:剖分复杂三维建筑物模型中多形态类型表面对象为三角格网化且平面离散化的语义面对象集合,提供特征语义关系解析和几何计算的基础数据;分类提取语义面对象基础上的多层次特征语义关系,提供解析剖切计算单元的约束条件;解析正则几何形体化的原子语义实体集作为剖切计算单元;逐个剖切原子语义实体对象的几何形体,构建剖面并自顶向下逐层分类重构语义对象。本发明可以用于灵活创建直观展示复杂三维建筑物模型内部构造并支持模型结构间隐含关系解析计算的立体剖面模型,有助于发挥三维模型的数据价值。
【专利说明】
顾及一致性的复杂Ξ维建筑物模型剖切建模方法
技术领域
[0001] 本发明属于地理空间信息系统技术领域,特别设及一种顾及一致性的复杂Ξ维建 筑物模型剖切建模方法。
【背景技术】
[0002] 复杂Ξ维建筑物模型(Complex 3D Building Models)是外观高度逼真且内部结 构精细详尽的Ξ维建筑物模型。复杂Ξ维建筑物模型因具有对室内环境中建筑构件、构建 结构关系与语义信息的详尽描述,能支持专业领域应用所需丰富室内特征信息的查询与解 析,已成为±木工程、建筑设计、城市规划、公共安全管理与应急响应等各类数字地球和数 字区域建设专题地理空间信息系统广泛采用的基础数据模型。
[0003] 几何和语义是基于当前建筑信息模型(Building Information Modeling,BIM)主 流行业标准IFC、KML、IndoorGML和CityGML描述复杂Ξ维建筑物模型的两大构成要素。城市 地上下室内空间的精细化利用,使如展馆、购物中屯、、医院、机场等各类公共建筑的室内环 境日趋复杂,针对运些建筑的复杂Ξ维建筑物模型因此包含:①形态各异且交错分布的几 何结构,②几何结构间错综复杂的拓扑关系,W及③结构部件间丰富多样的语义关系。运些 日益增强的复杂性严重制约用户对模型所表达的虚拟室内场景中特征信息的透彻感知、直 观理解与数值分析。立体剖面模型作为一种能直观展示复杂模型内部构造并支持模型结构 间隐含关系解析计算的立体表现形式,因而逐步成为支持复杂Ξ维建筑物模型特征展示和 结构解析的重要内容。实时、灵活且准确的复杂Ξ维建筑物模型剖切建模方法由此成为地 理空间信息系统领域中提升模型应用分析能力的重要技术之一。
[0004] 数据内容的一致性是Ξ维模型数据质量的重要评价指标。作为包含复杂几何和丰 富语义的复杂Ξ维建筑物模型的特殊表现形式,立体剖面模型因此除了需要满足自身几何 与语义信息的一致性,还需要满足与原复杂Ξ维建筑物模型几何拓扑与语义关系的一致 性。能否实现顾及几何与语义一致性的剖面建模不仅决定了立体剖面模型的质量,也是利 用立体剖面模型对复杂虚拟室内场景进行科学计算可视化,特别是探索式解析分析的前提 条件。
[0005] 利用激光扫描或计算机辅助设计(Computer Aided Design,CAD)技术建模是当前 地理空间信息系统中获取并创建复杂Ξ维建筑物几何模型的主要技术手段。由运种建模方 式生成的复杂Ξ维建筑物模型具有W表面模型表达的共性特点;构成一个复杂Ξ维建筑物 模型的基本几何要素又具有①独立平面,②边界开放的规则网格曲面,或③构成有限封 闭空间正则几何形体且可参数化的网格曲面混合表达的多表面形态类型特征;在此基础 上,面向当前建筑信息模型主流行业标准进行的语义增强建模,也自然地W基本几何对象 为语义概念表达的基本粒度,并通过表面集合表示的方式支持建立在体或组几何结构上的 高层次语义概念的表达;根据对象表面构成的维度特点,运些语义概念可被划分为语义面 对象和语义实体对象。由于模型几何构成的复杂性W及不同层次语义对象间基本几何对象 的重叠和共用,复杂Ξ维建筑物模型具有多层次紧密相关的几何拓扑关系与语义关系,且 相关关系的复杂性随着模型复杂度的增大而增强。因此,面对现有各专业领域地理空间信 息系统中大量使用,W表面模型构成并具有多层次几何语义相关性的复杂Ξ维建筑物模 型,如何在顾及几何与语义一致性的前提下,实现实时、灵活且准确剖面建模成为发挥模型 数据价值的关键问题。
[0006] 现有面向表面模型的剖切方法主要集中在计算机图形图像处理领域,在工程施工 管理、地质分析和医学等计算机辅助设计/制造专题应用中较为广泛。相关方法主要面向具 有开放边界的连续2.5维表面模型面对象或构成有限封闭空间且满足正则形体(流形)的表 面模型,侧重剖面轮廓线的提取和子表面的重建;在一致性维护方面,则主要侧重子表面和 原表面对象几何数据结构的一致,W及子表面几何的完整性。总体来说,现有技术方法已经 能够实现网格量庞大且几何表面形态复杂的Ξ维模型剖切建模,该领域技术方法在下列文 献中均有论述:一种Ξ维地质模型的地质剖面输出方法,专利公开号:104299269Α;Ξ维网 格模型的剖切方法,专利公开号:CN 101441780Α;陈小桥,章虎,谢红生.Ξ角网格模型的快 速剖切方法[J].武汉理工大学学报,2010(21 ):119-122;李衷怡,赵新方.Ξ角网格剖切算 法的研究[J].计算机与数字工程,2007,35(3) :4-4;秦绪佳,侯建华.医学图像Ξ维重建模 型的剖切与立体视窗剪裁[J].计算机辅助设计与图形学学报,2002,14(3) :275-279;张小 青,吴坤华,黄鹤.基于Ξ角网格模型的剖面轮廓信息提取[J].测绘通报,2012(9) :26-28; Anglada Μ V.An improved incremental algorithm for constructing restricted Delaunay tri曰ngul曰tions[J].Computers&Gr曰phics,1997,21(2):215-223;Bruyns CD, Senger S.Interactive cutting of 3D surface meshes[J].Computers&Graphics,2001, 25(4):635-642;Ji Z,Liu L,Chen Z,et al.Easy mesh cutting[C]//Computer Graphics Forum.Blackwell Publishing,Inc,2006,25(3):283-291;Hoppe H.Efficient implementation of progressive meshes[J].Computers&Graphics,1998,22(1):27-36; Zhou Y,Chen W,Tang Z.An elaborate ambiguity detection method for constructing isosurfaces within tetrahedral meshes[J].Computers&Graphics,1995,19(3):355- 364;Nienhuys H W,van der Stappen A F.A Delaunay approach to interactive cutting in triangulated surfaces[M]//Algorithmic Foundations of Robotics V.Springer Berlin Heide化erg,2004:113-129。
[0007] 然而,不同于现有剖切方法所针对的几何数据量和几何表面形态复杂性,复杂Ξ 维建筑模型的复杂性在于几何与语义要素的综合构成上,不仅具有不同层次语义对象间形 态各异的基本几何对象的重叠和共用的特点,还具有多层次紧密相关的几何拓扑关系与语 义关系;模型中大量存在:
[0008] ①不同层次语义对象的几何表面间不完备的拓扑连接。完备的拓扑连接要求几何 表面相交于公共边,而复杂Ξ维建筑物模型中几何表面通常通过激光扫描点云逐面提取或 逐部件的CAD参数化建模建立,因此,原始模型存在大量不完备的拓扑连接面片;
[0009] ②体概念层次的语义对象在几何构成上的开放边界。如室内空间中的走廊等几何 边界半开放的语义连接对象或房间等包含口窗等不同语义层次开口的空间对象。
[0010] 而现有剖切建模方法面向单体几何对象设计,因此在处理由形态各异且交错分布 的独立平面或网格曲面综合构成的复杂Ξ维建筑模型时,只能首先对运些多样性形态的几 何对象逐一执行表面剖切操作;然后,在此基础上构建剖面W及重建剖面与原模型表面间 的拓扑与语义关系。在第二步处理过程中,上述不完备的拓扑连接和开放边界问题将导致 有效剖面信息的丢失,直接影响立体剖面模型的几何完整性,并影响正确拓扑关系和完备 语义关系的自动重构,因此现有几何图形剖切技术也就难W实现顾及一致性的复杂Ξ维建 筑物模型自动剖切建模。

【发明内容】

[0011] 本发明的目的在于针对现有技术的不足,面向几何构成上由多形态类型表面对象 混合表达且具有多层次紧密相关拓扑关系与语义关系的复杂Ξ维建筑物模型,提供一种顾 及几何与语义一致性的自动化剖切建模方法。所述一致性具体是指通过剖切建模方法生成 的立体剖面模型能够满足自身几何与语义构成的完整性、拓扑关系与语义关系的正确性W 及与原模型在几何与语义上对象及关系的匹配性。
[0012] 本发明解决其技术问题所采用的技术方案是:顾及一致性的复杂Ξ维建筑物模型 剖切建模方法,包括W下步骤:
[0013] 1)读取构成Ξ维建筑物模型的多形态类型表面对象集及其带有的多层次语义信 息,逐一将多形态类型表面对象剖分为几何形体表达维度和语义概念描述粒度统一的语义 表面对象集;
[0014] 2)提取剖分后的语义表面对象集关联的语义信息,根据语义对象的嵌套包含关系 建立语义对象的层次结构;分类提取相邻层次语义对象间的语义组合关系和语义聚合关 系;
[0015] 3)利用语义组合关系和语义聚合关系,从语义表面对象集中解析原子语义实体 集,并正则形体化各原子语义实体的几何形体;
[0016] 4)利用设定的剖切面对象,逐个剖切原子语义实体几何形体的同时构建剖面,并 根据层次结构、自顶向下逐层分类重构语义对象。
[0017] 所述逐一将多形态类型表面对象剖分为几何形体表达维度和语义概念描述粒度 统一的语义表面对象集包括W下步骤:
[0018] 步骤2.1,根据几何形态类型和所关联的最低层次语义粒度将表面划分为Ξ种类 型:
[0019] d)关联语义面的网格平面;
[0020] e)关联语义面且边界开放的网格曲面;
[0021] f)关联语义实体且构成有限封闭空间的网格曲面;
[0022] 步骤2.2,根据不同的表面类型进行剖分操作,对网格平面进行Ξ角格网化。
[0023] 所述利用语义组合关系和语义聚合关系,从语义表面对象集中解析原子语义实体 集,并正则形体化各原子语义实体的几何形体包括W下步骤:
[0024] 步骤3.1,提取原子语义实体对象集:根据模型中的多层次语义聚合关系,从语义 表面对象集中逐个提取多层次语义聚合关系中最低层次的语义实体,标记为原子语义实体 对象;
[0025] 步骤3.2,正则形体化原子语义实体:利用语义组合关系,从步骤3.1提取的原子语 义实体对象集中逐个提取原子语义实体的几何表面,从W下步骤中选择相应正则化的具体 修正操作:
[0026] 步骤3.2a,对具有语义聚合关系的两两原子语义实体对象,通过插入交边修正几 何表面间不完备的拓扑连接,包括W下子步骤:
[0027] I)提取任意两个原子语义实体对象的几何表面集合;
[0028] II)依次得到表面集合间两两表面对象的交线段,分别保存交线段到相交表面;
[0029] III)遍历两原子语义实体对象的每个表面;在W原有点和边为基本特征的同时, W交线段为约束特征,进行特征约束的Ξ角剖分计算,得到交边修正的几何表面;
[0030] 步骤3.化,对每个原子语义实体,通过插入填充面修正几何表面间的开放边界,包 括W下子步骤:
[0031] IV)提取原子语义实体几何表面集合;
[0032] I)提取每个几何平面的边界轮廓线,保存为线段数组;
[0033] II)遍历每个线段数组,提取只出现一次的线段集合;
[0034] IV)在只出现一次的线段集合中捜索封闭多边形,直到集合中所有线段被使用过;
[0035] V)根据不同的表面类型进行剖分操作,Ξ角平面化每一个封闭多边形;将Ξ角平 面化的多边形网格作为原子语义实体正则形体化的填充面。
[0036] 所述根据不同的表面类型进行剖分操作包括W下步骤:
[0037] 步骤1.2a,对关联语义面的网格平面对象,W原始格网表面中的顶点为特征点,W 原始格网表面中的边为特征边直接对网格平面进行Ξ角格网化;
[0038] 步骤1.化,对关联语义面且边界开放的网格曲面对象,执行W下子步骤:
[0039] I)根据网格单元的法向和邻接边划分网格曲面为多个网格平面;
[0040] II)将所划分出的每个网格平面构建为一个表面对象,每个表面对象完整继承原 网格曲面所关联的各层次语义信息;
[0041] III)对每个划分出的表面对象,W表面对象中存在于原始格网表面中的顶点为特 征点,W表面对象中存在于原始格网表面中的边为特征边直接对网格平面进行Ξ角格网 化;
[0042] 步骤Ic,对关联语义实体且构成有限封闭空间的网格曲面对象,执行W下子步骤:
[0043] I)根据网格单元的法向和邻接边划分网格曲面为多个网格平面;
[0044] II)基于网格曲面对象所关联的语义实体对象,创建相对于语义实体对象低一层 次的语义面对象概念并插入原网格曲面所关联的各层次语义信息中;
[0045] III)将所划分出的每个网格平面构建为一个表面对象,每个表面对象完整继承插 入语义面对象之后的各层次语义信息;
[0046] IV)对每个划分出的表面对象,W表面对象中存在于原始格网表面中的顶点为特 征点,W表面对象中存在于原始格网表面中的边为特征边直接对网格平面进行Ξ角格网 化。
[0047] 所述步骤3.2中正则形体化原子语义实体后,还修正原子语义实体集的室内空间 覆盖,从W下步骤中选择具体的修正操作:
[0048] 步骤3.3a,对两两原子语义实体对象,体素边界收缩至消除对象间的空间重叠;
[0049] 步骤3.3b,对两两相邻原子语义实体对象,体素局部边界膨胀至填充原子语义实 体间的空隙。
[0050] 所述利用设定的剖切面对象,逐个剖切原子语义实体几何形体的同时构建剖面包 括w下步骤:
[0051 ]步骤4.1,几何求交:计算设定的剖切面与原子语义实体对象几何表面的交线段;
[0052] 步骤4.2,表面剖分:在W原有点和边为基本特征的同时,W交线段为约束特征;分 别对产生交线的剖面Ξ角形和原子语义实体对象的几何表面进行Ξ角剖分计算,得到步骤 4.1所得交线段约束的剖面Ξ角网和原子语义实体对象的几何表面;
[0053] 步骤4.3,表面分割:通过构建BSP树分割剖分后的剖面和原子语义实体对象的表 面对象集;根据表面对象集中待分割表面与分割空间所属关系,从W下步骤中选择具体操 作:
[0054] 步骤4.3a,构建剖切面的BSP树,BSP树将空间分割为W带有方向属性的剖切面为 边界的正向空间space+和反向空间space-;将原子语义实体对象的几何表面划分为分别对 应剖切面正向空间和反向空间的两组分割表面集BSspace+和BSspace-;
[0055] 步骤4.3b,构建原子语义实体对象几何表面的BSP树,所述BSP树将空间分割为W 几何表面为边界的形体内空间spacein和形体外空间spaceout;提取表面剖分后剖切面在 spacein中的Ξ角网格集创建为原子语义实体的几何剖面对象BSsection;
[0056] 步骤4.4,形体重构:通过步骤4.3获得的BSspace+、BSspace-,W及BSsecticm,重建剖切 后原子语义实体相对于剖切面的两部分几何形体,具体执行W下分组:
[0057] 步骤4.4a,直接组合BSspace-和BSsectinn为原子语义实体对应space-的几何形体;
[0化引步骤4.4b,通过逆序排列BSsection中各Ξ角形顶点,包I建与BSsection表面方向相反的 表面集BSseetiDn-;组合BSspaee+和BSseetiDn-为原子语义头体对应Space +的几何形体。
[0059] 所述根据层次结构、自顶向下逐层分类重构语义对象包括W下步骤:
[0060] 步骤4.5,创建剖面对象的语义节点,具体执行W下步骤:
[0061] I)依据几何相交的表面对象,自底向上判别并标记步骤2建立的语义对象层次结 构中各层次相交的语义节点为nodecut;
[0062] II)在每一个nodecut的原子语义实体节点下,插入一个关联相应几何剖面BSsection 的语义面对象nodesection;
[0063] 步骤4.6,层次分解语义节点,具体执行W下步骤:
[0064] I)分别创建对应space+和space-的立体剖面模型对象Mspace+和Mspace-;
[0065] II)自顶向下,逐层遍历原模型各层次中的语义实体节点,根据节点的nodecut标 记,分类执行W下处理步骤:
[0066] a)对于每一个nodecut语义实体节点,分别拷贝SjMspace+和Mspace-下;
[0067] b)对于其余节点,根据其关联的几何对象与space+或space-的隶属关系拷贝到相 应 Mspace+或 Mspace-下;
[006引在遍历并分解所有语义实体节点后,分别恢复Mspace+和Mspace-中各结点在原模型中 的语义聚合关系;
[0069] III)遍历组合为各原子语义实体节点的语义面节点,根据节点的node。。*标记,分 类执行W下处理步骤:
[0070] a)对于原节点集合中每一个nodecut语义面节点,分别拷贝到Mspace+和Mspace-中;同 时,分别关联表面剖分后划分到space+和space-的几何对象;
[0071] b)对于原节点集合中没有标记nodecut语义面节点,根据其关联的几何对象与 space+或space-的隶属关系,拷贝到相应Mspace+和Mspace-下并保留其几何关联倍息;
[00巧 C)对于新插入的nodesection节点,分别拷贝SjMspace +和Mspace-中;同时,分别关联几 何对象BSseGtinn-和BSseetion ;
[0073] 在遍历处理每个原子语义实体节点所关联的语义面节点后,分别在Mspaee+和Mspace- 中,恢复其与相应语义实体节点的语义组成关系
[0074] 本发明具有W下有益效果及优点:
[0075] 1.为现有各专业领域地理空间信息系统中大量使用,W表面模型构成并具有多层 次几何语义相关性的复杂Ξ维建筑物模型,提供一种能够顾及几何与语义一致性的立体剖 面模型自动构建方案。
[0076] 2.解决了现有几何图形剖切算法缺乏处理"复杂Ξ维建筑物模型多形态类型表面 构成中几何形体的维度和语义概念的描述粒度不匹配,且存在对象间不完备拓扑链接和开 放边界"的方案,进而无法自动创建完整剖面并无法正确重建剖面模型拓扑关系和语义关 系的问题。
[0077] 3.本发明方法可W适用于利用任意形态的剖面,灵活创建直观展示复杂Ξ维建筑 物模型内部构造并支持模型结构间隐含关系解析计算的立体剖面模型,有助于发挥Ξ维模 型的数据价值。
【附图说明】
[0078] 图1为本发明的总体流程图;
[0079] 图2为本发明的表面结构剖分子流程图.
[0080] 图3为本发明的语义实体解析子流程图;
[0081 ]图4为本发明的语义实体剖切子流程图;
[0082] 图5a为本发明实施例的一个待剖切复杂Ξ维建筑模型示意图;
[0083] 图化为本发明实施例的一个折剖面立体剖切建模结果示意图。
【具体实施方式】
[0084] 下面结合实施例对本发明做进一步的详细说明。
[0085] 本发明设及一种顾及一致性的复杂Ξ维建筑物模型剖切建模方法,属于地理空间 信息系统技术领域,技术方案包括W下步骤:a)剖分复杂Ξ维建筑物模型中多形态类型表 面对象为Ξ角格网化且平面离散化的语义面对象集合,提供特征语义关系解析和几何计算 的基础数据;b)分类提取语义面对象基础上的多层次特征语义关系,提供解析剖切计算单 元的约束条件;C)解析正则几何形体化的原子语义实体集作为剖切计算单元;d)逐个剖切 原子语义实体对象的几何形体,构建剖面并自顶向下逐层分类重构语义对象。本发明精神 的核屯、是在统一复杂Ξ维建筑物模型构成元素几何形体表达维度和语义概念描述粒度的 基础上,分类归纳、解析并充分利用模型中的语义关系特征,提取正则形体化的原子语义实 体作为剖切计算的基本数据粒度,解决现有几何图形剖切方法无法自动创建复杂Ξ维建筑 物模型完整剖面,进而无法正确重建立体剖面模型几何拓扑关系和语义关系的问题;可W 用于灵活创建直观展示复杂Ξ维建筑物模型内部构造并支持模型结构间隐含关系解析计 算的立体剖面模型,有助于发挥Ξ维模型的数据价值。
[0086] 本发明的技术方案包括W下步骤:
[0087] 步骤1,表面结构剖分:打开一个复杂Ξ维建筑物模型的同时,提取模型构成中关 联多层次语义信息的表面对象集;逐一剖分多形态类型表面对象为统一数据结构、统一表 面形态类型和统一基本语义粒度的语义对象集合。所述统一数据结构指ΚΞ角形为核屯、的 格网数据结构;所述统一表面形态类型指由连续格网单元构成的平面;所述统一基本语义 粒度指复杂Ξ维建模物模型语义对象语义面-语义实体类型划分中的语义面对象。保存剖 分后关联多层次语义信息的表面对象集作为步骤2和步骤3所利用的基础数据。
[0088] 步骤2,语义关系解析:提取结构剖分后的表面对象集关联的语义信息,根据语义 对象的包含关系在内存中建立语义对象的层次结构;判断并分类提取相邻层次语义对象间 的语义关系。自底向上依次提取的语义关系包括"语义面和语义实体之间的语义组合关系" W及"语义实体之间的语义聚合关系"。保存语义关系类型作为步骤3所利用的(约束)参考 信息。
[0089] 步骤3,语义实体解析:利用步骤2解析确定的两类语义关系,从步骤1剖分得到的 Ξ角格网化且平面离散化的语义表面对象集中,解析完整表达复杂Ξ维建筑物模型的原子 语义实体集并正则形体化各原子语义实体的几何表达。所述原子语义实体指在复杂Ξ维建 筑物模型内部占据连续几何空间且在语义概念上不能再细分的语义实体;所述原子语义实 体集指W原子语义实体对象为元素的语义实体对象集,且集合元素完整而无重叠地覆盖复 杂Ξ维建筑物模型内部空间。解析获得的正则形体化的原子语义实体作为步骤4中执行剖 切计算的基本数据粒度。
[0090] 步骤4,语义实体剖切:根据交互式指定的剖切线/面/体和剖切方向构建Ξ角格网 化的几何剖切面对象;逐个剖切原子语义实体的几何形体并自顶向下逐层重构语义对象。 所述交互式方式包括通过文件读入的间接方式和在虚拟场景中直接创建内存对象的方式; 所述剖切方向包括相对于剖切面的正向和反向。保存立体剖面模型作为已知信息,用于对 虚拟室内场景进行科学计算可视化和探索式解析分析。
[0091] 而且,所述步骤1中,多形态类型表面对象结构剖分的实现方式包括W下子步骤:
[0092] 步骤1.1,根据几何形态类型和所关联的最低层次语义粒度(语义面或语义实体) 将表面划分为Ξ种类型:
[0093] a)关联语义面的网格平面;
[0094] b)关联语义面且边界开放的网格曲面;
[0095] C)关联语义实体且构成有限封闭空间的网格曲面;
[0096] 步骤1.2,根据不同表面类型从W下步骤中选择相应剖分操作的实现方式:
[0097] 步骤1.2a,对关联语义面的网格平面对象:直接对网格平面进行Ξ角格网化 (Triangulation);所述Ξ角格网化W原始格网表面中的顶点为特征点,W原始格网表面中 的边为特征边;采用图形学Ξ角剖分通用技术,包括经典Delaunays角剖分算法及各类特 征约束的改进Ξ角剖分算法中的一种或多种组合实现。
[0098] 步骤1.化,对关联语义面且边界开放的网格曲面对象,执行W下子步骤:
[0099] I)根据网格单元的法向和邻接边划分网格曲面为多个网格平面;
[0100] II)将所划分出的每个网格平面构建为一个表面对象,每个表面对象完整继承原 网格曲面所关联的各层次语义信息;
[0101] III)对每个划分出的表面对象执行步骤1.2a操作;
[0102] 步骤1.2c,对关联语义实体且构成有限封闭空间的网格曲面对象,执行W下子步 骤:
[0103] I)根据网格单元的法向和邻接边划分网格曲面为多个网格平面;
[0104] II)基于网格曲面对象所关联的语义实体对象,创建比语义实体对象低一层次的 语义面对象,并插入原网格曲面所关联的各层次语义信息中;
[0105] III)将所划分出的每个网格平面构建为一个表面对象,每个表面对象完整继承插 入语义面对象之后的各层次语义信息;
[0106] IV)对每个划分出的表面对象执行步骤1.2a操作;
[0107] 而且,所述步骤3中,原子语义实体集解析并正则形体化的实现方式包括W下子步 骤:
[0108] 步骤3.1,提取原子语义实体对象集:根据步骤2记录的语义聚合关系,逐个提取最 低聚合层次的语义实体,标记为原子语义实体对象。
[0109] 步骤3.2,正则形体化原子语义实体:利用步骤2记录的语义组合关系,逐个提取原 子语义实体的几何表面,并根据表面特征,从W下步骤中选择相应正则化的具体修正操作:
[0110] 步骤3.2a,对具有语义聚合关系的两两原子语义实体对象,通过插入交边修正几 何表面间不完备的拓扑连接,执行W下子步骤:
[0111] I)提取两两原子语义实体对象的几何表面集合;
[0112] II)采用图形学多边形矢量求交通用技术的一种或多种组合,依次计算表面集合 间两两表面对象的交线段,分别保存交线段到相交表面;
[0113] III)遍历两原子语义实体对象的每个表面,采用图形学中特征约束的Ξ角剖分通 用技术的一种或多种组合,W交线段为约束特征,依次进行Ξ角剖分计算;
[0114] 步骤3.化,对每个原子语义实体,通过插入填充面修正几何表面间的开放边界,执 行W下子步骤:
[0115] I)提取原子语义实体几何表面集合;
[0116] II)提取每个几何平面的边界轮廓线,保存为线段数组;
[0117] III)遍历每个线段数组,提取只出现一次的线段集合;
[0118] IV)在只出现一次的线段集合中捜索封闭多边形,直到集合中所有线段被使用;
[0119] V)采用步骤1.2所述方法,Ξ角平面化每一个封闭多边形;将Ξ角平面化的多边形 网格作为原子语义实体正则形体化的填充面;
[0120] 步骤3.3,修正原子语义实体集室内空间覆盖的完备性。基于正则形体边界体素化 原子语义实体的空间覆盖范围,根据体素集的空间关系,从W下步骤中选择具体的修正操 作:
[0121] 步骤3.3a,对两两原子语义实体对象,通过体素局部边界收缩消除对象间的空间 重叠;
[0122] 步骤3.3b,对两两相邻原子语义实体对象,通过体素局部边界膨胀填充原子语义 实体间的空隙。
[0123] 而且,所述步骤4中,几何形体剖切的实现方式包括W下子步骤:
[0124] 步骤4.1,几何求交:采用图形学多边形矢量求交通用技术的一种或多种组合,计 算剖切面与原子语义实体对象几何表面的交线段;优选地,在求交前,建立原子语义实体集 的空间索引,用于快速相交检测。
[0125] 步骤4.2,表面剖分:采用图形学中特征约束的Ξ角剖分通用技术,包括各类特征 约束的Delaunays角剖分算法中的一种或多种组合,W交线段为约束特征,分别对产生交 线的剖面Ξ角形和原子语义实体对象的几何表面进行Ξ角剖分计算。
[0126] 步骤4.3,表面分割:通过构建二叉空间分割树(BSP树),分割剖分后的表面对象 集;根据表面与分割空间所属关系,从W下步骤中选择具体操作:
[0127] 步骤4.3a,构建剖切面的BSP树,所述BSP树将空间分割为W带有方向属性的剖切 面为边界的"正向空间(space+r和"反向空间(space-)";将原子语义实体对象的几何表面 划分为分别对应剖切面正向空间和反向空间的两组分割表面集BSspace+和BSspace-;
[0128] 步骤4.3b,构建原子语义实体对象几何表面的BSP树,所述BSP树将空间分割为W 几何表面为边界的"形体内空间(spacein)"和"形体外空间(spaceoutr ;提取表面剖分后剖 切面在spacein中的Ξ角网格集创建为原子语义实体的几何剖面对象BSsection。
[0129] 步骤4.4,形体重构:通过分组组合步骤4.3操作获得的表面分割集,重建剖切后原 子语义实体相对于剖切面的两部分几何形体,具体执行W下分组:
[0130] 步骤4.4a,直接组合BSspaee-和BSseeti。。为原子语义实体对应space-的几何形体;
[0131] 步骤4.4b,通过逆序排列BSsection中各Ξ角形顶点,包I建与BSsection表面方向相反的 表面集BSseGtinn-;组合BSspaee+和BSseGtinn-为原子语义头体对应space +的几何形体;
[0132] 而且,所述步骤4中,语义对象重构的实现方式包括W下子步骤:
[0133] 步骤4.5,创建剖面对象的语义节点。具体执行W下步骤:
[0134] I)依据步骤4.1中计算获得的几何相交的表面对象,自底向上判别并标记步骤2建 立的语义对象层次结构中各层次相交的语义节点为nodecut;
[01巧]II)在每一个nodecut的原子语义实体节点下,插入一个关联相应几何剖面BSsection 的语义面对象nodesection 〇
[0136] 步骤4.6,层次分解语义节点。具体执行W下步骤:
[0137] I)分别创建对应space+和space-的立体剖面模型对象Msp3Ge+,Mspace-;
[0138] II)自顶向下,逐层遍历原模型各层次中的语义实体节点,根据节点的nodecut标 记,分类执行W下处理步骤:
[0139] a)对于每一个nodecut语义实体节点,分别拷贝SjMspace+和Mspace-下;
[0140] b)对于其余节点根据其关联的几何对象与space+或space-的隶属关系拷贝到相 应 Mspace+或 Mspace-下;
[0141] 在遍历并分解所有语义实体节点后,分别恢复Mspace+和Mspace-中各结点在原模型中 的语义聚合关系;
[0142] III)遍历组合为各原子语义实体节点的语义面节点,根据节点的nodeeut标记,分 类执行W下处理步骤:
[01创 a)对于原节点集合中每一个nodecut语义面节点,分别拷贝到Mspace +和Mspace-中;同 时,分别关联表面剖分后划分到space+和space-的几何对象;
[0144] b)对于原节点集合中没有标记nodecut语义面节点,根据其关联的几何对象与 space+或space-的隶属关系,拷贝到相应Mspace+或Mspace-下并保留其几何关联倍息;
[0145] C)对于新插入的nodesection节点,分别拷贝SjMspace +和Mspace-中;同时,分别关联几 何对象BSseGtinn-和BSseetion ;
[0146] 在遍历处理每个原子语义实体节点所关联的语义面节点后,分别在Mspaee+和Mspace- 中,恢复其与相应语义实体节点的语义组成关系。
[0147] 本发明面向几何构成上由多形态类型表面对象混合表达且具有多层次紧密相关 拓扑关系与语义关系的复杂Ξ维建筑物模型,提供一种顾及几何与拓扑一致性的剖切建模 方法。
[0148] 本发明技术方案的原理是:针对现有复杂Ξ维建筑物模型多形态类型表面构成中 几何形体的维度和语义概念的描述粒度不匹配,且存在对象间不完备拓扑链接和开放边 界,导致现有几何图形剖切算法在自动建立满足几何与拓扑一致性的立体剖面建模上能力 不足的问题,在统一模型构成元素几何形体表达维度和语义概念描述粒度的基础上,分类 归纳、解析并充分利用模型中的语义关系特征,提取完整表达复杂Ξ维建筑物模型且正则 形体化的原子语义实体集作为剖切计算的基本粒度数据集;在此基础上实现几何剖切并基 于语义层次关系,自底向上逐层分类重构语义对象。本发明方案不仅能支持对复杂建筑模 型任意形状与角度的自动剖切建模,实现对复杂建筑模型内部场景的全方位展示;更能使 通过剖切建模方法生成的立体剖面模型能够满足自身几何与语义构成的完整性、拓扑关系 与语义关系的正确性W及与原模型在几何与语义上对象及关系的匹配性。从而解决现有几 何图形剖切方法无法自动创建完整剖面,进而无法正确重建立体剖面模型几何拓扑关系和 语义关系的局限,支持在虚拟Ξ维场景中对剖面和剖切重构后的立体剖面模型执行几何度 量、语义查询W及模型结构间隐含关系解析计算等探索式Ξ维空间分析与可视化应用。
[0149] 本发明方法中,原子语义实体指在复杂Ξ维建筑物模型内部占据连续几何空间且 在语义概念上不能再细分的语义实体;所述原子语义实体集指W原子语义实体对象为元素 的语义实体对象集。作为剖切计算基本粒度数据集的原子语义实体集中所有元素满足完整 而无重叠地覆盖复杂Ξ维建筑物模型内部空间的特征。
[0150] W下结合实施例并附图详细说明本发明技术方案。
[0151] 如图1所示,本发明方法的总体步骤流程是:首先,剖分复杂Ξ维建筑物模型中多 形态类型表面对象为Ξ角格网化且平面离散化的语义面对象集合,统一几何形体的表达维 度和语义概念的描述粒度,提供语义关系特征解析和几何计算形式统一的基础数据;然后, 在构建语义对象层次关系并充分归纳模型中的语义关系特征的基础上,分类提取复杂Ξ维 建筑物模型多层次语义概念间的组合关系与聚合关系,作为解析原子语义实体的约束条 件;之后,利用语义关系解析原子语义实体集,并通过逐个修正原子语义实体对象的拓扑链 接和开放边界实现其几何表达的正则形体化,作为剖切计算单元;最后,利用指定的剖切 线/面/体和剖切方向创建的剖切面对象,逐个剖切原子语义实体对象几何形体的同时构建 剖面,并在此基础上根据所构建的原模型语义层次,自顶向下逐层分类重构语义对象。
[0152] 本发明实施例的实现过程采用计算机自动实现自动化处理,包括W下具体步骤:
[0153] 步骤1,表面结构剖分。打开待剖切的原始复杂Ξ维建筑物模型文件,在完整读取 构成模型的多形态类型表面对象集及其带有的多层次语义信息后,逐一将多形态类型表面 对象剖分为几何形体表达维度和基本语义概念描述粒度统一的对象集:在几何上,将表面 统一剖分为由Ξ角格网数据结构表达的面对象,且每个面对象满足由连续Ξ角形构成的平 面形态;在语义上,将基本语义粒度统一剖分为与Ξ角格网化、平面离散化的几何表面相对 应的语义面对象。Ξ角形格网具有能W任意精度表达任意复杂的曲面的优点,是现有几何 造型领域的主流数据结构,本发明因此基于Ξ角形格网数据结构,用于支持灵活采用现有 几何图形处理通用方法执行剖切建模处理过程中的解析计算操作并支持处理结构的存储 共享;同时,本发明限定平面化的基本表面形态用于降低具体求交、剖分、空间划分等各几 何处理实施过程中的计算维度,保证计算机自动化几何处理的计算效率和稳定性;此外,本 发明采用与几何表面相对应的语义面作为统一基本语义粒度用于提供语义关系解析的基 础特征结构。
[0154] 为不失一般性且便于实施,本实施例采用的Ξ角形格网数据结构W顶点集合和顶 点索引列表为核屯、并关联材质、纹理等信息。实施例Ξ角形格网采用的内存对象结构如下:
[0155]
[0157] 利用上述对象中的顶点集合和顶点索引可直接通过顶点索引定位并获取Ξ角形 图元信息用于几何计算处理;此外,作为优选方案,在处理由大量Ξ角格网表面构成的复杂 建筑部件时,还可基于上述顶点集合和顶点索引进一步建立"复杂建筑物Ξ维模型多分辨 率建模方法"(专利申请号:200810048921.x;公开号:101655993)中提出的角形为核屯、 且带有语义信息的半边数据结构,提高大数据量图元的捜索效率;对象中的材质、纹理信息 用于在支持立体剖面模型数值解析分析的同时,还能支持模型的真实感可视化展示和探索 式可视分析应用。
[0158] 如图2所示,面向上述表面结构,本发明实施例的多形态类型表面对象剖分具体通 过W下步骤实现:
[0159] 步骤1.1,根据几何形态类型和所关联的最低层次语义粒度特征将表面划分为Ξ 种类型:
[0160] a)关联语义面的网格平面;
[0161] b)关联语义面且边界开放的网格曲面;
[0162] c)关联语义实体且构成有限封闭空间的网格曲面;
[0163] 结合表面对象的几何与语义特征,通过W下具体步骤自动判别原模型中任一表面 对象所属类型:
[0164] 判断几何表面形态类型,执行W下子步骤:
[0165] I)利用顶点索引,依次逐个提取Ξ角形网格单元的两条边;
[0166] II)根据边计算Ξ角形网格单元的法向量并归一化;
[0167] ΠΙ)从第n(n〉l)个Ξ角形网格单元开始,计算第η个和第n-1个Ξ角形网格单元法 向量的夹角,并根据预先给定的系统角度容差,通过判断法向量的同向性,判断第η个和第 η-1个Ξ角形网格单元是否共面;
[0168] IV)当出现不共面的Ξ角形网格单元,则停止判断,标记该表面对象为网格曲面; 否则,表面对象中所有Ξ角形网格单元均共面,标记该表面对象为格网平面。
[0169] 判断最低层次语义粒度,执行W下子步骤:
[0170] V)提取与几何表面直接关联的语义对象作为其最低层次语义粒度;
[0171] VI)将主流行业标准^(:、碰1^、111(1〇〇'6肥和(:117611^中的语义对象归纳为语义面对 象和语义实体对象两大类,本实施例中设及的语义对象分类如下:
[0172] +语义面对象
[0173] +室内表面(Inter boundaiy surface)
[0174] + 内墙面(Inter wall)
[01巧]+ 结构面(Lateral surface)
[0176] + 地板面化1〇〇1·)
[0177] + 天花板面(Ceiling)
[0178] + 室外表面(Outer boundaiy surface)
[0179] + 外墙面(Outer wall)
[0180] + 地面(Ground)
[0181] + 屋顶面(Roof)
[0182] +语义实体对象
[0183] + 结构体(St;ruc1:ure)
[0184] + 墙体(Wall)
[01 化]+ 外装饰部件(Outer building ins1:allation)
[01 化]+ 内装饰部件(Inter building installation)
[0187] + 实体口 (Door)
[0188] + 实体窗(Window)
[0189] +空间体(Space)
[0190] + 口厅(Hall)
[0191] + 房间(Room)
[0192] + 楼梯间(Sl:ai;rcase)
[0193] + 电梯间(Corridor)
[0194] + 楼层(Storey)
[01%] VII)根据与几何表面直接关联的语义对象所述类别,标记各表面为语义面或语义 体;
[0196] 步骤1.2,根据不同表面类型从W下步骤中选择相应剖分操作的实现方式:
[0197] 步骤1.2a,对关联语义面的网格平面对象:直接对网格平面进行Ξ角格网化 (Triangulation),将整个格网平面转换为一个C3DTriangleMesh对象,并使对象继承原格 网平面所关联的各层次语义信息。本实施例采用"Ξ维网格模型的剖切方法"(专利申请号: 200810197509.4;公开号:101441780)中提出的模型转换装置,对原格网平面实施逐格网单 元Ξ角格网化;保存各Ξ角形信息到顶点数组和顶点索引数组,对于关联纹理信息的格网 平面,进一步通过线性内插,计算顶点数组中各点对应的纹理坐标。
[0198] 步骤1.化,对关联语义面且边界开放的网格曲面对象,执行W下子步骤:
[0199] I)根据Ξ角形网格单元的法向和邻接边划分网格曲面为多个网格平面;
[0200] II)将所划分出的每个网格平面构建为一个表面对象,每个表面对象完整继承原 网格曲面所关联的各层次语义信息;
[0201] III)对每个划分出的表面对象执行步骤1.2a操作;
[0202] 步骤1.2c,对关联语义实体且构成有限封闭空间的网格曲面对象,执行W下子步 骤:
[0203] I)根据Ξ角形网格单元的法向和邻接边划分网格曲面为多个网格平面;
[0204] II)基于网格曲面对象所关联的语义实体对象,创建比语义实体对象低一层次的 语义面对象概念并依据层次插入原网格曲面所关联的各层次语义信息中;为了便于实施, 本发明实施例依据模型设及的语义对象,给出对各语义实体所对应的低层次语义面对象类 型如下:
[0205] +语义实体对象
[0206] + 结构体(St;ruc1:ure)
[0207] + 墙体(Wall)
[020引 + 内墙面(Inter wall)
[0209] + 外墙面(Outer wall)
[0210] + 外装饰部件(Outer building installation)
[0211] + 结构面(Lateral surface)
[0212] + 内装饰部件(Inter building installation)
[0213] + 结构面(Lateral surface)
[0214] + 实体 Π (Door)
[0215] + 结构面(Lateral surface)
[0216] + 实体窗(Window)
[0217] + 结构面(Lateral surface)
[0218] + 空间体(Space)
[0219] +Π 厅(化11)
[0220] + 内墙面(Inter wall)
[0221] + 地板面(Floor)
[0222] + 天花板面(Ceiling)
[0223] +房间(Room)
[0224] + 内墙面(Inter wall)
[02 巧]+ 地板面Floor)
[02%] + 天花板面(Ceiling)
[0227] + 楼梯间(Sl:ai;rcase)
[022引 + 内墙面(Inter wall)
[02巧]+地板面(Floor)
[0230] + 天花板面(Ceiling)
[0231] +电梯间(Corridor)
[0232] + 内墙面(Inter wall)
[0233] + 地板面(Floor)
[0234] + 天花板面(Ceiling)
[0235] III)将所划分出的每个网格平面构建为一个表面对象,每个表面对象完整继承插 入语义面对象之后的各层次语义信息;
[0236] IV)对每个划分出的表面对象执行步骤1.2a操作;
[0237] 保存剖分后统一了几何形体表达维度和语义概念基本描述粒度,并关联多层次语 义信息的表面对象集,作为步骤2中特征语义关系解析和步骤3几何计算所利用的基础数 据。
[0238] 步骤2,语义关系解析。提取结构剖分后的表面对象集关联的语义信息,根据语义 对象的包含关系在内存中建立语义对象的树形层次结构。
[0239] 本实施例构建的语义对象树,有且只有一个根节点,所述根节点描述实施例中待 处理的复杂Ξ维建筑物模型整体;根节点包含多个层次的树干节点,所述各层次树干节点 对应构成复杂Ξ维建筑物模型不同层次的语义实体对象;叶子节点统一对应语义面对象。 对实施例构建的树形语义层次结构关系在内存中通过节点对象保存的前驱和后继指针描 述;在独立提取并使用某一节点时,通过基于域名系统(Domain化me System,DNS)的语义 对象命名来指示层次关系;所述基于DNS的命名遵循任一节点语义名称唯一的原则;实施例 中独立描述的语义面示例如下:<二层小楼建筑模型〉·<一楼〉·<房间103〉.<内墙面0013 〉。
[0240] 在构建语义对象层次结构的基础上,分类提取并标记相邻层次语义对象间的语义 关系。自底向上依次标记两类语义关系:
[0241] a)语义面和语义实体之间的语义组合关系:如实施例中<房间103〉-组合-<内墙面 0013〉;
[0242] b)语义实体之间的语义聚合关系:如实施例中< 二层小楼建筑模型〉-聚合-< 一楼 〉; <一楼〉-聚合-<房间103〉。
[0243] 保存语义关系类型标记作为步骤3解析剖切计算单元所执行各子步骤中分别利用 的参考条件。
[0244] 步骤3,语义实体解析。利用步骤2解析确定的两类语义关系,从步骤1剖分得到的 Ξ角格网化且平面离散化的语义表面对象集中,解析完整表达复杂Ξ维建筑物模型的原子 语义实体集,并对每个原子语义实体进行正则形体化的几何修正。
[0245] 如图3所示,本发明实施例的原子语义实体集解析并正则形体化具体通过W下步 骤实现:
[0246] 步骤3.1,提取原子语义实体对象集。根据步骤2标记的语义聚合关系,逐个提取最 低聚合层次的树干节点,标记节点对应的语义实体为原子语义实体对象。
[0247] 实施例中的原子语义实体包括:各房间对象(Room)、各走廊对象(Corridor)、Π 厅 对象化all)楼梯间对象(Staircase)、楼梯对象(Stair)各墙体对象(Wall)、各口框对象 (Door frame)、各口板对象化oor)、各窗体对象(Window),运些对象满足对模型语义概念表 达不可再细分的特点。
[0248] 步骤3.2,正则形体化原子语义实体。利用步骤2记录的语义组合关系,逐个提取原 子语义实体的几何表面,并根据表面特征,从W下步骤中选择相应正则化的具体修正操作:
[0249] 步骤3.2a,对具有语义聚合关系的两两原子语义实体对象,通过插入交边修正几 何表面间不完备的拓扑连接,执行W下子步骤:
[0250] I)提取两两原子语义实体对象的几何表面集合;
[0251] II)采用图形学多边形矢量求交通用技术的一种或多种组合,依次计算表面集合 间两两表面对象的交线段,分别保存交线段到相交表面:本实施例首先采用"基于一体化Ξ 维GIS模型的剖面切割方法"(公开号:103413297A)中提出的"空间对象碰撞检测"子步骤对 两两原子语义实体对象的几何模型进行相交检测;然后,对几何相接或相交的Ξ角形对,执 行子步骤"Ξ角形求交运算",依次获取表面集合间两两Ξ角形表面对象的交线段,分别保 存交线段到相交的Ξ角形表面;
[0252] III)遍历两原子语义实体对象的表面的每个Ξ角形,采用图形学中特征约束的Ξ 角剖分通用技术的一种或多种组合,W交线段为约束特征,依次进行Ξ角剖分计算。本实施 例考虑Ξ角形的稳定形态特征和模型交边数目的有限性,侧重算法健壮性并顾及处理效 率,采用周晓云一文提出的顾及特征约束的Delaunays角剖分方案(周晓云,刘慎权.实现 约束Delaunays角剖分的健壮算法[J].计算机学报,1996,19(8):615-624)执行本子步骤 的Ξ角剖分计算;
[0253] 步骤3.化,对每个原子语义实体,通过插入填充面修正几何表面间的开放边界,执 行W下子步骤:
[0254] I)提取原子语义实体几何表面集合;
[0255] II)提取每个几何平面的边界轮廓线,保存为线段数组;
[0256] III)遍历每个线段数组,提取只出现一次的线段集合;
[0257] IV)在只出现一次的线段集合中捜索封闭多边形,直到集合中所有线段被使用;
[0258] V)采用步骤1.2所述方法,Ξ角平面化每一个封闭多边形;将Ξ角平面化的多边形 网格作为原子语义实体正则形体化的填充面;
[0259] 步骤3.3,修正原子语义实体集室内空间覆盖的完备性。基于正则形体边界体素化 原子语义实体的空间覆盖范围。为不失一般性,本发明实施例采用化mes等提出的基于种子 点增长思路的多面体体素化方法(Oomes S,Snoeren P,Dijkstra T.3D shape represent曰tion:Transforming polygons into voxels[M]//Sc曰le-Sp曰ce Theory in Computer Vision.Springer Berlin Heide化erg,1997:349-352),逐一体素化正则形体化 的原子语义实体;根据体素集的空间关系,从W下步骤中选择具体的修正操作,保证原子语 义实体集完整而无重叠地覆盖复杂Ξ维建筑物模型内部空间:
[0260] 步骤3.3a,对两两原子语义实体对象,通过体素局部边界收缩消除对象间的空间 重叠;
[0261] 步骤3.3b,对两两相邻原子语义实体对象,通过体素局部边界膨胀填充原子语义 实体间的空隙。
[0262] 正则形体化的原子语义实体作为步骤4中执行剖切计算的基本数据粒度。
[0263] 步骤4,语义实体剖切。根据历史文件读入或在软件界面中实时交互式建模指定的 剖切线/面/体和剖切方向构建Ξ角格网化的几何剖切面对象;所述交互式方式包括通过文 件读入的间接方式和在虚拟场景中直接创建内存对象的方式;所述剖切方向包括相对于剖 切面的正向和反向。
[0264] 本发明实施例剖切面的Ξ角格网化顾及对Ξ维空间中曲(折)剖面的支持,采用基 于Ξ维距离取代二维距离思想的Ξ维表面Delaunays角剖分算法,实施例具体选用李丽一 文给出的详细处理方案(Ξ维空间Delaunays角剖分算法的研究及应用[D].大连海事大 学,2010)执行剖切面的Ξ角格网化。本发明实施例的剖切方向在没有特别设定的条件下: 对设定的剖切线,根据电磁学中的右手法则得到平行于X0Y平面的矢量方向作为默认剖切 正向;对设定的剖切面/体,根据其网格单元顶点计算法相,进而确定剖切正向和反向。在实 施例中分别标记正向和反向为1和0。
[0265] 在构建剖切面的基础上,利用剖切面逐个剖切原子语义实体的几何形体并自顶向 下逐层重构语义对象。一个剖切面将原复杂Ξ维建筑物模型划分为逻辑上相对于剖切面正 向和反向的两个立体剖面模型,因此,重构的语义对象构成两组具有节点映射关系的语义 层次树。
[0266] 如图4所示,本发明实施例的语义实体剖切具体通过W下步骤实现:
[0267] 几何形体剖切的具体实现方式包括W下子步骤:
[0268] 步骤4.1,几何求交:采用图形学多边形矢量求交通用技术的一种或多种组合,计 算剖切面与原子语义实体对象几何表面的交线段。由于在上述各步中已经对模型表面和剖 切面进行了 Ξ角剖分,因此,本发明实施例选用同步骤3.2a中表面求交的方法,首先采用 "基于一体化Ξ维GIS模型的剖面切割方法"(专利申请号:201310299420. X;公开号: 103413297A)中提出的"空间对象碰撞检测"子步骤对两两原子语义实体对象的几何模型进 行相交检测;然后,对几何相接或相交的Ξ角形对,执行子步骤"Ξ角形求交运算",依次获 取表面集合间两两Ξ角形表面对象的交线段,分别保存交线段到相交的Ξ角形表面;
[0269] 优选地,在求交前,建立原子语义实体对象集的八叉树索引空间索引,将参与切割 的模型数据划分并保存到索引划分空间的各个子区域中,用于加速复杂对象集的相交检 巧。;其中,索引单元基于对象最小外包矩形构建。
[0270] 步骤4.2,表面剖分:采用图形学中特征约束的Ξ角剖分通用技术,包括各类特征 约束的Delaunays角剖分算法中的一种或多种组合,W交线段为约束特征,分别对产生交 线的剖面Ξ角形和原子语义实体对象的几何表面进行Ξ角剖分计算。在该子步骤处理中, 与步骤3.2a类似,本发明实施例仍旧考虑Ξ角形的稳定形态特征和模型交边数目的有限 性,侧重算法健壮性并顾及处理效率,采用周晓云一文提出的顾及特征约束的Delaunays 角剖分方案(周晓云,刘慎权.实现约束Delaunays角剖分的健壮算法[J].计算机学报, 1996,19 (8): 615-624)执行本子步骤的Ξ角剖分计算;
[0271] 步骤4.3,表面分割:通过构建二叉空间分割树(BSP树),分割剖分后的表面对象 集。
[0272] 为不失一般性且便于实施,实施例采用的BSP数据结构的内存对象表示如下:
[0273]
[0275] 本发明实施例根据表面与分割空间所属关系,从W下步骤中选择具体操作:
[0276] 步骤4.3a,构建剖切面的BSP树,所述BSP树将空间分割为W带有方向属性的剖切 面为边界的"正向空间(space+r和"反向空间(space-)";将每个原子语义实体对象的几何 表面划分为分别对应剖切面正向空间和反向空间的两组分割表面集BSspace+和BSspace-;
[0277] 步骤4.3b,构建原子语义实体对象几何表面的BSP树,所述BSP树将空间分割为W 几何表面为边界的"形体内空间(spacein)"和"形体外空间(spaceoutr ;提取表面剖分后剖 切面在spacein中的Ξ角网格集创建为原子语义实体的几何剖面对象BSsection。
[0278] 步骤4.4,形体重构:通过分组组合步骤4.3操作获得的表面分割集(包括:步骤 4.3a获得的BSspace +和BSspace-,W及步骤4.3b获得的BSsecti。。),重建剖切后原子语义实体相 对于剖切面的两部分几何形体,具体执行W下分组:
[02巧]步骤4.4a,直接组合BSspace-和BSsectinn为原子语义实体对应space-的几何形体;
[0280] 步骤4.46,通过逆序排列8536加。。中各^角形顶点,创建与8536加。。表面方向相反的 表面集BSseetinn-;组合BSsp3Ge+和BSseeti。厂为原子语义实体对应space +的几何形体;
[0281] 语义对象重构的具体实现方式包括W下子步骤:
[0282] 步骤4.5,创建剖面对象的语义节点。具体执行W下步骤:
[0283] I)依据步骤4.1中计算获得的几何相交的表面对象,自底向上判别并标记步骤2建 立的语义对象层次结构中各层次相交的语义节点为nodecut;
[0284] II)在每一个nodecut的原子语义实体节点下,插入一个关联相应几何剖面BSsection 的语义面对象nodesection。
[0285] 步骤4.6,层次分解语义节点。具体执行W下步骤:
[0286] I)分别创建对应Space +和space-的立体剖面模型对象MspaGe+,Mspace-;
[0287] II)自顶向下,逐层遍历原模型各层次中的语义实体节点,根据节点的nodecut标 记,分类执行W下处理步骤:
[ο巧引 a)对于每一个nodecut语义实体节点,分别拷贝SjMspace+和Mspace-下;
[0289] b)对于其余节点根据其关联的几何对象与space+或space-的隶属关系拷贝到相 应 Mspace+或 Mspace-下;
[0290] 在遍历并分解所有语义实体节点后,分别恢复Mspace+和Mspace-中各结点在原模型中 的语义聚合关系;
[0291] III)遍历组合为各原子语义实体节点的语义面节点,根据节点的node。。*标记,分 类执行W下处理步骤:
[0292] a)对于原节点集合中每一个nodecut语义面节点,分别拷贝到Mspace+和Mspace-中;同 时,分别关联表面剖分后划分到space+和space-的几何对象;
[0293] b)对于原节点集合中没有标记nodecut语义面节点,根据其关联的几何对象与 space+或space-的隶属关系,拷贝到相应Mspace+或Mspace-下并保留其几何关联倍息;
[0巧4] C)对于新插入的nodesection节点,分别拷贝SjMspace +和Mspace-中;同时,分别关联几 何对象BSseGtinn-和BSseetion ;
[OWS]在遍历处理每个原子语义实体节点所关联的语义面节点后,分别在Mspaee+和Mspace- 中,恢复其与相应语义实体节点的语义组成关系。本发明方法实施例的一个折剖面立体剖 切建模结果示意图如图5a和图化所示。
[0296] 保存立体剖面模型作为已知信息,用于对虚拟室内场景进行科学计算可视化和探 索式解析分析;由于生成的立体剖面模型是满足几何与语义一致性的Ξ维模型,因此既支 持对其进行独立的可视化,Ξ维场景操作(平移/缩放/旋转),W及解析计算分析等,也可W 支持其和原模型的联动分析等专题处理和分析操作。
[0297] 上述具体实施例仅是对本发明精神作举例说明,并非对本发明作任何形式上的限 审IJ。具体实施时,由本发明所属技术领域的技术人员按照上述流程进行软件编程实现即可; 实施过程中不会偏离本发明技术方案或者超越所附权利要求书所定义的范围的等同变化、 替换与修饰,均属于本发明技术方案的范围内。
【主权项】
1. 顾及一致性的复杂三维建筑物模型剖切建模方法,其特征在于包括以下步骤: 1) 读取构成三维建筑物模型的多形态类型表面对象集及其带有的多层次语义信息,逐 一将多形态类型表面对象剖分为几何形体表达维度和语义概念描述粒度统一的语义表面 对象集; 2) 提取剖分后的语义表面对象集关联的语义信息,根据语义对象的嵌套包含关系建立 语义对象的层次结构;分类提取相邻层次语义对象间的语义组合关系和语义聚合关系; 3) 利用语义组合关系和语义聚合关系,从语义表面对象集中解析原子语义实体集,并 正则形体化各原子语义实体的几何形体; 4) 利用设定的剖切面对象,逐个剖切原子语义实体几何形体的同时构建剖面,并根据 层次结构、自顶向下逐层分类重构语义对象。2. 根据权利要求1所述的顾及一致性的复杂三维建筑物模型剖切建模方法,其特征在 于所述逐一将多形态类型表面对象剖分为几何形体表达维度和语义概念描述粒度统一的 语义表面对象集包括以下步骤: 步骤2.1,根据几何形态类型和所关联的最低层次语义粒度将表面划分为三种类型: a) 关联语义面的网格平面; b) 关联语义面且边界开放的网格曲面; c) 关联语义实体且构成有限封闭空间的网格曲面; 步骤2.2,根据不同的表面类型进行剖分操作,对网格平面进行三角格网化。3. 根据权利要求1所述的顾及一致性的复杂三维建筑物模型剖切建模方法,其特征在 于所述利用语义组合关系和语义聚合关系,从语义表面对象集中解析原子语义实体集,并 正则形体化各原子语义实体的几何形体包括以下步骤: 步骤3.1,提取原子语义实体对象集:根据模型中的多层次语义聚合关系,从语义表面 对象集中逐个提取多层次语义聚合关系中最低层次的语义实体,标记为原子语义实体对 象; 步骤3.2,正则形体化原子语义实体:利用语义组合关系,从步骤3.1提取的原子语义实 体对象集中逐个提取原子语义实体的几何表面,从以下步骤中选择相应正则化的具体修正 操作: 步骤3.2a,对具有语义聚合关系的两两原子语义实体对象,通过插入交边修正几何表 面间不完备的拓扑连接,包括以下子步骤: I) 提取任意两个原子语义实体对象的几何表面集合; II) 依次得到表面集合间两两表面对象的交线段,分别保存交线段到相交表面; III) 遍历两原子语义实体对象的每个表面;在以原有点和边为基本特征的同时,以交 线段为约束特征,进行特征约束的三角剖分计算,得到交边修正的几何表面; 步骤3.2b,对每个原子语义实体,通过插入填充面修正几何表面间的开放边界,包括以 下子步骤: I) 提取原子语义实体几何表面集合; II) 提取每个几何平面的边界轮廓线,保存为线段数组; III) 遍历每个线段数组,提取只出现一次的线段集合; IV) 在只出现一次的线段集合中搜索封闭多边形,直到集合中所有线段被使用过; V)根据不同的表面类型进行剖分操作,三角平面化每一个封闭多边形;将三角平面化 的多边形网格作为原子语义实体正则形体化的填充面。4. 根据权利要求2或3所述的顾及一致性的复杂三维建筑物模型剖切建模方法,其特征 在于所述根据不同的表面类型进行剖分操作包括以下步骤: 步骤1.2a,对关联语义面的网格平面对象,以原始格网表面中的顶点为特征点,以原始 格网表面中的边为特征边直接对网格平面进行三角格网化; 步骤1.2b,对关联语义面且边界开放的网格曲面对象,执行以下子步骤: I) 根据网格单元的法向和邻接边划分网格曲面为多个网格平面; II) 将所划分出的每个网格平面构建为一个表面对象,每个表面对象完整继承原网格 曲面所关联的各层次语义信息; III) 对每个划分出的表面对象,以表面对象中存在于原始格网表面中的顶点为特征 点,以表面对象中存在于原始格网表面中的边为特征边直接对网格平面进行三角格网化; 步骤lc,对关联语义实体且构成有限封闭空间的网格曲面对象,执行以下子步骤: I) 根据网格单元的法向和邻接边划分网格曲面为多个网格平面; II) 基于网格曲面对象所关联的语义实体对象,创建相对于语义实体对象低一层次的 语义面对象概念并插入原网格曲面所关联的各层次语义信息中; III) 将所划分出的每个网格平面构建为一个表面对象,每个表面对象完整继承插入语 义面对象之后的各层次语义信息; IV) 对每个划分出的表面对象,以表面对象中存在于原始格网表面中的顶点为特征点, 以表面对象中存在于原始格网表面中的边为特征边直接对网格平面进行三角格网化。5. 根据权利要求1所述的顾及一致性的复杂三维建筑物模型剖切建模方法,其特征在 于所述步骤3.2中正则形体化原子语义实体后,还修正原子语义实体集的室内空间覆盖,从 以下步骤中选择具体的修正操作: 步骤3.3a,对两两原子语义实体对象,体素边界收缩至消除对象间的空间重叠; 步骤3.3b,对两两相邻原子语义实体对象,体素局部边界膨胀至填充原子语义实体间 的空隙。6. 根据权利要求1所述的顾及一致性的复杂三维建筑物模型剖切建模方法,其特征在 于所述利用设定的剖切面对象,逐个剖切原子语义实体几何形体的同时构建剖面包括以下 步骤: 步骤4.1,几何求交:计算设定的剖切面与原子语义实体对象几何表面的交线段; 步骤4.2,表面剖分:在以原有点和边为基本特征的同时,以交线段为约束特征;分别对 产生交线的剖面三角形和原子语义实体对象的几何表面进行三角剖分计算,得到步骤4.1 所得交线段约束的剖面三角网和原子语义实体对象的几何表面; 步骤4.3,表面分割:通过构建BSP树分割剖分后的剖面和原子语义实体对象的表面对 象集;根据表面对象集中待分割表面与分割空间所属关系,从以下步骤中选择具体操作: 步骤4.3a,构建剖切面的BSP树,BSP树将空间分割为以带有方向属性的剖切面为边界 的正向空间space-和反向空间space-;将原子语义实体对象的几何表面划分为分别对应剖 切面正向空间和反向空间的两组分割表面集BS space+和BSspace 一; 步骤4.3b,构建原子语义实体对象几何表面的BSP树,所述BSP树将空间分割为以几何 表面为边界的形体内空间spacer和形体外空间spacemjt;提取表面剖分后剖切面在spacein 中的三角网格集创建为原子语义实体的几何剖面对象BSsectlcin; 步骤4.4,形体重构:通过步骤4.3获得的BSspa ce+、BSspace-,以及BSsection, 重建剖切后原子 语义实体相对于剖切面的两部分几何形体,具体执行以下分组: 步骤4.4a,直接组合BSspaee-和BSseetion为原子语义实体对应Space-的几何形体; 步骤4.仙,通过逆序排列85_^。"中各三角形顶点,创建与85_^。11表面方向相反的表面 集BSsertion-;组合BSspac;e+和BSsertion-为原子语义实体对应space+的几何形体。7.根据权利要求1所述的顾及一致性的复杂三维建筑物模型剖切建模方法,其特征在 于所述根据层次结构、自顶向下逐层分类重构语义对象包括以下步骤: 步骤4.5,创建剖面对象的语义节点,具体执行以下步骤: I) 依据几何相交的表面对象,自底向上判别并标记步骤2建立的语义对象层次结构中 各层次相交的语义节点为nodecut; II) 在每一个nodecut的原子语义实体节点下,插入一个关联相应几何剖面BSsection的语 乂面对象nodesection; 步骤4.6,层次分解语义节点,具体执行以下步骤: I) 分别创建对应space+和space-的立体剖面模型对象Mspace+和Mspace 一; II) 自顶向下,逐层遍历原模型各层次中的语义实体节点,根据节点的nodecut标记,分 类执行以下处理步骤: a) 对于每一个nodecut语义实体节点,分别拷贝到Mspace+和Mspace-下; b) 对于其余节点,根据其关联的几何对象与space-或space-的隶属关系拷贝到相应 Mspace+或Mspace-下; 在遍历并分解所有语义实体节点后,分别恢复MSP_+和Mspa#中各结点在原模型中的语 义聚合关系; III) 遍历组合为各原子语义实体节点的语义面节点,根据节点的nodecmt标记,分类执 行以下处理步骤: a) 对于原节点集合中每一个nodecut语义面节点,分别拷贝到Mspace+和Mspace-中;同时,分 别关联表面剖分后划分到space-和space-的几何对象; b) 对于原节点集合中没有标记nodecut语义面节点,根据其关联的几何对象与space+或 space-的隶属关系,拷贝到相应Mspace+和Mspace-下并保留其几何关联信息; C)对于新插入的nodesection节点,分别拷贝到Mspace+和Mspace-中;同时,分别关联几何对象 BSsection-和 BS section ; 在遍历处理每个原子语义实体节点所关联的语义面节点后,分别在Mspat#和MspaCt中, 恢复其与相应语义实体节点的语义组成关系。
【文档编号】G06T17/30GK105825550SQ201610147458
【公开日】2016年8月3日
【申请日】2016年3月15日
【发明人】谢潇, 薛冰, 张云松
【申请人】中国科学院沈阳应用生态研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1