前言:想要写出一篇引人入胜的文章?我们特意为您整理了机床导轨直线度测量虚拟实验设计范文,希望能给你带来灵感和参考,敬请阅读。
[摘要]在传统实验室进行实验常受时间、空间、实验设备等因素的限制,为有效解决该问题,结合虚拟现实技术的发展,研究了利用VRML设计虚拟实验的可行性及其开发流程。针对机床导轨直线度测量实验,重点分析了基于VRML的虚拟实验模型建立方法和虚拟装饰方法,实现了机床导轨直线度测量实验过程的动态模拟、交互和仿真。同时,将虚拟实验运用于实验教学,有效地规避了传统实验教学的缺陷,取得了良好的实验效果。
[关键词]VRML;虚拟实验;直线度;实验教学
0引言
机床导轨直线度测量是大学机械类专业《互换性与测量技术基础》课程的一个重要实验,机床导轨直线度的误差直接影响被加工零件的质量,因此,掌握机床导轨直线度测量的原理、方法及实验数据处理方法是十分必要的。但传统实验室建造成本较高,且实验时间、地点相对固定。于是寻求一种规避传统实验教学缺陷、提高实验教学效果的实验教学方法具有重要意义。随着信息科技的发展,虚拟现实技术日渐成熟,使得虚拟实验得以实现。虚拟实验是基于Web、仿真和虚拟现实等技术构建的开放式、网络化、可替代传统实验操作环节的教学平台。虚拟实验的设计可使实验者身临其境,能极大地提高实验者的实验积极性[1]。目前,国内外多数高校都根据自身教学需求建立了虚拟实验室,但普遍存在虚拟实验的交互手段有限、沉浸感不强的问题。针对这些问题,文中以机床导轨直线度测量为对象,基于VRML建模语言,实现实验过程的动态模拟、仿真和交互,将其运用于实验教学。
1基于VRML设计虚拟实验的研究开发
VRML(VirtualRealityModelingLanguage),即虚拟现实建模语言,是一种三维造型和渲染的图形描述性语言,通过该语言创建一个现实或幻想中的虚拟场景,可在网页中实现三维动画效果以及基于三维对象的用户交互[2]。
1.1基于VRML设计虚拟实验的可行性研究
1.1.1造型丰富VRML提供了多种几何节点、几何属性节点和外观节点等,通过这些节点可以构造出色彩丰富的接近真实世界的静态虚拟环境。1.1.2动态仿真和交互性VRML通过环境传感器、接触传感器、感知传感器、时间传感器、碰撞传感器和控制动画的插补器等对三维造型进行实时交互仿真和渲染。由于VRML仿真和渲染的实时性,虚拟场景中人机可交互,也即浏览者不仅可以在场景中随意漫步切身感受虚拟环境,而且还可以通过自己的行为影响虚拟环境。1.1.3立体视听效果随着浏览者的移动,VRML场景中的物体属性,如光照、方位等也随之改变,给浏览者予立体视觉感。此外,VRML通过3D声音让人感受周围环境的声音,在Sound节点中,可以进行声音大小、位置、方向等空间性质的设定,让声音的表现有远近不同的立体效果。1.1.4脚本功能在VRML中的Script节点中加入JavaScript或Java程序语言,可进行对象行为的设定。Java具有Interner环境下程序设计的优势,VRML具有虚拟现实场景建模的优势,两者结合可以开发出较为复杂的、交互性强的虚拟三维系统。1.1.5分布式环境设计及可扩充性VRML支持多个分布式文件的内联机制,通过内联机制嵌入其他的.wrl文件,即可将一个巨大的虚拟环境进行分割设计后合并展示。VRML还提供了外部原型引用机制,允许以超链接的方式在本地节点中指向并组织Interner上的资源,实现扩充。
1.2基于VRML的虚拟实验开发流程
虚拟实验室的创建主要包括虚拟模型的创建、动态交互的实现以及实验平台的集成。其中,虚拟实验场景部分主要是虚拟建模及装饰,而实验仪器的开发重点在于交互的实现。后续虚拟实验平台集成是将虚拟实验环境与Web页面及文字、视频、音频等多媒体教育资源进行有机整合。鉴于VRML的技术特点,通过VRML虚拟建模语言不仅可构建逼近于现实世界的虚拟场景,而且可实现良好的交互功能,应用VRML技术开发虚拟实验是一种行之有效的方法。
2机床导轨直线度测量虚拟实验模型的创建
2.1虚拟实验对象几何建模
虚拟实验对象几何建模主要包括虚拟机床、虚拟电子水平测量仪和虚拟实验教室的创建,如图2所示。VRML提供了4种最基本的几何造型,可直接用来创建VRML虚拟场景,即立方体、球体、圆柱体、圆锥体和文本。这些几何造型的几何尺寸及外观控制是由Shape节点来实现的,一个Shape节点有两个域Appearance和Geometry。Appearance域用来设定对象的外观,通常使用材质(Material)或贴图(Texture)方式来实现;Geometry域用来设置几何形体,即Box、Sphere、Cylinder、Cone、Text。在虚拟场景中,通过设定Transform的Translation、Rotation和Scale域,可以达到使其children对象平移、旋转和缩放。通过组合这些基本形体,可以得到复杂的规则形状物体。此外,还可以使用PointSet节点、IndexedLineSet节点、IndexedFaceSet节点、ElevationGrid节点和Extrusion节点来创建较为复杂的虚拟场景造型。创建复杂的虚拟模型时通常利用SolidWorks、Pro/E、3dsMax等三维建模软件辅助建模,然后保存为.wrl格式,通过VRML编辑器构造虚拟场景[3]。
2.2虚拟实验场景装饰
虚拟实验场景装饰是指对虚拟几何模型进行材质和纹理处理,同时对其所处的三维空间进行渲染,使虚拟场景逼近真实世界。2.2.1材质处理在现实世界中,物体由于自身材料的不同,外观也不尽相同。同样,在VRML中可以通过Appearance节点中的Material节点来控制造型的外观。造型的外观主要是指造型的颜色、透明度、发光效果和明暗程度,它们是由Material节点内的DiffuseColor域、AmbientIntensify域、SpecularColor域、EmissiveColor域、Shininess域和Transparency域的域值控制。2.2.2纹理处理通过材质处理后只是对虚拟场景进行了简单的装饰,对一些视觉细节并不能表现出来,这些视觉细节需要通过纹理来实现。纹理是一个位图,其并不改变造型的几何形状,而是带给浏览者一种视觉效果。这种视觉效果通过纹理图根据几何体的外形,按一定规则映射到物体的表面。使用纹理能使虚拟物体更具真实感,提高渲染效果,同时也避免了对某些细节进行复杂造型。VRML提供了3种纹理节点,即ImageTexture节点、PixelTexture节点和MovieTexture节点。在进行纹理处理时通常还需要使用TextureTransform节点对图像进行平移、缩放和旋转变换,以提高渲染质量。机床导轨直线度测量虚拟实验场景纹理处理包括虚拟实验室的天花板、地板、墙壁、黑板、墙壁挂图和实验装置等。对几何体进行图像纹理处理时,几何体的每个面都映射上了纹理图,但对墙壁挂图进行纹理处理时,仅使虚拟实验室内墙壁出现挂图效果。为了解决这一问题,在内墙壁表面创建一个近似于平面的Box,然后对这个Box进行图像纹理处理。2.2.3空间渲染VRML不仅可以对造型进行装饰,还可对造型所处的三维空间进行渲染,即室外装饰。在VRML中,这些场景是以由天空和地面构成的空间背景的形式呈现的,而这个空间背景是通过Backgroud节点创建的。天空和地面需要着色的位置及颜色,是通过Backgroud节点内SkyAngle、skyColor和GroundAngle、GroundColor域的域值来实现的。
3虚拟实验动态交互的实现
在VRML中动画是通过使某一特定域的域值随时间变化而变化来实现的,要改变某一域的域值须指定事件的路由,以触发该域值变化[4]。VRML提供了多种控制动画的插补器和实现交互的传感器,如位置插补器(PositionInterpolator)、旋转插补器(OrientationInterpolator)、颜色插补器(ColorInterpolator)、时间传感器(TimeSensor)、接触传感器(TouchSensor)、视觉传感器(VisibilitySensor)等,VRML中典型的交互机制如图4所示。机床导轨直线度测量虚拟实验,主要涉及电子水平仪对机床导轨的测量过程动画仿真及交互和虚拟教室大门对人的感应。
3.1电子水平仪对机床导轨的测量过程动画仿真及交互
机床导轨直线度的检测是通过电子水平仪在机床导轨上作等距离移动[5],从而读取电子水平仪的显示屏示数来实现的。电子水平仪在导轨上的移动可以通过位置插补器(PositionInterpolator)实现,PositionInterpolator节点用来描述一系列电子水平仪不同时刻在机床导轨上的位置,该节点内含Key和KeyValue两个域值。通过接触传感器(TouchSensor)实现电子水平仪移动动作的触发。实现电子水平仪示数的实时显示是机床导轨直线度测量虚拟实验设计的难点,一般通过VRML提供的Script节点写入脚本语言来实现,常用的脚本语言有JavaScript和Java,这一方法可实现复杂的动画仿真及交互,但须一定JavaScript或Java编程基础。文中提供一种不需要JavaScript或Java编程就能实现电子水平仪显示屏示数实时显现的方法。显示屏上每个阿拉伯数字均可以看成是由7个Box构成的8字型。通过ColorInterpolator节点控制这7个Box在不同时刻的外观显示状态,可组合出不同的阿拉伯数字。当事件入口set_fraction接收到一个时刻值时,ColorInterpolator节点就计算出一个RGB色彩值,并通过value_changed事件出口输出该RGB色彩值。在对这7个Box造型时,将8字中间的横条Box的外观设置成浅灰色(diffuseColor0.60.60.6),即与显示屏背景同色,其余Box的外观颜色均设置成黑色,即黑色为显示状态,浅灰色为非显示状态。电子水平仪显示屏共有3位数字1个正负符号,通过这些Box的外观组合呈现不同的示数。
3.2虚拟教室大门对人的感应
虚拟实验教室大门采用水平移动的方式实现大门的开启和关闭。当输入密码或刷卡后,两扇大门分别自动向左右水平移动,即开启大门,若干秒后大门检测到无人进出时,自动关闭。利用TouchSensor节点仿真输入密码或刷卡动作,通过位置插补器实现大门的水平移动,ProximitySensor节点用来感知实验者何时进入、离开和移动于坐标系内的一个长方体区域。
4VRML场景优化及系统平台集成
4.1VRML场景优化
VRML场景优化的目的是减小场景大小和加快场景在用户端执行的速度,VRML场景优化主要是通过减小VRML文件大小和提高执行性能来完成。减少文件大小的主要方法有使用贴图代替建模,利用DEF、USE的组合避免相同对象代码重复和通过VRMLPad2.0自带的压缩功能压缩文件。提高执行能力的方法是使用细节层次(LevelofDetail,LOD),可依据浏览者视点的远近显示不同复杂度的场景;另外,在渲染时场景要计算光线路径,因此过多的光源将增加CPU计算时间,即应当减少光源的使用,一般一个VRML文件不应超过3个光源[6]。
4.2系统平台的集成
创建好VRML虚拟实验环境后,需要将虚拟实验环境与Web页面及文字、音频、视频等多媒体教育资源有机整合,最终创建了一个生动直观、具交互性能的三维虚拟实验教学平台。通过VRML插件与JavaScript接口连接,把虚拟实验在Web服务器上,实验者只需联入Internet即可进行虚拟实验。VRML可以合并到网页中,浏览器为一个VRML文件单独打开一个窗口,通过embed或object标签在HTML文件中以使用插件的方式插入VRML文件[7]。
5结语
虚拟实验教学实践表明,虚拟实验不仅使学生掌握了实验原理、方法,而且提高了学生的实验主动性,取得了良好的实验效果。相对于传统实验,基于VRML的虚拟实验还具有交互功能强、低成本、突破时空、安全性高等优点。通过文中设计的机床导轨直线度测量虚拟实验,实验者可以在线对虚拟实验进行评价、提出建议、分享实验感受等,对于改进和完善虚拟实验教学具有重要意义,极大的提高了实验效率。
参考文献
[1]宋淑彩,祁爱华,岳杰.基于VRML的虚拟实验室的设计与开发[J].数学的实践与认识,2012,42(16):132-137.
[2]赛博科技工作室.VRML与Java编程技术[M].北京:人民邮电出版社,2002.
[3]许桢英,闻武,王匀,殷苏民.基于VRML海工平台虚拟装配系统设计[J].煤矿技术,2013,32(4):168-170.
[4]张武军,田海,尹旭日.VRML虚拟现实技术基础与实践教程[M].北京:冶金工业出版社,2013.
[5]陈岚.电子水平仪测量机床导轨直线度的方法[J].化学工程与装备,2010(9):147-148.
[6]孙俊峰.基于VRML的虚拟实验研究与实现[D].北京:中国农业大学,2005.
[7]朱婷婷.基于VRML的虚拟实验的设计与研究[D].成都:四川师范大学,2009.
作者:姚家胜 张永亮 杜宝江 单位:上海理工大学