1、 中国电工网虚拟现实电力培训系统场景渲染方法改进与实现曾小平,黄志良,董俊根(福建省电力有限公司泉州电力技能研究院,福建 泉州 ;北京科东电力控制系统有限责任公司,北京 )摘要:结合虚拟现实技术、三维建模技术、计算机仿真技术的电力培训仿真系统以其高交互性、高沉浸感、低成本、安全高效的优势在电力培训领域得到了广泛的应用。从视觉和行为交互上为学员构建一个接近现实的作业环境是虚拟现实电力培训系统的最根本特征,但是电力作业培训高频率的人机交互操作会导致高质量的作业环境模型产生渲染困难,影响培训效果。为提升系统运行流畅性和实时性,提出了一种改进的四叉树场景渲染方法,利用迭代构造方法改进了传统递归遍历四叉
2、树的过程。实际应用效果表明采用改进的场景渲染方法会使得培训系统渲染流畅,三维效果逼真,增强了系统的实时性和学员的使用体验,提升了培训效果。关键词:虚拟现实;四叉树;场景渲染;仿真培训中图分类号:,(,;,):,:;基金项目:福建省电力有限公司科技项目(编号 )收稿日期:作者简介:曾小平(),硕士,讲师,从事输配电工程培训教学工作;黄志良(),讲师,研究方向为计算机应用技术;董俊根(),硕士,研究方向为电力系统仿真培训。引言虚拟现实仿真培训系统是一种新型的培训方式,相关电力作业人员可利用此种现代化培训工具,有效地提高学员理论知识、正常操作、异常与事故处理等相关工作技能。融合三维建模技术、虚拟现实
3、技术、计算机仿真技术的培训系统以其高交互性、高沉浸感、高还原度在电力培训中得到了广泛的应用。在虚拟现实仿真培训系统中,为达到良好的培训效果,需有高逼真度、高质量的三维虚拟作业环境、工器具、设备和虚拟任务模型,还需学员尽可能多地进行人机交互来模拟实际作业流程中的各种操作。但是高质量的三维模型在高频的人机交互过程中会出现画面渲染困难、系统帧率降低等问题。多细节层次的图像分隔技术又称为 (),可解决系统运行过程中渲染的实时性问题。该技术通过不同的细节描述方法来存储场景中三维模型。实现 的重要数据结构是四叉树结构。传统的四叉树数据结构的构造函数采用递归的方法,对于数结构很深的数据,操作数将呈指数级放大
4、,导致系统渲染的计算量也呈指数级增长,难以实现系统的流畅运电工技术输配电工程2023 1期 行。在现有的虚拟现实仿真培训系统中,由于不同工种之间的虚拟人物外形、服装差异较大,人员在工作时的动作、位置等也不尽相同,因此会导致不同工种角色在虚拟场景中对应的人物图形的真实感不足 。针对以上虚拟现实仿真培训系统中存在的问题,本文提出了一种改进四叉树的场景实时渲染方法,并在电力电缆虚拟现实仿真培训系统中进行了测试。改进的场景渲染方法 场景渲染方法基本原理为解决高精度场景模型的渲染速率实时性和虚拟人物生成效果的问题,本文提出了一种改进四叉树的场景渲染方法。技术基于四叉树的原理,将三维空间进行高效划分,非其
5、他方法一样描述物体,可高效地提升三维场景渲染速度。基于四叉树思想的三维空间划分原理如图所示,将指定的三维空间按照水平面的四个象限划分为四个空间,每个空间称作一个子节点,不会再继续按照四叉树思想进行划分的节点称作叶子节点。每个象限的每一个非叶子节点都可继续被划分为四个子节点,这四个子节点可将其父节点占据的区域平均分为四份,直到出现叶子节点。叶子节点即为渲染和贴图工作中的最小单位,可根据分辨率改变叶子节点的大小。图 1 四叉树结构图第四象限第二象限第三象限第一象限在三维渲染过程中,把整个要渲染的画面看作一个矩形网格,然后根据四叉树思想进行分割。首先计算网格所有目标点到视点之间的距离,目标点和视点之
6、间的距离越小,按四叉树思想进行分割的精度要求就越高;然后计算网格目标点位置的平坦度,平坦度越低,按照四叉树思想进行分割的精度要求就越高,将目标点到视点的距离和目标点的平坦度结合就可确定分割精度。随后根据上述计算的精度值来确定该网格是否需要再进一步划分子节点。对于精度值不满足要求的节点,则需按四叉树原理继续细分,而满足精度要求的节点,则设置其标志位为真,并进行渲染。基于四叉树的场景划分渲染处理单元接收到场景数据后,将每一个三维元素顶点坐标(,)分为(,)与两个部分处理,其中是该顶点的高度。在三维渲染过程中,把整个要渲染的环境看作一个矩形网格,根据节点与观察者位置的距离及平坦度共同确定该节点三维元
7、素渲染精度值需求,距离越近,平坦度越低的节点所在位置对应的渲染进度要求越高,对应的四叉树节点就需进一步细分。如图所示,节点中心到观察者的距离为,可根据(,)求得,节点的边长为,设置一个网格划分因子。若,则判定该节点需要进一步划分;若,则不需进一步划分。网格划分因子的取值越大,则场景的渲染精度越高。图 2 根据观察距离判定是否进行四叉树划分示意图如图所示,一个四叉树节点中心点及其边界的中点分别为、,定义 为点所在的边界两个顶点的高度之和除以再和的高度值即相减的结果,代表所在的边的平坦度,同理可计算另外三条边的平坦度、。四叉树节点顶点和中心点之间的平坦度计算方式为:节点四个顶点的高度值之和除以再与
8、的高度值作差,计为。若五个平坦度之间的最大值 (、),则判定该四叉树节点平坦度较低,需进一步划分。设置的数值越小,场景的渲染精度越高。图 3 根据观察平坦度判定是否进行四叉树划分示意图p1p4p2op3通过以上判定流程即可确定网格是否需要进一步进行四叉树划分。不需进一步划分的就进行渲染贴图,需进一步划分的就继续进行划分。四叉树的数据的结构 如下:;输配电工程电工技术 中国电工网 ;其中,表示树节点序号。表示四叉树节点的深度信息。深度信息即节点被划分的次数,根节点被划分的次数为,所以其深度信息值为;根节点的下一层四个子节点深度信息为,再往下一层的子节点深度信息为。表示节点所在空间的中心点。表示四
9、叉树每个节点的中心点到空间边界的距离。在三维虚拟空间中,整个模型空间是自下而上形成的,其基准面可理解为水平地面,因此只需一个中心点位置和一个距离值,也就是上述的 和 ,就可将此立体空间完全还原。表示该节点的父节点。表示该叶子节点所包围立体空间中的所有模型节点。传统的四叉树构造使用递归构造方法来表示:()();该方法会预先生成一个节点,程序判定该节点是不是叶子节点,如果不是叶子节点就利用上述构造函数生成四个子节点,生成的四个子节点如果可继续划分子节点,就反复递归调用构造函数,直到子节点变成不可被继续划分的叶子节点。这样传统的递归调用方法不可避免地会产生堆栈操作。函数是一种指令序列,其本质是响应程
10、序调用而执行的。该过程首先调用设置活动记录,设置活动记录包含 参 数 表 和 返 回 调 用 模 块 后 需 执 行 的 下 一 条 指令。这就意味着在调用函数时就需将该调用指令压入堆栈,函数执行完毕时再从堆栈中读取出来。对这种递归函数,压入和读取会对堆栈产生极大的负荷,占用计算机性能,使得计算速度大幅降低。此外,基于递归函数的特性,一次调用可能会产生后续更多的递归调用,因此所需的堆栈操作数将以指数级别被放大,使得其堆栈超出可用空间的范围。基于上述缺点,下面介绍一种利用迭代来完成整个树结构生成的方法。该方法利用循环结构,由上至下按顺序地生成所有四叉树节点。四叉树函数构造过程如图所示,首先创建一
11、个立体空间场景,其中包括了所有的模型节点;然后循环调用构造函数来创建空间内所有节点新的子节点,直到所有节点均为叶子节点。因为模型渲染的需求,四叉树的层数在渲染前已确定,其中的节点数量也已确定,所以可根据空间内的所有节点总数是否已满来判断循环是否继续,若总数未满则继续循环创建新的节点,反之则跳出循环。这种迭代构造子节点的方法可大大减少计算量,同时减少相关数据所需的堆栈操作,减轻了堆栈的压力,极大提高了渲染速度。图 4 四叉树函数构造过程开始接收三维场景数据水平面坐标(x,z)根节点初始化高度值 y各节点的观察距离及节点平坦度计算进一步细分?NYY叶子节点?N划分成 4 个子节点节点数量已满?NY
12、场景划分结束渲染和贴图在学员的交互操作过程中,利用射线进行交互操作是一种重要的交互方式。射线检测是一种高效的检测方式,将射线看做一条已知长度的有向线段,便可利用该检测方法,得到模型对象与线段的相交情况,在场景渲染中主要用来确定待处理的模型对象及其部位。面向四叉树的射线检测主要解决的是射线和包围盒的求交问题。射线检测流程如图所示。首先判断子节点是否与射线相交,若相交则依次读取各个子节点,判断子节点是否为叶子节点,并遍历叶子节点所包含的所有模型包围盒,对其进行检测;若不相交则放弃该节点内的所有子节点。图 5 射线检测流程开始子节点与射线相交?为叶子节点?包围盒求交结束依次读取子节点NNYY应用本文
13、提出的改进四叉树场景渲染方法已在福建省电力有限公司泉州电力技能研究院相关仿真培训项目得到成功应用。图为系统应用效果图,图为基于改进四叉树的图 6 系统应用效果图电工技术输配电工程2023 1期 沉浸式三维场景渲染方法渲染出的作业虚拟环境,图为生成的虚拟工作负责人角色。由此可知,虚拟环境和虚拟角色的生成和渲染效果清晰逼真。图 7 场景渲染效果图图 8 虚拟角色渲染效果为测试系统渲染流畅度,对不同面数和节点数的场景进行渲染最大帧率对比测试。测试环境:客户端 为 ,内存为。服务器 为至强 四核,内存为 ,网络带宽为 。测试结果见表。表改进算法渲染帧数对比测试项目传统 方法 本文改进的四叉树 方法 效
14、率提升()个面 个节点 个面 个节点 个面 个节点 由表可知,在相同面数和节点数的情况下,改进的四叉树 方法比传统 方法的渲染帧率有较大提升,且渲染场景越复杂,改进方法的提升效果越明显。结语本文提出了一种虚拟现实电力培训系统场景渲染的改进渲染方法,通过四叉树结构将场景分为若干小块,通过迭代构造方法改进传统四叉树的递归遍历过程。在电力电缆虚拟现实仿真培训系统中的应用效果表明该渲染方法提升了参训人员在复杂的作业环境中,高频率人机交互过程中的场景渲染的实时性,满足作业过程中不同工种的不同虚拟角色的需要,且场景逼真,学员的沉浸感强烈,可很好地增强学员的培训体验,提升培训效果。参考文献 邓成俊,谭世海,
15、汪超 基于 虚拟仿真技术的电力安全实验培训系 统 设 计 与 实 现 实验室研究与探索,():马士超 电力电缆故障测试仿真培训系统的设计与开发广州:华南理工大学,张良力,代林刚,柴琳 电力变压器高压试验虚拟仿真实验教学系统设计实验技术与管理,():,郝腾飞,刘晓,李军锋,等基于虚拟现实技术的电力企业三维培训系统设计自动化与仪器仪表,():吴元忠,林菁,蔡超,等基于操作票的高压开关柜实操培训 系统设计电气开关,():张一玫虚拟现实中 建模技术的应用研究数字技术与应用,():,刘一明,何晓曦,黄世贤大规模三维模型加速渲染技术的研究与应用成都信息工程大学学报,():孔剑虹,杨超,于晓辉,等基于视点的
16、三维点云自适应多细节层次模型动态绘制科学技术与工程,():周凡视频影像增强虚拟三维场景的注册与渲染方法研究测绘学报,():后插 周忠,周颐,肖江剑虚拟现实增强技术综述中国科学:信息科学,():黄建峰,宋金根,丁小蔚,等基于静态 的输电线路虚拟地形渲染优化算法计算机系统应用,():聂道聪,郑洪源 一种使用四叉树分割的分形信息隐藏算法计算机应用与软件,():韩莹,杨丽芳,郭娜基于 技术的多分辨率海水场景实时仿真 计算机仿真,():(上接第 页)合导通 控 制 方 法 莆 田 学 院 学 报,():张淑芳,宋香明,朱彬华结合改进 神经网络的无刷直流电机控制 南开 大 学 学 报(自 然 科 学 版),():赵鸿宇,陆豪,王鑫,等 两种 调制方式对无刷直流电机转矩脉动的影响研究导弹与航天运载技术,():闫鹏,周文,胡雪凯,等基于模糊 的电动汽车无刷直流电机控制系统研究 河北电力技术,():,万清,宋锦,雷志强,等 基于 的直流无刷电机矢量控制系统设计电子与封装,():王吉亮,王慧,王骁贤,等无刷直流电机匝间短路故障定位及定量评估方法研究 河北科技大学学报,():输配电工程电工技术