三维模型渲染方法、装置及电子设备与流程

文档序号:16926257发布日期:2019-02-22 19:53阅读:156来源:国知局
三维模型渲染方法、装置及电子设备与流程

本发明涉及基于电力系统的图像处理技术领域,具体而言,涉及一种三维模型渲染方法、装置及电子设备。



背景技术:

变电站中电气设备的数目庞大,为了便于管理人员对变电站的各个设备进行监控管理,可以在虚拟环境下构建与变电站相对应的三维模型。管理人员可以通过查看三维模型中虚拟设备的工作状况以实现对变电站各设备的监控管理。因为变电站中设备多且复杂,所以在渲染变电站时,对设备的计算资源消耗高。在现有技术中,通常需要对构建的模型进行优化以降低设备计算资源的消耗,而模型优化的前期工作量大且技术难度高。



技术实现要素:

为了克服上述现有技术中的不足,本发明提供一种三维模型渲染方法、装置及电子设备。

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

第一方面,本发明实施例提供一种三维模型渲染方法,应用于电子设备,所述电子设备预先存储有与实体场景相对应的虚拟三维代理模型,所述三维代理模型包括与所述实体场景中的各目标物体对应的代理子模型,所述代理子模型与所述目标物体的虚拟三维子模型相关联,且所述代理子模型的面片数小于与所述代理子模型关联的虚拟三维子模型的面片数,所述方法包括:

基于预设显示窗口生成的射线阵列,确定所述三维代理模型中的所述射线阵列中每条射线所穿过的代理子模型为目标子模型;

将与所述目标子模型对应的虚拟三维子模型作为待渲染对象,并基于预设渲染规则将所述待渲染对象在与所述目标子模型对应的位置进行渲染显示。

可选地,上述代理子模型预先关联有所述代理子模型在所述三维代理模型中的空间位置数据集,所述确定所述三维代理模型中的所述射线阵列中每条射线所穿过的代理子模型为目标子模型,包括:

基于所述预设显示窗口在所述三维代理模型中的第一位置数据集,确定所述射线阵列中每条射线对应的第二位置数据集;

遍历每条射线对应的第二位置数据集,并将第二位置数据集与所述空间位置数据集中的相同的位置数据所对应的代理子模型作为被射线穿过的所述目标子模型。

可选地,上述基于预设渲染规则将所述待渲染对象在与所述目标子模型对应的位置进行渲染显示,包括:

根据所述待渲染对象在所述三维代理模型中的空间位置、预设缩放比例、预设特效,对所述待渲染对象进行缩放及渲染显示。

可选地,上述方法还包括:

将在预设的历史时段内作为过目标子模型而当前不是目标子模型的代理子模型作为预隐藏子模型,并将所述预隐藏子模型在所述历史时段内最近一次由目标子模型转变为非目标子模型的时刻作为初始时刻,将所述初始时刻至当前时刻的时段作为处理时长,并判断所述预隐藏子模型的预设剩余显示时长是否小于或等于所述处理时长;

当确定所述预设剩余显示时长小于或等于所述处理时长,则将所述预隐藏子模型对应的虚拟三维子模型进行隐藏。

可选地,在确定所述三维代理模型中的所述射线阵列中每条射线所穿过的代理子模型为目标子模型之前,所述方法还包括:

构建与实体场景相对应的虚拟三维模型以及与所述三维模型对应的虚拟三维代理模型,其中,所述三维模型中的虚拟三维子模型与所述目标物体对应,所述三维代理模型中的代理子模型与所述三维模型中的三维子模型相对应。

可选地,上述实体场景包括实体变电站,所述目标物体包括所述实体变电站中的电气设备。

可选地,上述预设显示窗口包括第一显示区域及第二显示区域,所述第一显示区域中的射线阵列的密度大于所述第二显示区域中射线阵列的密度。

第二方面,本发明实施例提供一种三维模型渲染装置,应用于电子设备,所述电子设备预先存储有与实体场景相对应的虚拟三维代理模型,所述三维代理模型包括与所述实体场景中的各目标物体对应的代理子模型,所述代理子模型与所述目标物体的虚拟三维子模型相关联,且所述代理子模型的面片数小于与所述代理子模型关联的虚拟三维子模型的面片数,所述装置包括:

确定单元,用于基于预设显示窗口生成的射线阵列,确定所述三维代理模型中的所述射线阵列中每条射线所穿过的代理子模型为目标子模型;

渲染单元,用于将与所述目标子模型对应的虚拟三维子模型作为待渲染对象,并基于预设渲染规则将所述待渲染对象在与所述目标子模型对应的位置进行渲染显示。

第三方面,本发明实施例提供一种电子设备,所述电子设备包括:

显示单元;

处理单元;

存储单元,用于预先存储与实体场景相对应的虚拟三维代理模型,所述三维代理模型包括与所述实体场景中的各目标物体对应的代理子模型,所述代理子模型与所述目标物体的虚拟三维子模型相关联,且所述代理子模型的面片数小于与所述代理子模型关联的虚拟三维子模型的面片数;及

三维模型渲染装置,包括一个或多个存储于所述存储单元中并由所述处理单元执行的软件功能模块,所述三维模型渲染装置包括:

确定单元,用于基于预设显示窗口生成的射线阵列,确定所述三维代理模型中的所述射线阵列中每条射线所穿过的代理子模型为目标子模型;

渲染单元,用于将与所述目标子模型对应的虚拟三维子模型作为待渲染对象,并基于预设渲染规则将所述待渲染对象在与所述目标子模型对应的位置进行渲染并通过所述显示单元显示。

第四方面,本发明实施例提供一种计算机可读存储介质,所述可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行上述的三维模型渲染方法。

相对于现有技术而言,本发明提供的三维模型渲染方法、装置及电子设备至少具有以下有益效果:该方法通过预先将实体场景中的目标物体对应的虚拟三维子模型转换为对应的代理子模型,然后基于预设显示窗口生成的射线阵列,确定三维代理模型中的射线阵列中每条射线所穿过的代理子模型为目标子模型;将与目标子模型对应的虚拟三维子模型作为待渲染对象,并基于预设渲染规则将待渲染对象在与目标子模型对应的位置进行渲染显示,其中,代理子模型的面片数小于与代理子模型关联的虚拟三维子模型的面片数。本方案通过代理子模型以确定待渲染对象,能够在不对虚拟三维子模型进行优化的情况下降低电子设备数据处理的压力;另外,通过对射线选中的代理子模型所对应的待渲染对象进行渲染,可以减少渲染对象,从而降低电子设备在渲染过程中对计算资源的消耗。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举本发明实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明实施例提供的电子设备的方框示意图。

图2为本发明实施例提供的三维模型渲染方法的流程示意图。

图3为本发明实施例提供的三维模型的场景的组织结构示意图。

图4为本发明实施例提供的电子设备中的预设显示窗口与射线阵列的示意图。

图5为本发明实施例提供的三维模型渲染装置的方框示意图。

图标:10-电子设备;11-处理单元;12-显示单元;13-存储单元;100-三维模型渲染装置;110-确定单元;120-渲染单元。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

在现有技术中,变电站中设备多且复杂,所以在对实体变电站进行虚拟三维建模及渲染时,对电子设备的计算资源消耗高。

鉴于上述问题,本申请发明人经过长期研究探索,提出以下实施例以解决上述问题。下面结合附图,对本发明实施例作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

请参照图1,为本发明实施例提供的电子设备10的方框示意图。本发明实施例提供的电子设备10可以用于执行下述三维模型渲染方法的各步骤,能够在不对虚拟三维子模型进行优化的情况下降低电子设备10数据处理的压力。

进一步地,电子设备10可以是,但不限于,智能手机、个人电脑(personalcomputer,pc)、平板电脑、个人数字助理(personaldigitalassistant,pda)、移动上网设备(mobileinternetdevice,mid)等。

请再次参照图1,电子设备10可以包括处理单元11、显示单元12、存储单元13以及三维模型渲染装置100,处理单元11、显示单元12、存储单元13以及三维模型渲染装置100各个元件之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。

处理单元11可能是一种集成电路芯片,具有信号的处理能力。上述处理单元11可以是通用处理器。例如,该处理器可以是中央处理器(centralprocessingunit,cpu)、图形处理器(graphicsprocessingunit,gpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。

显示单元12,显示单元12可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作交由处理单元11进行计算和处理。

存储单元13可以是,但不限于,随机存取存储器,只读存储器,可编程只读存储器,可擦除可编程只读存储器,电可擦除可编程只读存储器等。在本实施例中,存储单元13可以用于存储三维代理模型、三维模型等。当然,存储单元13还可以用于存储程序,处理单元11在接收到执行指令后,执行该程序。

进一步地,三维模型渲染装置100包括至少一个可以软件或固件(firmware)的形式存储于存储单元13中或固化在电子设备10操作系统(operatingsystem,os)中的软件功能模块。处理单元11用于执行存储单元13中存储的可执行模块,例如三维模型渲染装置100所包括的软件功能模块及计算机程序等。

可以理解的是,图1所示的结构仅为电子设备10的一种结构示意图,电子设备10还可以包括比图1所示更多或更少的组件。图1中所示的各组件可以采用硬件、软件或其组合实现。

请参照图2,为本发明实施例提供的三维模型渲染方法的流程示意图。本发明实施例提供的三维模型渲染方法可以应用于上述的电子设备10,由电子设备10执行该方法的各步骤,从而实现对三维模型的渲染与显示。其中,电子设备10预先存储有与实体场景相对应的虚拟三维代理模型。三维代理模型包括与实体场景中的各目标物体对应的代理子模型,代理子模型与目标物体的虚拟三维子模型相关联,且代理子模型的面片数小于与代理子模型关联的虚拟三维子模型的面片数。

可理解地,虚拟的三维代理模型与虚拟的三维模型均为场景模型,场景模型除了可以包括场景的背景外,还可以包括与目标物体对应的子模型。例如,对于实体的变电站,建筑场所可以作为场景模型中的背景,建筑场所中的每个电气设备(电气设备包括但不限于发电机、变压器、断路器、电流互感器等)可以作为一个独立的子模型。虚拟的三维子模型与实体的电气设备外观的形状结构相类似,代理子模型可理解为三维子模型的包围盒。比如,三维子模型为外观与发电机的形状结构相对应的虚拟模型,该三维子模型对应的代理子模型可以为能够将该三维子模型包围起来的立方体、长方体等。若为立方体,立方体有6面,也就是该立方体的面片数为6,而其三维子模型外观与发电机形状结构相同或类似,其面片数远远超过6片。即,代理子模型的数据量少,在对三维子模型进行渲染的中间过程中,通过使用代理子模型替换三维子模型,有助于降低电子设备10数据处理的压力,以及有助于提高数据处理的效率。

下面将对图2所示的三维模型渲染方法的各步骤进行详细阐述,在本实施例中,三维模型渲染方法可以包括以下步骤:

步骤s210,基于预设显示窗口生成的射线阵列,确定三维代理模型中的射线阵列中每条射线所穿过的代理子模型为目标子模型。

具体地,代理子模型预先关联有代理子模型在三维代理模型中的空间位置数据集,其位置数据可理解为三维空间中的坐标数据。步骤210可以包括:基于预设显示窗口在三维代理模型中的第一位置数据集,确定射线阵列中每条射线对应的第二位置数据集;遍历每条射线对应的第二位置数据集,并将第二位置数据集与空间位置数据集中的相同的位置数据所对应的代理子模型作为被射线穿过的目标子模型。

其中,第一位置数据集、第二位置数据集可以用函数或函数集来表示。比如,若第一位置数据对应的函数与第二位置数据集对应的函数在定义域内有交点,便视为第二位置数据集对应的代理子模型作为被射线穿过,该代理子模型便作为目标子模型。

在步骤s210之前,三维模型渲染方法还可以包括模型构建的步骤。例如,三维模型渲染方法还可以包括:构建与实体场景相对应的虚拟三维模型以及与三维模型对应的虚拟三维代理模型,其中,三维模型中的虚拟三维子模型与目标物体对应,三维代理模型中的代理子模型与三维模型中的三维子模型相对应。例如,每个代理子模型及三维子模型均有相应的标识码,两者的标识码可以建立映射关系,从而使得代理子模型与三维子模型相对应。

具体地,例如,对于变电站模型的构建,可以参照图3,为本发明实施例提供的三维模型的场景的组织结构示意图。在实体的变电站中,通常包括两类电气设备,一类作为一次设备(一次设备指图3中所示的设备1、设备n等设备),即为用于完成发电-输电-配电功能的设备,比如发电机,断路器,电流电压互感器,变压器,避雷器;另一类设备作为二次设备(二次设备指图3中所示的屏盘1、屏盘n等控件),即为对一次设备进行控制,保护作用的设备叫做二次设备,比如继电器,控制开关,指示灯,测量仪表等。

基于变电站一/二次设备场景的空间布局特点、电气连接特性和组件化构建的需求,本实施例可以采用空间n叉树结构来组织场景,场景中的节点包括两种类型,变换节点类型和模型节点类型。变换节点包括空间位置、空间旋转和空间缩放等信息,用于作为三维模型整个场景的空间架构的组成部分,模型节点包括电气设备所对应的三维子模型文件。可理解地,通过构建空间架构,然后在空间架构中填充三维子模型/代理子模型,即可构建得到与实体场景相对应的虚拟三维模型。其中,三维子模型可以通过扫描实体的电气设备得到,代理子模型可以为能够包围三维子模型的长方体或立方体模型。

可理解地,本实施例通过将代理子模型作为中间处理过程中的三维子模型的替代模型,因代理子模型的面片数较少,对应的数据也就少,使得电子设备10处理的数据也就减少,从而降低了电子设备10数据处理的压力,有助于提高电子设备10的处理效率。

步骤s220,将与目标子模型对应的虚拟三维子模型作为待渲染对象,并基于预设渲染规则将待渲染对象在与目标子模型对应的位置进行渲染显示。

其中,预设渲染规则可以根据实际情况进行设置。例如,步骤s220可以包括:根据待渲染对象在三维代理模型中的空间位置、预设缩放比例、预设特效,对待渲染对象进行缩放及渲染显示。预设缩放比例、预设特效可以根据实际情况进行设置。例如,电子设备10还可以接收变电站发送的各电气设备的运行参数,运行参数包括,但不限于温度值、电流值、电压值等,电子设备10可以基于运行参数而对三维子模型渲染相应的颜色。例如,电气设备的温度正常,电气设备对应的三维子模型渲染的颜色可以为绿色,若电气设备的温度异常(采集的温度值超过阈值,其阈值可根据实际情况进行设置),电气设备对应的三维子模型渲染的颜色可以为红色。基于此,便于管理人员通过电子设备10的显示单元12查看实体变电站中各设备的运行状况。

可选地,三维模型渲染方法还可以包括:将在预设的历史时段内作为过目标子模型而当前不是目标子模型的代理子模型作为预隐藏子模型,并将预隐藏子模型在历史时段内最近一次由目标子模型转变为非目标子模型的时刻作为初始时刻,将初始时刻至当前时刻的时段作为处理时长,并判断预隐藏子模型的预设剩余显示时长是否小于或等于处理时长;当确定预设剩余显示时长小于或等于处理时长,则将预隐藏子模型对应的虚拟三维子模型进行隐藏。其中,预设的历史时段、预设剩余时长可根据实际情况进行设置。

具体地,例如在一时间线上,假设当前时刻为12:00,此时代理子模型并不是目标子模型,而在五分钟之前,即11:55之前,代理子模型为目标子模型,该代理子模型便可以作为预隐藏子模型。若该预隐藏子模型在11:55的时刻由目标子模型转变为非目标子模型,且到当前时刻的过程中没有再变为目标子模型,那么11:55的时刻便作为初始时刻。初始时刻(11:55)至当前时刻(12:00)期间的时长为5分钟,这5分钟便作为处理时长。若预设剩余显示时长为2秒,即确定预设剩余显示时长小于处理时长,便对预隐藏子模型对应的虚拟三维子模型进行隐藏。基于此,可以使得刚刚离开视野的变电站设备(此处指虚拟模型)的画面连续,而不会因离开视野的变电站设备突然消失而导致画面不连续的问题出现。

请参照图4,为本发明实施例提供的电子设备10中的预设显示窗口与射线阵列的示意图。在本实施例中,三维模型渲染方法无需对整个环境中的所有对象进行渲染,而是通过射线阵列选择需要渲染的对象,从而可以减少渲染的对象,有助于降低电子设备10计算资源的消耗及内存资源的占用量。

在本实施例中,预设显示窗口可以包括第一显示区域及第二显示区域,第一显示区域中的射线阵列的密度大于第二显示区域中射线阵列的密度。例如,在图4中,方形框可以表示预设显示窗口,圆形区域表示第一显示区域,方形框中除去圆形区域之后的区域表示第二显示区域。可理解地,射线阵列的密度较大的区域便为可以展示更为详细的模型细节。

请参照图5,为本发明实施例提供的三维模型渲染装置100的方框示意图。本发明实施例提供的三维模型渲染装置100可以应用于上述的电子设备10,用于实现三维模型渲染方法的各步骤,能够在不对虚拟三维子模型进行优化的情况下降低电子设备10数据处理的压力;通过对射线选中的代理子模型所对应的待渲染对象进行渲染,可以减少渲染对象,从而降低电子设备10在渲染过程中对计算资源的消耗。具体地,三维模型渲染装置100可以包括确定单元110及渲染单元120。

确定单元110,用于基于预设显示窗口生成的射线阵列,确定三维代理模型中的射线阵列中每条射线所穿过的代理子模型为目标子模型。

渲染单元120,用于将与目标子模型对应的虚拟三维子模型作为待渲染对象,并基于预设渲染规则将待渲染对象在与目标子模型对应的位置进行渲染显示。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的三维模型渲染装置100的具体工作过程,可以参考前述方法中的各步骤对应过程,在此不再过多赘述。

需要说明的是,在本实施例中,实体场景可以包括实体变电站,对应的目标物体可以包括该实体变电站中的电气设备。实体场景也可以包括数控机房,对应的目标物体可以包括数控机房中的各数控设备。即,实体场景可以为需要进行图像仿真的场景,这里对具体的实体场景及目标物体不作具体限定。

本发明实施例还提供一种计算机可读存储介质。可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如上述实施例所述的三维模型渲染方法。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现,基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施场景所述的方法。

综上所述,本发明提供一种三维模型渲染方法、装置及电子设备。该方法通过预先将实体场景中的目标物体对应的虚拟三维子模型转换为对应的代理子模型,然后基于预设显示窗口生成的射线阵列,确定三维代理模型中的射线阵列中每条射线所穿过的代理子模型为目标子模型;将与目标子模型对应的虚拟三维子模型作为待渲染对象,并基于预设渲染规则将待渲染对象在与目标子模型对应的位置进行渲染显示,其中,代理子模型的面片数小于与代理子模型关联的虚拟三维子模型的面片数。本方案通过代理子模型以确定待渲染对象,能够在不对虚拟三维子模型进行优化的情况下降低电子设备数据处理的压力;另外,通过对射线选中的代理子模型所对应的待渲染对象进行渲染,可以减少渲染对象,从而降低电子设备在渲染过程中对计算资源的消耗。

在本发明所提供的实施例中,应该理解到,所揭露的装置、系统和方法,也可以通过其它的方式实现。以上所描述的装置、系统和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

可以替换的,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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