邢红宏, 梁承红, 张纪磊, 牟 青
(海军航空工程学院a.基础实验部;b.研究生管理大队,山东 烟台 264001)
总参军训和兵种部在《军队院校基础实验室建设标准》中要求:实验室应具备开展虚拟实验的条件,把虚拟实验列为实验教学的重要组成部分。尤其是功能强大的软件技术像3Ds Max、Virtools的出现为虚拟实验提供了可靠的技术支持,虚拟实验作为一种新的教学模式被引入到实验教学中,改变了实验系统的构建模式,突破实验教学的时空限制,在提高实验教学质量、缓解实验教学压力等方面发挥着积极的作用,因其广泛的应用前景而日益得到人们的重视[1]。
虚拟实验的开发,最终的使用者是教师和学生,软件的各功能的实现也应满足他们的需求,所以了解教师与学生对虚拟实验的认识以及他们对软件的需求是开发者应考虑的首要问题[2-4],总的说来应遵循以下几个原则:
(1)数学模拟。实验内容并非简单的逐帧动画,而是满足相关物理原理和数学公式的数字式交互,使实验数据更具真实性。
(2)功能完善。为了让使用者有真实的感觉,在保证虚拟实验与实物实验在视觉上一致的前提下,要实现实物仪器的全部观察和测量功能,能够完成实物实验的所有实验内容。
(3)内容详实。软件应包含了相关实验所需的大量参考数据,例如各个测量内容的实验原理、实验目的、实验步骤、仪器参数和数据表格等。用户不需要再去查阅其他资料就可完成对相关实验内容的学习。
虚拟实验采用的开发技术主要有Java、VRML、Virtools等,Java技术能够完成复杂人机交互功能,但是实验场景和仪器不够逼真,且开发比较复杂,需专业的编程人员;VRML技术能够模拟真实的实验场景和仪器,沉浸感和真实感强,但人机交互性能差,不能完成复杂的交互功能。Virtools技术采用3D界面,能模拟真实的场景和仪器,且采用模块化的编程语言,能实现复杂的人机交互功能,降低了开发难度。采用Virtools技术开发三维虚拟实验,能够模拟真实的实验场景和真实的实验仪器,让用户产生强烈的现场感,提供的复杂的交互功能,开发难度小,易于实现[5-7]。
Virtools是一套具备丰富的互动行为模块的实时3D环境虚拟实境编辑软件。它可以将现有的档案格式整合在一起,如三维模型、二维图形、视频或是音频文件等。只要在Virtools环境下进行相应的编程,就能达到预期的交互式操作目的[8],并为开发者提供了大约500个行为功能模块(简称BB),每个BB都封装了行为功能函数,开发者只需仔细阅读帮助文件中的相关文档,弄清楚这些模块的功能和使用方式,就可以按照自己的需要进行开发。此外,开发者也可以通过VSL自己编制 BB,并保存到 Virtools的模块库中。VSL是类似于C语言的编程语言,功能强大且操作简便[9-11]。
电子束聚焦与偏转虚拟实验利用3Ds MAX和Photoshop制作了效果逼真的虚拟仪器模型;借助Virtools的三维交互式软件平台,实现了实验仪器的全方位任意观察、缩放功能;利用软件内部的 BB和Script语言编译完成了实验仪器的调节和测量功能,实现了实物实验的全部观察和测量功能。
Virtools本身不具备三维实体建模的能力,所以要借助其他建模软件。Virtools中提供了3Ds MAX的文件格式转换插件,因此采用3ds MAX建模[12-14]。建模前需对实物仪器进行测量和拍照,根据测量数据和仪器相片在3Ds Max中完成实验模型的建立,在建模过程中,根据仪器所需交互效果、仪器各部分间的联动关系,对实验仪器进行模块划分,设置好各模块的位置、转轴、组合和命名等,便于之后在Virtools中设计虚拟实验仪器的交互,使其可以模拟真实仪器的调节和测量。然后再将建好的模型在3Ds Max中导出为Virtools支持的*.nmo文件格式。虚拟实验系统中模型构建的好与坏是决定整个实验系统能否流畅运行的关键,为了简化模型节点数,降低系统内存的使用率,避免因模型的节点数过多而占用过多的系统内存,在构建过程中只对需要进行交互控制的模型进行建模[15]。
模型真实感的好坏很大程度取决于材质和纹理贴图的质量,为了增加模型的真实感,用3Ds MAX、Photoshop对模型材质和贴图进行处理,首先为建好的模型赋予材质,为模型实现高光反射、漫反射、光泽度、柔化等效果,对模型不同部位贴图进行进一步调节,再通过UVW通道回帖给模型,使模型的视觉效果更加逼真,见图1-3。
图1 实验仪器照片
图2 仪器模型
图3 虚拟仪器效果图
电子束的聚焦和偏转实验所涉及到的交互主要分为三大类:观察视角调节、实验仪器调节和测量、测量数据处理。
2.2.1 用户界面设计
为了便于使用,软件界面上方设置了“帮助”、“实验目的”、“实验装置”、“实验原理”、“实验步骤”、“实验表格”、“实验内容”七个快捷键。单击鼠标会弹出对应的说明,帮助使用者熟悉相关内容,在提示下完成实验操作(脚本流程见图4)。
2.2.2 视角控制功能
Virtools中实验仪器和实验现象的三维观察主要是通过摄像机视角的控制来实现的。利用Switch On Key和Generic Camera Orbit可实现键盘对摄像机镜头的旋转。通过Switch On Key中设置好的键盘按键,控制摄像机旋转和缩放,通过键盘的A、D、S、W键控制摄像机镜头的旋转,通过键盘Q、E控制镜头的放大和缩小(见图5)。
图4 屏幕显示的脚本流程
2.2.3 仪器调节功能
该实验的仪器调节主要是物体的平移、旋转、伸缩等,这些简单的交互通过Virtools已有的BB就可以实现。例如通过Translate、Scale和Set Ambient这三个BB分别实现光点上、下、左、右的移动、放缩和亮度变化,通过Rotate实现仪器旋钮的转动。
2.2.4 数据处理功能
为了方便使用者对实验的数据记录,我们设计了数据处理模块,记录测量的各个物理量。数据输入功能的实现主要通过Send Message和Wait Message两个BB控制各个数据输入框的激活与关闭,通过Input String和2D Text实现数据的输入和显示。
精细的模型和灵活的视角很好的提高了虚拟实验的逼真程度,但也会带来一定的操作不便。为了方便实验过程中对实验数据的读取,我们利用Additional View实现了画中画的功能,实时的真实展示了亮点的移动。并且可通过屏幕上方的控制键对画中画界面进行缩放,使实验数据的读取更为方便(见图6)。
图6 仪器调节
以电子束聚焦与偏转实验中的电偏转为例说明实验操作过程:开启电源开关,将“电子束——荷质比”选择开关置于电子束位置,适当调节辉度与聚焦旋钮,使屏上光点聚成一细点。光点调零,调节“调节”旋钮,使电压表的指示为零,再调节调零的X旋钮,使光点位于示波管垂直中线上,同X调零一样,将Y调零后光点位于示波管的中心原点。测量D随Vd(Y轴)变化。调节阳极电压旋钮,给定阳极电压Vd(700 V)。改变电偏转电压Vd,每隔3 V测一组D值,将测量数据记录表格内。过程如图7所示。
图7 电偏转实验操作过程示意图
从电子束的聚焦与偏转虚拟实验可以看出虚拟实验实现了良好的可视化实时交互功能,使用者看到的仪器和真实的实验仪器完全一样,并且能对仪器进行操作,虚拟仪器实时反映相应的操作结果,和真实实验结果一致,使用者可观察现象,记录并处理数据,整个实验过程具有强烈的真实感。在虚拟场景中还能通过上下菜单在实验过程中随时调出实验相关材料进行查阅。3D虚拟实验有着更优的实验效果,更低的实验成本,更强的实验互动,更方便的实验使用,更有趣的实验方式和更广泛的实验影响,虚拟实验将在实验教学中发挥重要的作用。
[1] 李 琴.基于Virtools的虚拟数字电路实验系统设计[J].现代交际,2011(4):122.
[2] 邹湘军,孙 健,何汉武,等.虚拟现实技术的演变发展与展望[J].系统仿真学报,2004(9):1905-1909.
[3] 杨有俊,顾邦军.基于 Virtools的虚拟实验设备的设计与开发[J].科技信息,2004(9):19.
[4] 左田田.基于Virtools平台的教学软件的设计与应用[J].软件产业与工程,2012(4):40-43.
[5] 刘 毅.基于Virtools的虚拟实验开发[J].无线互联科技,2011(5):174-176.
[6] 李永帅,陈清奎,宋开功.基于Virtools的虚拟实验室构建方法研究[J].机电产品开发与创新,2011,24(2):133-134.
[7] 刘英杰,杨 雪,阚宝朋.基于3Ds Max和Virtools的大学物理虚拟实验的设计与开发[J].现代教育技术,2008,18(6):88-90.
[8] 刘金林,曾凡明.基于CATIA/VIRTOOLS的舰船主动力装置虚拟维修训练技术研究[J].舰船科学技术,2008,30(6):140-142.
[9] 傅招国,王天威,倪小鹏,等.基于Virtools的虚拟现实技术及在特种设备教学中的应用[J].计算机工程与科学,2012,34(6):97-100.
[10] 朱 敏,张际平.虚拟实验室及其教学应用[J].实验室研究与探索,2006,25(5):626-628.
[11] 韩兆福,杨中书,王超勇.虚拟现实技术在军事职业教育实践教学中的应用[J].实验室研究与探索,2005,24(10):65-68.
[12] 杨清文,房施东,杨 光,等.基于Virtools的某火箭炮技术检查训练仿真研究[J].计算机测量与控制,2012,20(2):407-409.
[13] 万佳怡,崔建军,张振梁.高校虚拟实验平台的设计与实践[J].实验室研究与探索,2011,30(3):386-389.
[14] 刘舒帆,张晓虹,任姝婕.虚拟仪器与仿真软件在电路信号实验中的运用[J].实验室研究与探索,2009,28(10):78-81.
[15] 杨 雪,阚宝朋,刘英杰.基于Virtools的大学物理网络三维虚拟实验的开发[J].实验技术与管理,2009,26(4):62-65.