一种基于建筑信息模型的外壳提取方法与流程

文档序号:15274733发布日期:2018-08-28 22:51阅读:390来源:国知局

本发明属于建筑信息领域,涉及一种基于建筑信息模型的建筑外壳提取方法。



背景技术:

智慧城市是用信息和通信技术手段,用于感测、分析、整合城市运行核心系统的各项关键信息,从而对包括民生、环保、公共安全、城市服务、工商业活动在内的各种需求做出智能响应。通常在建筑群智慧城市的展示中,bim将建筑数据提供给gis,gis将bim传输过来的建筑信息全部展示出来。

bim是buildinginformationmodeling的缩写,一般译为建筑信息模型。bim是创建并利用数字话模型应用与建筑工程全生命周期各个阶段的技术,也是建筑的物理与功能特征的数字化表达其表达形式是具有信息的基础信息资源,是建筑项目全生命周期各个阶段具体应用及各类性能分析的核心和数据基础。

gis是geographicinformationsystem的缩写,一般称为地理信息系统,是随着地理科学、计算机技术、遥感技术和信息科学的发展而发展起来的一个学科。gis在智慧城市展示中主要用于:地理空间展示,定位参考,辅助空间分析等。gis是展示bim建筑数据信息的重要载体,也是智慧城市的主要展示手段。

目前,建筑的外壳提取方法还是空白。现有的智慧城市展示是利用bim建立数据模型,后将全部构件的标准数据传输给gis,全部展示出来,从而有很多不可见的构件也被加载出来,这样不仅增加了gis需要加载的数据量,浪费了计算机空间,更降低了相同内存下可展示的建筑数量,最终影响整个智慧城市的展现。



技术实现要素:

本发明实施例提供了一种基于建筑信息模型(bim)提取建筑外部所有可见构件的方法,用于在建筑展示过程中只展示建筑外壳,降低展示中所需的数据传输量以及展示过程中所消耗的资源。

为达到上述目的,采用如下技术方案:

本发明公开了一种基于建筑信息模型的外壳提取方法,包括以下步骤:

1.收集建筑结构信息与建筑构件信息,分类管理各类信息。

2.利用建筑信息模型,针对其x,-x,y,-y,z,-z六个维度生成投影网格面,投影面的位置在当前维度的某一随机极远点处,且垂直于当前维度坐标轴。

3.对于每一个网格面,计算每个构件与网格面的相对距离并排序,如图3所示,构造潜在可见构件集:

distanceij=|(li-lij)|,

其中li表示维度i下的极远投影网格面与坐标轴i的垂直距离,lij表示构件j与坐标轴i的垂直距离,distanceij表示方向维度i下构件j的相对深度。

根据构件的相对深度,对构件进行排序,根据排序后构件在当前投影面上的投影被切割后对应的网格,若当前构件是否是对应网格的有限个潜在可见构件则存入网格中,最终输出当前投影面的潜在可见构件集。

4.利用潜在可见构件集内的构件对构件三角面集合进行不可见三角面剔除,如图4.1,4.2所示:

其中a,b,c为三角面上逆时针的三个顶点,f是投影面上任意一点,表示点a(xa,ya,za)指向点b(xb,yb,zb)的向量,表示点a(xa,ya,za)指向点c(xc,yc,zc)的向量,为三角面上点a(xa,ya,za)指向投影面上一点f(xf,yf,zf)的向量,i,j,k为x,y,z轴的单位值,通常为1,生成三角面的法向量,用于判断当前三角面是否可见,若大于零则可见。

5.利用保留下来的可见三角面投影的边界斜率和顶点计算三角面的投影边界经过的网格,如图4.3,4.4所示,以为例:

gap是在网格面上单个网格的宽度,(βi,γi)表示的是自点a(xa,ya,za)至点b(xb,yb,zb)的三角形边界经过的网格坐标,表示边ab的斜率,β表示x,y,z三维中构成投影平面的第一个维度,γ表示x,y,z三维中构成投影平面的第二个维度,(β0,γ0)表示边界起始顶点的投影网格坐标,(βend,γend)表示边界结束顶点的投影网格坐标。最终生成,三边经过的投影边界网格集合。

6.根据三角面的投影边界网格集合,利用一条直线穿过三角形最多穿过两条边的原理,生成三角面的内部投影网格,结果如图4.5,4.6所示。

7.利用每个潜在可见构件集中构件可见三角面的投影网格集合和潜在可见构件的相对深度排序,判断投影网格面上每个网格唯一可见构件。

8.六个投影面上所有网格可见构件集合即为建筑模型的外壳。

优选的,所述的建筑结构信息包括:建筑的空间,位置,结构,外形,高度,宽度。

优选的,所述建筑构件信息包括:构件的位置,旋转角度,点集,三角面集。

优选的,在生成网格投影面时,选择当前维度的一个随机极远距离位置生成垂直于当前维度的投影网格平面。

优选的,在寻找潜在可见构件集合时,构件排序使用的是构件距离投影网格面的相对距离,对网格面上的每一个网格都寻找相对距离近的有限个构件,构成潜在可见构件集。

优选的,计算三角面投影边界网格时,利用三角面在网格面上投影的三边的斜率和顶点计算三角形每条边界经过的网格集合。

优选的,计算三角面投影内部网格时,通过经过的边界网格次数和上一行是否有边界网格来判断当前网格是否为内部网格。

优选的,在判断每个潜在可见构件是否真实可见时使用的是潜在可见构件可见三角面的投影网格集合。

附图说明:

图1为本发明实施提供的一种基于建筑信息模型外壳提取方法的流程图。

图2为本发明实施提供的一种基于建筑信息模型外壳提取方法的模块流程图。

图3为本发明实施提供了关于相对距离计算的流程图。

图4为本发明实施提供了三角面背景剔除和投影网格计算示例图。

图5为本发明实施提供了三角面背景剔除和投影网格计算流程图。

具体实施方式:

下面对本发明实施例一种基于建筑信息的外壳提取方法,进行详细描述。

本申请提出了一种基于建筑信息模型的外壳提取方法,解决了目前智慧城市展示时gis需要加载所有构件而导致的资源浪费问题,收集了待提取建筑和建筑内部构件的多种参数信息,并基于此建立建筑信息模型以及相应的信息数据库。本申请依靠bim的建模和分析手段,利用待提取建筑的构件信息进行分析建模。由于每一个构件都有其特定的构件信息和位置信息,基于该信息计算每个维度下潜在可见构件集,进而算出潜在可见构件的可见三角面并投影至网格面,判断当前构件是否为建筑外壳构件,最终生成建筑外壳。本方法充分考虑了每个构件的点集,三角面集合,坐标位置,旋转角度和建筑本身结构,用于建筑外壳的提取,降低了智慧城市展示中单体建筑的数据加载了,提高了相同数据量下可展示的建筑数量,有利于智慧城市的展示。

本发明公开的一种基于建筑信息模型的外壳提取方法,流程方法如图1所示,包括如下步骤:

步骤101:收集建筑结构信息,按类别整理后建立建筑信息模型。

本实施例中,建筑信息由建筑空间信息和建筑构件信息组成。建筑空间信息是指建筑的空间,位置,结构,外形,高度,宽度;建筑构件信息包括构件的空间位置,旋转角度,组成点集以及三角面集合。

在当前步骤中,将建筑信息按照不同的类型进行整理,对建筑空间信息和建筑构件信息的相关数据建立数据库;对于建筑空间信息与建筑构件信息的相关统计数据,为了提高计算速度,可利用数据库管理工具建立统计数据库。

bim技术能够根据建立的建筑信息模型,统计出建筑的实际空间,结构,面积,功能,高度,外维护结构,周边建筑体量等信息。将bim统计的信息存入建筑信息数据库,使得原有数据更为准确与全面。

步骤102:根据建筑的空间信息,分别在x,-x,y,-y,z,-z六个方向的极远点处建立垂直于当前方向轴的网格平面,如,z方向上的网格平面即是z轴正方向某极远点处生成的垂直于z轴的网格平面。

步骤103:对于网格平面上每一个网格,利用构件与网格面的相对距离,如图3所示,构造潜在可见构件集:

distanceij=|(li-lij)|,

其中li表示维度i下的极远投影网格面与坐标轴i的垂直距离,lij表示构件j与坐标轴i的垂直距离,distanceij表示方向维度i下构件j的相对深度。

根据构件的相对深度,对构件进行排序,根据排序后构件在当前投影面上的投影被切割后对应的网格,若当前构件是否是对应网格的有限个潜在可见构件则存入网格中,最终输出当前投影面的潜在可见构件集。

步骤104:对潜在可见构件集内构件的三角面集合进行背部剔除,生成可见三角面集合,如图4.1,4.2所示。

对于潜在可见构件集内构件的每一个三角面,逆时针提取三角面上的三个顶点,利用这三个点计算三角面的法向量,根据三角面顶点与投影面的连线和三角面法向量的内积,判断当前三角面的可见性:

其中a,b,c为三角面上逆时针的三个顶点,f是投影面上一点,表示点a(xa,ya,za)指向点b(xb,yb,ab)的向量,表示点a指向点c(xc,yc,zc)的向量,为三角面上点a(xa,ya,za)指向投影面上一点f(xf,yf,zf)的向量i,j,k为x,y,z轴的单位值,通常为1,表示三角面的法向量,用于判断当前三角面是否可见,若大于零则可见。

步骤105:对可见三角面集中每个三角面,利用保留下来的可见三角面投影的边界斜率和顶点计算三角面的投影边界经过的网格,生成三角面边界网格集合,如图4.3,图4.4所示。

为例,

其中,

gap是在网格面上单个网格的宽度,(βi,γi)表示的是自点a(xa,ya,za)至点b(xb,yb,zb)的三角形边界经过的网格坐标,表示边ab的斜率,β表示x,y,z三维中构成投影平面的第一个维度,γ表示x,y,z三维中构成投影平面的第二个维度,(β0,γ0)表示边界起始顶点的投影网格坐标,(βend,γend)表示边界结束顶点的投影网格坐标。最终生成,三边经过的投影边界网格集合。

步骤106:根据三角形面边界网格集合,找到三角形面内部的投影网格,如图4.5,4.6所示。

利用当一条直线穿过三角形时,有且仅有两条三角形边界与之相交的原理,逐行判断当前网格是否在三角形内。

在逐行判断的过程中统计当前行碰撞到边界网格的次数count,当count是奇数,

county=i%2==1,

且上面一行也含有边界网格时,说明当前网格在三角形内部。若上一行并没有当前可见三角面的边界网格说明当前网格点为边界网格点而非内部网格点。

其中y表示行数,当y加1时,count要初始化为零,

county=i+1=0,

最终返回当前三角面投影经过的所有网格。

步骤107:利用每个潜在可见构件集中潜在构件可见三角面的投影网格集合和潜在可见构件的相对深度排序,判断投影网格面上每个网格可见构件。

利用潜在可见集中构件的相对深度,将构件的三角面投影网格集合匹配入投影网格中,判断构件是否为当前网格的可见构件,生成当前投影面所有可见构件。

步骤108:最终生成六个面所有网格对应的可见构件集合,即是构件外壳。

以上所述,仅为本发明的具体实施方案,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本方面揭露的技术范围内,可轻易想到变化或者替换都应涵盖在本发明的保护范围内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1