美章网 资料文库 3D场景显示在智能变电站中的应用范文

3D场景显示在智能变电站中的应用范文

本站小编为你精心准备了3D场景显示在智能变电站中的应用参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。

3D场景显示在智能变电站中的应用

《电气技术杂志》2014年第七期

13d场景显示开发环境的比较及选择

在计算机领域有多种成熟的三维图形显示技术可以选择。常用的3D开发软件主要有Unity3D,HTML5等。Unity3D能轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台综合型游戏开发工具,是一个全面整合的专业游戏引擎,具有优越的效果和很高的扩展空间[5];在网络方面,Unity3D提供了很强大的可视化编辑器和语言层面的网络类,支持重载和命名空间。HTML5是基于SVG、Canvas、WebGL和CSS3的3D功能的开发工具,在浏览器中能达到惊人的3D显示效果,HTML5在支持跨平台进行使用的同时,还提供数据与应用接入开放接口,使外部应用程序可以直接与浏览器内部数据直接相连,例如视频影音。Unity3D相对于其他开发环境,其优势在于:可以轻松的创建三维视频,并且可以使用AssetBundle动态载入外部模型,或者使用3dsMax正常制作三维模型,导入生成FBX文件,载入Unity3D中构建,最后进行交互操作。尽管HTML5也可是创作模拟出三维场景,但HTML5存在漏洞,产生的数据垃圾会对用户进行轰炸,甚至会在短时间将硬盘塞满。综合各方面因素,选用Unity3D进行三维场景的模拟在技术层而言相对稳定,并且易于操作。此外,Unity3D对于同一项目,在不需要修改的前提下,可以通过菜单到各种平台,市场空间很大。

2实现的关键技术

2.1三维模型建立首先是进行数据采集,包括地理信息、建筑物纹理等,在变电站中根据现实需求设置多个传感器,通过传感器获取设备或周边环境情况的信息,如图1所示。对信息进行采集,包括录像、信息、建筑物纹理等。在变电站中不同的位置设置摄像机,对实时情况进行录像,通过3dsMAX根据采集的信息进行三维模型建立。在三维模型空间中,设置一个摄像机的点,通过设置摄像机的角度,依据现场摄像机所提供的实际的参数转换为三维界面中摄像机的模拟参数,形成逼真、生动的现场效果模拟3D图像。设想有一个任意方向、任意位置的物体,我们要把它渲染到任意方向、任意位置的摄像机中。为了做到这一点,必须将物体的所有顶点从物体坐标系变换到世界坐标系,接着再从世界坐标系变换到摄像机坐标系。其中的数学变换总结如下:这样就能在渲染的循环外先将所有矩阵组合起来,使循环内作矩阵乘法的时候只需要和一个矩阵相乘即可(物体有很多顶点,省一次矩阵乘法就会提高不少效率),如下:通过摄像机和传感器完成对信息的采集之后,存储到相应的数据库中,利用三维制作软件3dsMAX根据已经采集的信息进行三维模型的建立。下面将比较动态贴图技术和使用Unity3D软件进行3D场景显示的两种方式。

2.2动态贴图技术动态贴图技术利用在三维模型的不同面以动态贴图的方式,从不同角度看到的视频角度不同,在视觉上初步实现3D视频显示。未经过动态贴图的三维模型为灰色,通过摄像机获取监控视频的画面,将视频画面截取为一帧一帧的图片,利用已经截取的图片对已经建立的三维模型动态贴图。通过在模型不同的面,间隔时间段的进行贴图,如图2所示。通过视频播放控件与GUI界面中的视频窗口叠加,视频截图不间断的替换出现,从而实现对视频的播放。但是,通过在三维模型上动态贴图的方式实现3D视频显示的同时也存在一些缺陷。由于三维模型的分辨率较低,将分辨率高于三维模型的视频截图动态贴入三维模型时,视频截图的分辨率也会随之降低。背离了3D视频显示清晰、真实的技术要求。

2.3Unity3D软件实现3D场景显示对建立的变电站的三维模型进行透视投影原理进行模型渲染,至Web,通过视频播放插件与GUI界面预设视频窗口叠加,实现3D场景显示。1)模型建立各个点的摄像机获取的场景和设备纹理以及传感器获得的各种信息,通过程控放大器、A/D数模转换以及逻辑控制,传送到服务器的数据库中。利用三维软件3dsMAX,根据计算机存放的数据库采集的变电站现场的信息进行模型的建立,将建立的模型进行场景的拼接,模拟出变电站现实场景相对应虚拟现实的初步三维模型。利用Unity3D可以导入外部模型的特性,将已经建立的虚拟现实的初步三维模型导入Unity3D中进行模型的透视投影和渲染等。2)透视投影的实现对于透视投影的标准模型,视平面的坐标模型如图3所示,它的坐标原点位于视平面的中心,x轴正向水平向右,y轴正向垂直向上。要把透视投影的结果在计算机屏幕上显示的话,需要对透视图进行坐标变换,将其从视平面坐标系转换到屏幕坐标系。3)载入3D模型在3dsMAX中,已经根据现场所采集的信息,包括设备、建筑等按照视频需求比例进行了三维模型建立;使用MattFairfax实现的Model_3DS类支持3DS模型文件的载入。并对已经导入的变电站的三维模型进行视图变换、透视变换和屏幕变换。4)视图变换为表示透视投影的模型,实现了KCamera类,除保存视点的位置和姿态,还保存视图变换矩阵m_kmView,随着视点位置和姿态的变化,视图矩阵也不断更新。对于世界坐标系中的任何一点v(x,y,z),通过v=m_kmView×v将其变换到透视投影的标准模型坐标系,通过KCamera::Transform函数实现。5)透视变换经过视图变换之后,利用KFrustum类用来对透视投影的模型进行建模,其成员包括视平面的尺寸大小,以及近截面和远截面的z轴坐标。KFrustum通过Project函数将视图变换的结果变换为透视坐标。代码实现如下:6)屏幕变换实现视图变换和投影变换之后,需要将其转换为适合屏幕大小的模型,继而需要进行屏幕变换;屏幕变换的算法通过宏实现,代码如下。7)三维模型的渲染将已经导入经过投影变换的变电站的电力系统以及变电站周边环境的三维模型进行渲染,渲染使用软件来实现,没有使用任何第三方图形库,主代码在KCamera::Render函数中,它接收两次参数:Model_3DS和KSurface,对Model_3DS中的顶点进行透视投影。渲染代码如下:7)三维模型的渲染将已经导入经过投影变换的变电站的电力系统以及变电站周边环境的三维模型进行渲染,渲染使用软件来实现,没有使用任何第三方图形库,主代码在KCamera::Render函数中,它接收两次参数:Model_3DS和KSurface,对Model_3DS中的顶点进行透视投影。渲染代码如下:8)视频叠加重合三维模型渲染结束之后,将其至Web上,在GUI客户端界面的设计过程中,预留的配置了Web浏览器的视频播放窗口,将Unity3D虚拟视频与预先定义的视频窗口进行叠加重合,实现3D视频的播放功能,从而达到理想中的3D场景显示的效果,如图5所示。

2.4试点应用上述两种方式均能实现3D视频的显示,但通过实际模型对比得出第二种方式实现3D场景显示的效果优于第一种方式。因此采用第二种方式在220kV武侯变电站上试点建设一套3D显示系统来展现变电站场景及站端辅助系统。用户可以通过客户端访问系统,客户端所采用的通信协议,具有很强的开放性和兼容性,完全能融合在电力系统现有网络中。通过标准的客户端,相关负责人和管理人员可根据不同的权限对系统进行配置及监控,操作界面全部为中文可视化界面,使用非常方便。此系统将获取的真实站端动环数据,如环境温湿度、风度、风向等环境量以及门禁,集成到3D场景显示系统中。在此3D显示界面上,管理人员可以根据3D虚拟现实视频中得到的实时数据的模拟数据,判断设备周边环境和设备运行情况。图6所示为设备周边环境,能真实地反映出周边环境温湿度、风度、风向等环境量以及门禁等的变化。图7所示为设备运行情况,根据3D虚拟现实视频中的实时数据,立体、形象、真实地反映了变电站各个设备的细节和特征以及运行情况,让管理人员和技术人员可以更直观地了解设备的运行情况。试点表明利用透视原理,使用Unity3D软件可以很好的展现生成变电站3D场景,并能把辅助系统的相关数据都融合到这个界面上,对变电站的全景数据进行有效的展示。

3结论

目前,3D视频显示技术虽然已经应用于众多领域,但在电力企业的信息化建设中应用并不普遍,武侯变电站的试点结果表明,在电网的信息化建设中,采用3D场景显示技术呈现变电站设备的空间关系以及环境数据的实时变化,既可以纵览全局,也可以观察局部详细信息,为变电站的智能化管理提供了直观、准确并且真实的监控管理方式。利用3D场景显示技术进行有效的监控和管理,能更好的满足生产运维、安防应急的需求,同时也有利于工程人员进行扩建项目的分析和设计,将大大提高管理的可操作性并提升了电网信息化的管理和决策水平。

作者:马玫杨鸿昌白丁单位:国网四川省电力公司信息通信公司