一种平行线墙体数据识别方法、装置、设备及存储介质制造方法及图纸

技术编号:35995245 阅读:12 留言:0更新日期:2022-12-17 23:11
本发明专利技术公开一种平行线墙体数据识别方法、装置、设备及存储介质,方法包括获取多个线段的线段集;根据线段集构建树状线段集合以及与树状线段集合对应的索引;从线段集中选取一个输入线段并以输入线段为中心进行搜索,得到与输入线段的距离在预设厚度范围内的所有输出线段;从所有输出线段中选取与输入线段满足平行重叠投影条件的目标线段,根据输入线段和目标线段生成初始墙体数据,并返回至从线段集中选取一个输入线段的步骤直至线段集中的所有线段被选取一次;将所有初始墙体数据加入墙体结果集,对墙体结果集中的重叠部分进行合并,得到最终墙体数据。本方法能实现通过合并减少数据量及数据复杂度,提高生成效率。提高生成效率。提高生成效率。

【技术实现步骤摘要】
一种平行线墙体数据识别方法、装置、设备及存储介质


[0001]本专利技术涉及建筑矢量图
,尤其涉及一种平行线墙体数据识别方法、装置、设备及存储介质。

技术介绍

[0002]目前,在建筑矢量图中,如果一个线图层(如CAD的line,Polyline图层)是墙图层,需要将这个墙体线图层数据生成可用于3d立体展示的多边形数据。现有技术中提出了采用CAD图中的平行线检测的方法,用于鉴别应该生成墙体的线型数据结构组(the Wall Adjacency Graph,WAG)。
[0003]但是,现有技术存在以下缺点:首先,由于交界处的墙体生成效果并不完美,如果通过合并顶点的方式构建拓扑结构,实际改变了线与原有方向的关系,生成的数据全部是离散的结构且存在重叠数据,运用在项目中会影响渲染效率。其次,由于需要O(n^2)(n是线的数量)两两匹对平行线关系,导致查找平行线的过程缓慢。在大面积CAD图包含大量线型墙体数据时,构建WAG时间效率上比较低。此外,在出现重复性噪声,如部分墙体内部画平行阴影时,会构建大量不必要的平行关系。
[0004]综上,现有技术中的方法查找平行线的过程缓慢且会构建大量不必要的平行关系,影响渲染效率。

技术实现思路

[0005]本专利技术提供了一种平行线墙体数据识别方法、装置、设备及存储介质,以实现通过合并减少数据量并减小搜索范围,从而降低时间复杂度,提高生成效率。
[0006]第一方面,为了解决上述技术问题,本专利技术提供了一种平行线墙体数据识别方法,包括:r/>[0007]获取建筑矢量图数据并对所述建筑矢量图数据解析,得到多个不少于两个顶点序列的线段数据;
[0008]对所述线段数据进行拆分,得到包括多个线段的线段集;
[0009]根据所述线段集构建树状线段集合以及与所述树状线段集合对应的索引;
[0010]从所述线段集中选取一个输入线段并以所述输入线段为中心进行搜索,得到与所述输入线段的距离在预设厚度范围内的所有输出线段,并从所有所述输出线段中选取与所述输入线段满足平行重叠投影条件的目标线段;
[0011]根据所述输入线段和所述目标线段生成初始墙体数据,并返回至从所述线段集中选取一个输入线段的步骤直至所述线段集中的所有线段被选取一次;
[0012]将所有所述初始墙体数据加入墙体结果集,对所述墙体结果集中的重叠部分进行合并,得到最终墙体数据。
[0013]优选地,在所述对所述墙体结果集中的重叠部分进行合并之前,所述方法还包括:
[0014]构建树状空集,并将所有所述初始墙体数据中的短边加入所述树状空集中得到短
边树状集合;其中,所述短边为初始墙体数据中符合预设厚度范围的线段;
[0015]当判定所述短边树状集合中的任一短边与其他短边满足所述平行重叠投影条件时,根据所述短边和其他短边生成短边墙体数据;
[0016]将所有所述短边墙体数据加入墙体结果集。
[0017]优选地,所述根据所述线段集构建树状线段集合,包括:
[0018]计算所述线段集中的每一线段的单位向量,得到线段方向信息;其中,所述树状线段集合包括每一线段的线段方向信息。
[0019]优选地,在所述计算所述线段集中的每一线段的单位向量及长度之前,所述方法还包括:
[0020]获取所述线段集中的噪声线段,并将所有所述噪声线段删除;其中,连续10个以上线段长度小于1.5倍最大厚度且角度相同的线段为噪声线段。
[0021]优选地,所述线段平行关系判断过程包括:
[0022]当abs(abs(unit(l1))

abs(unit(l2)))<err,判定线段l1与线段l2平行;其中,单位向量unit(l=[a,b])=vector(b

a)/length(b

a),unit(l1)、unit(l2)分别表示线段l1、线段l2的线段方向信息,abs表示绝对值,err表示预设的误差值。
[0023]优选地,所述平行重叠投影条件的判断过程包括:
[0024]当线段A平行于线段B且线段A与线段B的间距在预设的墙体厚度参数以内,且线段A投影到线段B所在直线后得到的线段A

与线段B相交重叠时,判定线段A与线段B满足平行重叠投影条件。
[0025]第二方面,本专利技术提供了一种平行线墙体数据识别装置,包括:
[0026]数据获取模块,用于获取建筑矢量图数据并对所述建筑矢量图数据解析,得到多个不少于两个顶点序列的线段数据;
[0027]数据拆分模块,用于对所述线段数据进行拆分,得到包括多个线段的线段集;
[0028]集合构建模块,用于根据所述线段集构建树状线段集合以及与所述树状线段集合对应的索引;
[0029]线段搜索模块,用于从所述线段集中选取一个输入线段并以所述输入线段为中心进行搜索,得到与所述输入线段的距离在预设厚度范围内的所有输出线段;
[0030]墙体生成模块,用于从所有所述输出线段中选取与所述输入线段满足平行重叠投影条件的目标线段,根据所述输入线段和所述目标线段生成初始墙体数据,并返回至从所述线段集中选取一个输入线段的步骤直至所述线段集中的所有线段被选取一次;
[0031]墙体合并模块,用于将所有所述初始墙体数据加入墙体结果集,对所述墙体结果集中的重叠部分进行合并,得到最终墙体数据。
[0032]优选地,所述墙体生成模块还用于:
[0033]构建树状空集,并将所有所述初始墙体数据中的短边加入所述树状空集中得到短边树状集合;其中,所述短边为初始墙体数据中符合预设厚度范围的线段;
[0034]当判定所述短边树状集合中的任一短边与其他短边满足所述平行重叠投影条件时,根据所述短边和其他短边生成短边墙体数据;
[0035]将所有所述短边墙体数据加入墙体结果集。
[0036]第三方面,本专利技术还提供了一种终端设备,包括处理器、存储器以及存储在所述存
储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现上述中任意一项所述的平行线墙体数据识别方法。
[0037]第四方面,本专利技术还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述中任意一项所述的平行线墙体数据识别方法。
[0038]相比于现有技术,本专利技术具有如下有益效果:
[0039]本专利技术提供一种平行线墙体数据识别方法,通过获取建筑矢量图数据并对所述建筑矢量图数据解析,得到多个不少于两个顶点序列的线段数据;对所述线段数据进行拆分,得到包括多个线段的线段集;根据所述线段集构建树状线段集合以及与所述树状线段集合对应的索引;从所述线段集中选取一个输入线段并以所述输入线段为中心进行搜索,得到与所述输入线段的距离在预设厚度范围内的所有输出线段;从所有所述输出线段中选取本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种平行线墙体数据识别方法,其特征在于,包括:获取建筑矢量图数据并对所述建筑矢量图数据解析,得到多个不少于两个顶点序列的线段数据;对所述线段数据进行拆分,得到包括多个线段的线段集;根据所述线段集构建树状线段集合以及与所述树状线段集合对应的索引;从所述线段集中选取一个输入线段并以所述输入线段为中心进行搜索,得到与所述输入线段的距离在预设厚度范围内的所有输出线段,并从所有所述输出线段中选取与所述输入线段满足平行重叠投影条件的目标线段;根据所述输入线段和所述目标线段生成初始墙体数据,并返回至从所述线段集中选取一个输入线段的步骤直至所述线段集中的所有线段被选取一次;将所有所述初始墙体数据加入墙体结果集,对所述墙体结果集中的重叠部分进行合并,得到最终墙体数据。2.根据权利要求1所述的平行线墙体数据识别方法,其特征在于,在所述对所述墙体结果集中的重叠部分进行合并之前,所述方法还包括:构建树状空集,并将所有所述初始墙体数据中的短边加入所述树状空集中得到短边树状集合;其中,所述短边为初始墙体数据中符合预设厚度范围的线段;当判定所述短边树状集合中的任一短边与其他短边满足所述平行重叠投影条件时,根据所述短边和其他短边生成短边墙体数据;将所有所述短边墙体数据加入墙体结果集。3.根据权利要求1所述的平行线墙体数据识别方法,其特征在于,所述根据所述线段集构建树状线段集合,包括:计算所述线段集中的每一线段的单位向量,得到线段方向信息;其中,所述树状线段集合包括每一线段的线段方向信息。4.根据权利要求3所述的平行线墙体数据识别方法,其特征在于,在所述计算所述线段集中的每一线段的单位向量及长度之前,所述方法还包括:获取所述线段集中的噪声线段,并将所有所述噪声线段删除;其中,连续10个以上线段长度小于1.5倍最大厚度且角度相同的线段为噪声线段。5.根据权利要求3所述的平行线墙体数据识别方法,其特征在于,所述线段平行关系判断过程包括:当abs(abs(unit(l 1))

abs(unit(l2)))<err,判定线段l 1与线段l2平行;其中,单位向量unit(l=[a,b])=vector(b

a)/length(b

a),unit(l 1)、unit(l2)分别...

【专利技术属性】
技术研发人员:吕道祯卢志豪罗梨高民王周红
申请(专利权)人:广州码石信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1