论文部分内容阅读
摘要 结合开发实践,阐述高压电气设备三维虚拟实验系统中虚拟场景的建模与优化,实现将虚拟实验与传统实验相结合,有效提高实验教学的质量。
关键词 虚拟实验;虚拟现实技术;3D
中图分类号 G434 文献标识码 A 文章编号 1671-489X(2008)12-0087-02
1 引言
伴随着计算机技术和虚拟仿真技术的发展,虚拟实验已被逐渐地引入实验教学。将虚拟实验与传统实验相结合,使两者相辅相成,扬长避短,可以提高实验教学的教学质量。
目前,国内已有很多关于虚拟实验系统的研究。如北京邮电大学网络教育技术研究所文福安教授,历时2年开发了《数字电路》《电路分析》《中学物理电学虚拟实验》3门课程的单机版和网络版的虚拟实验系统。大部分二维虚拟实验是基于美国国家仪器有限公司的虚拟实验开发工具LabView开发的。LabView是一个图形化的开发环境,具有内置的信号采集,测量分析与数据显示功能。基于它可以开发出功能完善的二维虚拟实验系统,但是这样的虚拟实验系统缺少“实物感”。
虚拟现实技术具有沉浸性、交互性、自主性的特点[1],是一种高级的用户界面技术,可以增强虚拟实验的“实物感”。本文旨在探讨基于虚拟现实技术与仿真技术的高压电气设备三维虚拟实验系统的建模与优化。
2 高压电气设备三维虚拟实验系统的构成
基于虚拟现实技术与仿真技术的高压电气设备三维虚拟实验系统,由虚拟场景管理、输入输出设备的管理、虚拟仿真场景和支持场景4个子系统构成,它们之间的关系如图1所示。(图1由上海交通大学计算机集成制造研究所虚拟现实研发部武殿梁提供。)
3.2 虚拟场景的优化为了提高虚拟场景的渲染速度,避免给用户造成长时间的交互等待,需要通过多种方式对虚拟场景进行优化。
1)调整虚拟仪器模型的层级结构。模型数据库的层级结构组织形式对于实时系统渲染过程的遍历操作和剔除过程有着重要的影响。一般而言,可以通过3种不同的形式来组织虚拟仪器模型数据库。
①线形结构:把虚拟场景中的节点都作为一个单独组节点的子节点,整个虚拟仪器模型数据库只有一个主节点。
②逻辑结构:对虚拟场景中的所有的物体节点按照某种逻辑结构进行分组,将它们分别放在相应的逻辑组节点下。
③空间结构:根据虚拟仪器模型在场景中的具体位置来组织模型节点,这样实时系统可以加快遍历操作和剔除操作。
一般来说,按照空间结构对虚拟仪器模型数据库进行分组,可以较大地提高虚拟场景的渲染速度。因为实时系统可以通过虚拟场景的空间结构,快速地判断出哪些区域在或不在视锥体的可视范围内,尤其是对于大规模的场景数据库来说,这种优化可以明显地提高渲染速度[2]。
2)减少多边形面片的数量。任何实时系统的图形硬件,对于某个给定的帧率,只能计算处理有限数量的多边形。如果模型数据库的多边形数量超过图形硬件的处理能力,那么虚拟场景就不能被流畅地渲染。所以应该在不影响视觉效果的前提下,用尽可能少的多边形来表现尽可能丰富的虚拟实验场景。可以通过如下的多种方式来减少多边形数量。
①多层次细节模型:使用LOD(多层次细节模型)技术创建包含不同细节程度的模型,可以在图形硬件可以处理的范围内有效地提高虚拟场景的渲染效率,增强视觉效果。不同细节层次的虚拟仪器模型使用不同数量的多边形,当视点离物体模型越近时,使用细节程度越高的模型版本;而当视点离物体模型越远时,使用细节程度越低的模型版本。
②用纹理代替模型细节:使用纹理可以在很大程度上增强模型的“逼真感”,并且可以减少模型的面片数量而不会降低视觉效果。另外,对于使用LOD技术的模型,可以对不同细节层次的模型用不同分辨率的纹理。即对细节程度较高的模型使用高分辨率的模型,而对细节程度较低的模型使用低分辨率的纹理。
③删除冗余多边形:对于永远不会被显示出来的冗余多边形,可以在模型数据库中手动删除它们。如模型实体内部的多边形和背面多边形都可以被删除。除了手动删除冗余多边形外,还可以通过第三方软件工具自动删除冗余多边形面片。
3)使用边界体(bounding volume)。边界体是一个包围模型几何体的最小不可见几何体,如常用的长方形体型或球体型边界体。可以在Creator建模软件中为模型数据库定义边界体,这些边界体可以被用于渲染虚拟场景时的碰撞检测、剔除多边形面片等操作。
4)灵活运用裁剪面。裁剪面被用于定义可见范围的最近平面和最远平面。可以通过改变裁剪面,控制模型数据库在图形视图中的可见范围。只有处于近裁剪面和远裁剪面之间的多边形面片才会被显示出来。对于大规模的模型数据库而言,合理地设置裁剪面,可以明显地加快模型数据库在图形视图中的显示速度,从而提高虚拟实验场景的渲染速度。
如图4所示,用户可以在虚拟场景中进行实验操作。场景中的变压器、供频耐压工作箱、便携式高压发生器等仪器体上都有很多小的标准器件,可以在场景中重复地调用标准器件,这样可以减少显卡内存的负荷,加快渲染速度。对于变压器等比较复杂的模型,在建模的过程中,通过合并多边形面片、减少冗余面片、动态地改变裁剪面等方式,减少实时渲染系统的处理负荷,从而加快系统的响应速度。
4 总结
在基于虚拟现实技术和仿真技术的三维虚拟实验系统的开发中,虚拟场景的构建是很重要的一环,它关系到虚拟场景的渲染速度。如果场景的渲染速度太慢,将会降低用户交互的响应速度,从而影响系统的整体使用效果。因此在虚拟场景的建模与实现的过程中,需要通过多种方式来优化虚拟场景的渲染,提高三维虚拟实验软件系统的质量。
参考文献
[1]SGI公司.OpenGL Performer Programmer’s Guide:Version 3.2.2004:xlv
[2]王乘,周均清,李利军. Creator可视化仿真建模技术[M].武汉:华中科技大学出版社,2004:245-246
关键词 虚拟实验;虚拟现实技术;3D
中图分类号 G434 文献标识码 A 文章编号 1671-489X(2008)12-0087-02
1 引言
伴随着计算机技术和虚拟仿真技术的发展,虚拟实验已被逐渐地引入实验教学。将虚拟实验与传统实验相结合,使两者相辅相成,扬长避短,可以提高实验教学的教学质量。
目前,国内已有很多关于虚拟实验系统的研究。如北京邮电大学网络教育技术研究所文福安教授,历时2年开发了《数字电路》《电路分析》《中学物理电学虚拟实验》3门课程的单机版和网络版的虚拟实验系统。大部分二维虚拟实验是基于美国国家仪器有限公司的虚拟实验开发工具LabView开发的。LabView是一个图形化的开发环境,具有内置的信号采集,测量分析与数据显示功能。基于它可以开发出功能完善的二维虚拟实验系统,但是这样的虚拟实验系统缺少“实物感”。
虚拟现实技术具有沉浸性、交互性、自主性的特点[1],是一种高级的用户界面技术,可以增强虚拟实验的“实物感”。本文旨在探讨基于虚拟现实技术与仿真技术的高压电气设备三维虚拟实验系统的建模与优化。
2 高压电气设备三维虚拟实验系统的构成
基于虚拟现实技术与仿真技术的高压电气设备三维虚拟实验系统,由虚拟场景管理、输入输出设备的管理、虚拟仿真场景和支持场景4个子系统构成,它们之间的关系如图1所示。(图1由上海交通大学计算机集成制造研究所虚拟现实研发部武殿梁提供。)
3.2 虚拟场景的优化为了提高虚拟场景的渲染速度,避免给用户造成长时间的交互等待,需要通过多种方式对虚拟场景进行优化。
1)调整虚拟仪器模型的层级结构。模型数据库的层级结构组织形式对于实时系统渲染过程的遍历操作和剔除过程有着重要的影响。一般而言,可以通过3种不同的形式来组织虚拟仪器模型数据库。
①线形结构:把虚拟场景中的节点都作为一个单独组节点的子节点,整个虚拟仪器模型数据库只有一个主节点。
②逻辑结构:对虚拟场景中的所有的物体节点按照某种逻辑结构进行分组,将它们分别放在相应的逻辑组节点下。
③空间结构:根据虚拟仪器模型在场景中的具体位置来组织模型节点,这样实时系统可以加快遍历操作和剔除操作。
一般来说,按照空间结构对虚拟仪器模型数据库进行分组,可以较大地提高虚拟场景的渲染速度。因为实时系统可以通过虚拟场景的空间结构,快速地判断出哪些区域在或不在视锥体的可视范围内,尤其是对于大规模的场景数据库来说,这种优化可以明显地提高渲染速度[2]。
2)减少多边形面片的数量。任何实时系统的图形硬件,对于某个给定的帧率,只能计算处理有限数量的多边形。如果模型数据库的多边形数量超过图形硬件的处理能力,那么虚拟场景就不能被流畅地渲染。所以应该在不影响视觉效果的前提下,用尽可能少的多边形来表现尽可能丰富的虚拟实验场景。可以通过如下的多种方式来减少多边形数量。
①多层次细节模型:使用LOD(多层次细节模型)技术创建包含不同细节程度的模型,可以在图形硬件可以处理的范围内有效地提高虚拟场景的渲染效率,增强视觉效果。不同细节层次的虚拟仪器模型使用不同数量的多边形,当视点离物体模型越近时,使用细节程度越高的模型版本;而当视点离物体模型越远时,使用细节程度越低的模型版本。
②用纹理代替模型细节:使用纹理可以在很大程度上增强模型的“逼真感”,并且可以减少模型的面片数量而不会降低视觉效果。另外,对于使用LOD技术的模型,可以对不同细节层次的模型用不同分辨率的纹理。即对细节程度较高的模型使用高分辨率的模型,而对细节程度较低的模型使用低分辨率的纹理。
③删除冗余多边形:对于永远不会被显示出来的冗余多边形,可以在模型数据库中手动删除它们。如模型实体内部的多边形和背面多边形都可以被删除。除了手动删除冗余多边形外,还可以通过第三方软件工具自动删除冗余多边形面片。
3)使用边界体(bounding volume)。边界体是一个包围模型几何体的最小不可见几何体,如常用的长方形体型或球体型边界体。可以在Creator建模软件中为模型数据库定义边界体,这些边界体可以被用于渲染虚拟场景时的碰撞检测、剔除多边形面片等操作。
4)灵活运用裁剪面。裁剪面被用于定义可见范围的最近平面和最远平面。可以通过改变裁剪面,控制模型数据库在图形视图中的可见范围。只有处于近裁剪面和远裁剪面之间的多边形面片才会被显示出来。对于大规模的模型数据库而言,合理地设置裁剪面,可以明显地加快模型数据库在图形视图中的显示速度,从而提高虚拟实验场景的渲染速度。
如图4所示,用户可以在虚拟场景中进行实验操作。场景中的变压器、供频耐压工作箱、便携式高压发生器等仪器体上都有很多小的标准器件,可以在场景中重复地调用标准器件,这样可以减少显卡内存的负荷,加快渲染速度。对于变压器等比较复杂的模型,在建模的过程中,通过合并多边形面片、减少冗余面片、动态地改变裁剪面等方式,减少实时渲染系统的处理负荷,从而加快系统的响应速度。
4 总结
在基于虚拟现实技术和仿真技术的三维虚拟实验系统的开发中,虚拟场景的构建是很重要的一环,它关系到虚拟场景的渲染速度。如果场景的渲染速度太慢,将会降低用户交互的响应速度,从而影响系统的整体使用效果。因此在虚拟场景的建模与实现的过程中,需要通过多种方式来优化虚拟场景的渲染,提高三维虚拟实验软件系统的质量。
参考文献
[1]SGI公司.OpenGL Performer Programmer’s Guide:Version 3.2.2004:xlv
[2]王乘,周均清,李利军. Creator可视化仿真建模技术[M].武汉:华中科技大学出版社,2004:245-246