适用于BIM轻量化的实时遮挡剔除方法、装置和设备与流程

文档序号:20840403发布日期:2020-05-22 17:25阅读:185来源:国知局
适用于BIM轻量化的实时遮挡剔除方法、装置和设备与流程

本发明实施例涉及模型处理技术领域,具体涉及一种适用于建筑信息模型(buildinginformationmodeling,bim)轻量化的实时遮挡剔除方法、装置和设备。



背景技术:

建筑信息模型是建筑学、工程学及土木工程的新工具,它可以帮助实现建筑信息的集成,从建筑的设计、施工、运行直至建筑全寿命周期的终结,各种信息始终整合于一个三维模型信息数据库中。

bim大多体量庞大,模型构件数量多,渲染显示需耗费大量资源,不利于在移动平台的显示。现有的优化技术通常使用在静态场景中,要求遮挡范围必须由静态物体遮挡,并且需要提前烘培,对模型的前期准备工作要求较高。



技术实现要素:

本发明实施例的目的在于提供基于建筑信息模型的物体显示方法、装置和设备,用以解决现有bim模型渲染耗费大量资源,不利于在移动平台的显示的问题。

为实现上述目的,本发明实施例主要提供如下技术方案:

第一方面,本发明实施例提供了一种适用于bim轻量化的实时遮挡剔除方法,包括:根据显示设备的分辨率确定采样点总数量及每个采样点的视口坐标;给定多个目标物体的状态类型,并将所述多个目标物体初始化为隐藏状态;根据给定的采样点系数和所述采样点总数量确定每一帧采样点的数量,每一帧采样点分布均匀;根据摄像机的位置和每一帧采样点的视口坐标得到每一帧采样点的三维空间坐标,连接所述摄像机和所述每一帧采样点的三维坐标生成相应的辅助线;从所述多个目标物体中获取选定目标物体,并获取所述选定目标物体的三角面信息和状态类型;如果根据所述选定目标物体的三角面信息确定所述选定目标物体为与第一预设辅助线相交且距离所述摄像机最近的物体,则将所述选定目标物体调整为显示状态;如果所述选定目标物体为透明物体,则从所述选定目标物体调整为显示状态开始,经过m帧后将所述选定目标物体设置为隐藏状态;其中,m为大于0的正整数。

根据本发明的一个实施例,在将所述选定目标物体调整为显示状态之后,还包括:如果所述选定目标物体为透明物体,在除了所述第一预设辅助线以外的其他辅助线与所述选定目标物体相交时忽略所述选定目标物体。

根据本发明的一个实施例,在将所述选定目标物体调整为显示状态之后,还包括:如果所述选定目标物体为非透明物体,从所述选定目标物体调整为显示状态开始的m帧内,如果所述选定目标物体为与第二预设辅助线相交且距离所述摄像机最近的物体,则以所述选定目标物体与所述第二预设辅助线相交的时刻重置m的数量。

根据本发明的一个实施例,所述每一帧的采样点均匀分布,包括:根据所述显示设备的分辨率使用haltonsequence算法计算出视口x方向及y方向的采样坐标数据,在计算x方向和y方向的采样坐标数据时,使用不同的质数,使得所有采样点均匀分布在整个视口平面上,并根据坐标转换算法得到每一帧均匀分布的采样点的三维空间坐标。

第二方面,本发明实施例还提供一种基于bim的实时遮挡剔除装置,包括:初始化模块,用于设定多个目标物体的状态类型,并将所述多个目标物体初始化为隐藏状态;计算模块,根据显示设备的分辨率确定采样点的总数量,使用haltonsequence算法计算出均匀分布的采样点视口坐标;辅助线生成模块,根据给定的采样点系数和所述采样总数量确定每一帧的采样点数量,并根据摄像机的位置和每一帧采样点的视口坐标得到每一帧采样点的三维空间坐标,连接所述摄像机和所述每一帧采样点的三维坐标生成相应的辅助线;选择获取模块,用于从所述多个目标物体中选择选定目标物体,并获取所述选定目标物体的三角面信息和状态类型;控制处理模块,用于如果所述选定目标物体的状态类型为隐藏状态,且根据所述选定目标物体的三角面信息确定所述选定目标物体为与第一预设辅助线相交且距离所述摄像机最近的物体,则将所述选定目标物体设置为显示状态;所述控制处理模块还用于如果所述选定目标物体为透明物体,则从所述选定目标物体调整为显示状态开始,经过m帧后将所述选定目标物体设置为隐藏状态;其中,m为大于0的正整数。

根据本发明的一个实施例,所述控制处理模块还用于在将所述选定目标物体调整为显示状态之后,如果所述选定目标物体为透明物体,在除了所述第一预设辅助线以外的其他辅助线与所述选定目标物体相交时忽略所述选定目标物体。

根据本发明的一个实施例,所述控制处理模块还用于在将所述选定目标物体调整为显示状态之后,如果所述选定目标物体为非透明物体,从所述选定目标物体调整为显示状态开始的m帧内,如果所述选定目标物体为与第二预设辅助线相交且距离所述摄像机最近的物体,则以所述选定目标物体与所述第二预设辅助线相交的时刻重置m的数量。

根据本发明的一个实施例,所述辅助线生成模块用于根据所述显示设备的分辨率使用haltonsequence算法计算出视口x方向及y方向的采样坐标数据,在计算x方向和y方向的采样坐标数据时,使用不同的质数,使得所有采样点均匀分布在整个视口平面上,并根据坐标转换算法得到每一帧采样点的三维空间坐标。

第三方面,本发明实施例还提供一种电子设备,包括:至少一个处理器和至少一个存储器;所述存储器用于存储一个或多个程序指令;所述处理器,用于运行一个或多个程序指令,用以执行如第一方面所述的适用于bim轻量化的实时遮挡剔除方法。

第四方面,本发明实施例还提供一种计算机可读存储介质,包含一个或多个程序指令,所述一个或多个程序指令用于被执行如第一方面所述的适用于建筑信息模型轻量化的实时遮挡剔除方法。

本发明实施例提供的技术方案至少具有如下优点:

本发明实施例提供的适用于bim轻量化的实时遮挡剔除方法、装置和设备,针对bim点面数量巨大、构建数量多,并且这些构件都是单独的模型数据的情况,实现了对动态模型的实时遮挡剔除,可以有效的提高实时渲染效率,降低硬件要求,为满足大体量bim模型实时渲染提供了技术支持。此外,本发明根据考虑辅助线是否和物体相交,将物体分别放置到两个图层中:第一图层是不考虑相交的物体,仅包括显示状态的透明物体;第二图层是考虑相交的物体,包括隐藏状态的透明物体和其他所有非透明物体。辅助线只考虑与第二图层中物体相交,并且距离摄像机最近的物体设置为显示,从而起到忽略第一图层物体的效果,以提高运行的效率。

附图说明

图1为本发明实施例的适用于bim轻量化的实时遮挡剔除方法的流程图。

图2为本发明实施例的适用于bim轻量化的实时遮挡剔除装置的结构框图。

具体实施方式

以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效。

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本发明。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

在本发明的描述中,需要理解的是,术语“第一”和“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。

在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”和“连接”应做广义理解,例如可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

图1为本发明实施例的适用于bim轻量化的实时遮挡剔除方法的流程图。如图1所示,本发明实施例的适用于bim轻量化的实时遮挡剔除方法,包括:

s1:根据显示设备的分辨率确定采样点总数量及每个采样点的视口坐标。

在本发明的一个实施例中,根据显示设备的分辨率使用haltonsequence算法计算出视口x方向及y方向的采样坐标数据,在计算x方向和y方向的采样坐标数据时,使用不同的质数,使得所有采样点均匀分布在整个视口平面上。

具体地,根据显示设备的屏幕分辨率计算出屏幕像素数目p,作为采样点总数量。使用haltonsequence算法分别计算出屏幕x方向及y方向的采样坐标数据。计算x方向和y方向坐标数据时,需要使用不同的质数,例如x方向质数取2,y方向质数取3,使得采样点均匀分布。

s2:将多个目标物体初始化为隐藏状态。

具体地,根据是否作为辅助线穿过的对象,将物体分别放置到两个图层:第一图层包括显示状态的透明物体,只能被遮挡,不能遮挡其他物体,不作为辅助线穿过的对象;第二图层包括非透明物体和隐藏状态的透明物体,作为辅助线穿过的对象。

将所有目标物体分别归为上述两个图层中,并且初始化为隐藏状态。由于初始化后所有目标物体均为隐藏状态,因此初始化后所有目标物体均在第二图层中。

需要说明的是,本发明并不限定步骤s1和步骤s2之间的先后执行关系,即可以是先执行步骤s1后执行步骤s2,也可以是先执行步骤s2后执行步骤s1,还可以是同时执行步骤s1和步骤s2。

s3:根据给定的采样点系数和采样点总数量确定每一帧的采样点数量,每一帧采样点分布均匀,根据摄像机的位置和每一帧采样点的视口坐标得到每一帧采样点的三维空间坐标,连接摄像机和每一帧采样点的三维坐标生成相应的辅助线。其中,每一帧的采样点均匀分布,包括:根据显示设备的分辨率使用haltonsequence算法计算出视口x方向及y方向的采样坐标数据,在计算x方向和y方向的采样坐标数据时,使用不同的质数,使得所有采样点均匀分布在整个视口平面上,并根据坐标转换算法得到每一帧均匀分布的采样点的三维空间坐标。

在本发明的一个示例中,采样点总数量为204800。由于采样点数量大且分布均匀,所以在一帧中不需要做所有采样点的连线,只需要连接其中的一部分。选择连接的采样点规则按照计算生成的顺序循环即可,每帧采样点的数量越大效果越好。当给定的采样点系数为0.001,则每一帧的采样点数量为对0.001×204800的乘积进行上取整,即每一帧的采样点数量为205。从摄像机生成205条辅助线,即第一帧中使用0~204采样点进行连接,第二帧使用205~409……。

在运行的每一帧中,将采样点视口坐标转换为三维空间坐标。例如某个采样点的视口坐标为(1/2,1/3),则采样点的三维坐标为(-4.8,2.3,-5),然后给定辅助线长度,例如辅助线的长度取3000,连接摄像机和这个采样的三维坐标生成一条辅助线,辅助线终点坐标为(-4.8,2.3,2995)。

需要说明的是,所有辅助线仅考虑与第二图层中的物体相交。

s4:从多个目标物体中获取选定目标物体,并获取选定目标物体的三角面信息和状态类型。其中,选定目标物体的三角面信息是模型导入的时候得到的。状态类型用于表示选定目标物体是透明物体,或者是非透明物体。

s5:如果根据选定目标物体的三角面信息确定选定目标物体为与预设辅助线相交且最靠近摄像机的物体,则将选定目标物体调整为显示状态,即将选定目标物体作为遮挡物体变为显示状态。

在本发明的一个实施例中,在步骤s5之后,还包括:如果选定目标物体为透明物体,则将选定目标物体从第二图层切换到第一图层中,以达到辅助线忽略选定目标物体的效果。其中,忽略选定目标物体的方式是常用图形引擎中的cullingmask方法。

在本发明的一个实施例中,在步骤s5之后,还包括:如果选定目标物体的状态类型为非透明物体,从选定目标物体调整为显示状态开始的m帧内,如果选定目标物体为与第二预设辅助线相交且距离摄像机最近的物体,则以选定目标物体与第二预设辅助线相交的时刻重置m的数量。示例性地,选定目标物体为物体a,物体a为非透明物体,第一预设辅助线为辅助线x,第二预设辅助线为辅助线y。在步骤s5中,判定了物体a为与辅助线x相交的目标物体中距离摄像机最近的目标物体,则步骤s5将物体a调整为显示状态,将物体a调整为显示状态的时间为t1。从t1开始,如果在m帧内,物体a为与辅助线y相交的目标物体中距离摄像机最近的目标物体,则重置m的数量,例如物体a为与辅助线y相交的时间为t2,则从t2开始重新判断m帧内是否存在辅助线与物体a相交,且物体a与该辅助线相交的物体中距离摄像机最近的物体,如果存在则再次重置m的数量;如果不存在,则在t2+m帧的时刻将物体a设置为隐藏状态,隐藏状态物体,作为不可见物体,从场景中剔除。一旦进入隐藏状态的物体将停止所有业务逻辑,以提高效率,仅保留碰撞体,用于判断和辅助线的关系。

在本发明的一个实施例中,在步骤s5之后,还包括:选定的目标物体为透明物体,在将其设置为隐藏状态时,还需要将此透明物体切换到第二图层中,以作为辅助线穿过的对象。

在本发明的一个示例中,通过摄像检测算法可以检测选定目标物体是否与辅助线相交。

表1

表1是一个示例中使用本发明的适用于bim轻量化的实时遮挡剔除方法和未使用本发明的方法的实测对比情况。从表1可以看出,使用本发明的适用于bim轻量化的实时遮挡剔除方法后,在帧率和cpu响应时间等指标上对现有技术有明显改进。

本发明实施例提供的适用于bim轻量化的实时遮挡剔除方法,针对bim点面数量巨大、构建数量多,并且这些构件都是单独的模型数据的情况,实现了对动态模型的实时遮挡剔除,可以有效的提高实时渲染效率,降低硬件要求,为满足大体量bim模型实时渲染提供了技术支持。此外,本发明根据考虑辅助线是否和物体相交,将物体分为两类:第一类是不考虑相交的物体,仅包括显示状态的透明物体;第二类是考虑相交的物体,包括隐藏状态的透明物体和其他所有普通物体。辅助线只考虑与第二类中物体相交,并且距离摄像机最近的物体设置为显示,从而起到忽略第一类物体的效果,以提高运行的效率。

图2为本发明实施例的适用于bim轻量化的实时遮挡剔除装置的结构框图。如图2所示,本发明实施例的基于bim的物体显示装置,包括:初始化模块100、计算模块200、辅助线生成模块300、选择获取模块400和控制处理模块500。

其中,初始化模块100用于设定多个目标物体的状态类型,并将多个目标物体的状态初始化为隐藏状态。计算模块200用于根据显示设备的分辨率确定采样点的总数量,使用haltonsequence算法计算出均匀分布的采样点视口坐标。辅助线生成模块300用于根据给定的采样点系数和采样总数量确定每一帧的采样点数量,并根据摄像机的位置和每一帧采样点的视口坐标得到每一帧采样点的三维空间坐标,连接摄像机和每一帧采样点的三维坐标生成相应的辅助线。选择获取模块400用于从多个目标物体中选择选定目标物体,并获取选定目标物体的三角面信息和状态类型。控制处理模块500用于如果选定目标物体的状态类型为隐藏状态,且根据选定目标物体的三角面信息确定选定目标物体为与第一预设辅助线相交且距离摄像机最近的物体,则将选定目标物体设置为显示状态。控制处理模块500还用于如果选定目标物体为透明物体,则从选定目标物体调整为显示状态开始,经过m帧后将选定目标物体设置为隐藏状态;其中,m为大于0的正整数。

在本发明的一个实施例中,控制处理模块500还用于在将选定目标物体调整为显示状态之后,如果选定目标物体为透明物体,在除了第一预设辅助线以外的其他辅助线与选定目标物体相交时忽略选定目标物体。

在本发明的一个实施例中,控制处理模块500还用于在将选定目标物体调整为显示状态之后,如果选定目标物体为非透明物体,从选定目标物体调整为显示状态开始的m帧内,如果选定目标物体为与第二预设辅助线相交且距离摄像机最近的物体,则以选定目标物体与第二预设辅助线相交的时刻重置m的数量。

在本发明的一个实施例中,辅助线生成模块300用于根据显示设备的分辨率使用haltonsequence算法计算出视口x方向及y方向的采样坐标数据,在计算x方向和y方向的采样坐标数据时,使用不同的质数,使得所有采样点均匀分布在整个视口平面上,并根据坐标转换算法得到每一帧采样点的三维空间坐标。

需要说明的是,本发明实施例的适用于建筑信息模型轻量化的实时遮挡剔除装置的具体实施方式与本发明实施例的适用于建筑信息模型轻量化的实时遮挡剔除方法的具体实施方式类似,具体参见基于建筑信息模型的物体显示方法部分的描述,为了减少冗余,不做赘述。

本发明实施例还提供一种电子设备,包括:至少一个处理器和至少一个存储器;所述存储器用于存储一个或多个程序指令;所述处理器,用于运行一个或多个程序指令,用以执行如第一方面所述的适用于建筑信息模型轻量化的实时遮挡剔除方法。

本发明所公开的实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序指令,当所述计算机程序指令在计算机上运行时,使得计算机执行上述的适用于建筑信息模型轻量化的实时遮挡剔除方法。

在本发明实施例中,处理器可以是一种集成电路芯片,具有信号的处理能力。处理器可以是通用处理器、数字信号处理器(digitalsignalprocessor,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。处理器读取存储介质中的信息,结合其硬件完成上述方法的步骤。

存储介质可以是存储器,例如可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。

其中,非易失性存储器可以是只读存储器(read-onlymemory,简称rom)、可编程只读存储器(programmablerom,简称prom)、可擦除可编程只读存储器(erasableprom,简称eprom)、电可擦除可编程只读存储器(electricallyeprom,简称eeprom)或闪存。

易失性存储器可以是随机存取存储器(randomaccessmemory,简称ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(staticram,简称sram)、动态随机存取存储器(dynamicram,简称dram)、同步动态随机存取存储器(synchronousdram,简称sdram)、双倍数据速率同步动态随机存取存储器(doubledataratesdram,简称ddrsdram)、增强型同步动态随机存取存储器(enhancedsdram,简称esdram)、同步连接动态随机存取存储器(synchlinkdram,简称sldram)和直接内存总线随机存取存储器(directrambusram,简称drram)。

本发明实施例描述的存储介质旨在包括但不限于这些和任意其它适合类型的存储器。

本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件与软件组合来实现。当应用软件时,可以将相应功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

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