基于VRML的实验室演示功能的实现.docx

上传人:暗伤 文档编号:46159605 上传时间:2022-09-25 格式:DOCX 页数:12 大小:173.31KB
返回 下载 相关 举报
基于VRML的实验室演示功能的实现.docx_第1页
第1页 / 共12页
基于VRML的实验室演示功能的实现.docx_第2页
第2页 / 共12页
点击查看更多>>
资源描述

《基于VRML的实验室演示功能的实现.docx》由会员分享,可在线阅读,更多相关《基于VRML的实验室演示功能的实现.docx(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、基于 VRML 的实验室演示功能的实现摘要: 本论文利用 VRMLPad 创建虚拟物理实验室进而实现了物理演示功能实现。关键词:虚拟现实; VRML;演示实验1. 引言1.1. 虚拟现实概念及 VRLM 特征1.1.1. 虚拟现实的概念虚拟现实(VR-virtual Reality)是一种可以创建和体验虚拟世界(Virtual word)的计算机系统。它通常是指用立体眼镜和传感手套等一系列传感辅助设备来实现的一种三维现实,人们可以通过这些设施以自然的技能向计算机送入各种动作信息,并且通过视觉、听觉以及触觉设施使人们感受到三维的视觉、听觉及触觉等感官刺激。它创建一个既酷似客观环境又超越客观时空,

2、既能沉浸在其中又能驾驭其上的和谐的人机环境,也就是一个由多维信息所构成的可操纵的空间。它的目标就是真实的体验和方便自然的人机交互,能够达到或部分达到这样目标的系统就统称为虚拟现实系统2。虚拟现实技术是一门直接来自于应用的、涉及众多学科的、新的实用技术,是集先进的计算机技术、传感与测量技术、仿真技术、微电子技术等为一体的综合集成技术。VRML ( virtual reality modeling language)虚拟现实建模语言是一种三维造型和渲染的图形描述语言,通过创建一个虚拟场景以达到现实中的效果。它是第二代 Web 程序设计语言,可以在网页上实现三维动画效果及基于三维对象用户的交互,特别

3、是可以改变当前网络与用户交互的局限性,使得人机交互更加方便、灵活,使虚拟世界的真实性、交互性和动态性得到充分的体现。1.1.2.虚拟现实的基本特征(1)沉浸感是指用户作为主角存在于虚拟环境中的真实程度。理想的虚拟环境应该达到使用户难以分辨真假的程度(例如可视场景应随着视点的变化而变化),甚至超越真实,如实现比现实更逼真的照明和音响效果等。(2) 交互性是指用户对虚拟环境内的物体的可操作程度和从环境得到反馈的自然程度(包括实时性)。例如,用户可以用手直接抓取虚拟环境中的物体,这时手有触摸感,并可以感觉物体的重量,场景中被抓的物体也立刻随着手的移动而移动。(3) 想象力是指用户沉浸在多维信息空间中

4、,依靠自己的感知和认知能力全方位地获取知识, 发挥主观能动性,寻求解答,形成新的概念。1.2. 虚拟现实在教学中的作用及应用1.2.1. 虚拟现实在教学中的作用(1) 弥补教学条件的不足。在教学中,往往会因为实验设备、实验场地、教学经费等方面的原因,而使一些应该开设的教学实验无法进行。利用虚拟现实系统,可以弥补这些方面的不足,学生足不出户便可以做各种各样的实验,获得与真实实验一样的体会,从而丰富感性认识,加深对教学内容的理解。(2) 避免真实实验或操作所带来的各种危险。以往对于危险的或对人体健康有危害的实验,一般采用电视录像的方式来取代实验,学生无法直接参与实验,获得感性认识。学生在虚拟实验环

5、境中,可以放心地去做各种危险的或危害人体的实验。(3) 彻底打破空间、时间的限制。利用虚拟现实技术,可以彻底打破空间的限制。大到宇宙天体,小至原子粒子,学生都可以进入这些物体的内部进行观察。虚拟技术还可以突破时间的限制, 一些需要几十年甚至上百年才能观察的变化过程,通过虚拟现实技术,可以在很短的时间内呈现给学生观察。(4) 可以虚拟人物形象。虚拟现实系统可以虚拟历史人物、伟人、名人、教师、学生、医生等各种人物形象,创设一个人性化的学习环境,使学生能够在自然、亲切的气氛中进行学习。1.2.2. 虚拟现实在教学中的应用虚拟现实在教学中的应用主要有以下二个方面。(1) 知识学习。知识学习是指学生利用

6、虚拟现实系统学习各种知识。它的应用有两个方面:一是再现实际生活中无法观察到的自然现象或事物的变化过程,为学生提供生动、逼真的感性学习材料, 帮助学生解决学习中的知识难点。虚拟现实在知识学习中的另一个应用是,使抽象的概念、理论直观化、形象化,方便学生对抽象概念的理解。(2) 探索学习。虚拟现实技术可以对学生学习过程中所提出的各种假设模型进行虚拟,通过虚拟系统便可直观地观察到这一假设所产生的结果或效果,有利于激发学生的创造性思维,培养学生的创新能力。通过资料查阅可知,国外的虚拟现实技术发展已经较为成熟,在很多领域有着广泛的应用,带来了可观的经济价值和社会价值。国内的虚拟现实技术的研究与开发尚处于初

7、级阶段,有很多的领域及技术有待我们去开发和研究。通过相关的资料可知,VRML 技术在物理教学上的应用有其独特的优势,它可以使抽象的概念和理论直观化形象化,VRML 创建的动态环境直观性强,形象逼真, 易于学生学习掌握。基于以上原因,在本论文的选题上,重点选取典型和具有代表性的演示实验来研究。在物理教学的演示实验中,有很多实验可以由 VRML 来实现,有些简单的演示实验(如抛物运动)比较容易实现,而类似于分子的布朗运动等物理现象的演示实验,需要投入较多的时间和精力,由于本论文研究的时间关系,综合考虑多方面因素,选取本论文的主要研究内容包括以下 2 个方面:借助于VRML 语言构建实验室的三维场景

8、的描述;借助于VRML 语言建立动态仿真物理三维场景,完成实验的三维演示演示。1.3.1. VRML 文件的具体使用条件浏览 VRML 文件的环境条件:硬件上,无需其他的设备,目前的 PC 机完全可以满足要求;软件上,只需要安装 VRML 浏览器插件,目前最流行的两种 VRML 浏览器插件是 Parallel Graphics 公司的 Cortona 浏览器插件和 blaxxun 公司的 blaxxun Contact 浏览器插件,另外还有一款常见的浏览器插件Cosmo player,如果使用的浏览器是 Netscape 4.0 以上的浏览器,则不用再装 Cosmo player,因为它已经内

9、置了 Cosmo player2.0 浏览器插件。Cortona 浏览器插件也称为 Cortvrml 插件,网络上称之为蝴蝶浏览器,现在流行的主要有 4.1 版本和 5.0 版本,二者在使用和视觉效果上无明显区别,不同的一点在于 5.0 版本的具有一个蓝色徽标。在对 VRML 文件进行浏览的过程中,会因所用计算机安装的操作系统不同而决定使用的浏览器插件也不同:Cortvrml插件,适用于 Windows XP 系统;Cosmo player插件,适用于 Windows 98/2000/2003 系统。1.3.2. VRML 文件的编辑方法1. 用文本编辑器,如记事本直接编写 VRML 文件;保

10、存时,保存类型选择所有文件,保存文件名称后缀扩展名改为.wrl;2. 用转换工具从 3DMAX、AUTODESK 3DVIZ、White Dune、分子模型编辑器等转换。在设计中我使用编辑器来进行建模,模型创建好后直接输出.wrl 格式的文件。,在使用解释器进行浏览时, 在对其进行旋转、缩放、平移时,会因刷新频率的原因而导致效果不明显,甚至出现模糊现象。1.4.用于创建基于 VRML 虚拟现实的可行性分析VRML 是一种有着强大发展潜力的虚拟现实建模语言,它尤其适合创建桌面虚拟现实。VRML 创建的活动场景具有沉浸性、交互性和多感知性等一般虚拟现实场景的特征。首先,学习者通过 VRML 浏览器

11、进入 VRML 场景后,凭借简单的二维鼠标,只要选择 VRML 浏览器上不同的浏览方式(如 Fly、Go、Rotate 等)即可实现在场景中 6+1 个自由度的漫游,即三个方向的移动和旋转,以及和其它三维空间的超链接。因而学习者完全可以根据个人的意志选择场景中不同的视点方向和位置。虽然没有头戴式显示器所带来的完全沉浸的感觉,但学习者在场景中自由遨游,能体味到相当的沉浸感。另外,通过编程控制 VRML 场景能实现一定的交互性。这种交互性可以允许学习者与场景中的 3D 实体进行一定的交互。VRML 能控制立体声音的播放,并能对声音的方位和强度进行控制。如雷电场景中,雷声的强度和方位就是根据代理人的

12、实时位置来改变的。因而通过 VRML 境界学习者能体味到一种近乎自然界的声音。而将来,随着 VRML 技术的进一步发展和完善,冷热、质感等感知信息的体现必将变成完全可能的事情。VRML 是一种实用化的虚拟现实建模语言。VRML 文件是以扩展名.wrl 或.wrz 等结尾的,是一种用来描述几何形体的简单的 ASCII 文本文件,VRML 的编辑工具可以是任意一种文本编辑器。VRML 文件不需要任何编译,直接由浏览器解释执行,可以方便的实现桌面虚拟现实。VRML 浏览器一般是作为 Web 浏览器的插件使用的,因而又称为浏览器插件。当学习者通过 Web 浏览器请求一个 VRML 文件时,服务器端接收

13、到请求,并将 VRML 文件代码传输到客户端,客户端浏览器通过 VRML 浏览插件对代码进行解释,将 VRML 语言中的信息解释成空间中目标的几何体描述,如长方体、球体、不规则的其它三维物体等等,同时它将提供实时显示,一秒显示多次,这样在学习者的计算机上就会有一个活动场景的感觉。而学习者只需用简单的 2D 鼠标,通过切换不同的浏览方式即可遨游于整个虚拟境界,与境界中的物体进行交互。VRML 文件能通过包含关系(Inline 节点)把不同的文件组织在一起,能实现和管理较大规模的场景。另外,VRML,文件具有超链接功能,通过 Anchor 节点可以实现 VRML 文件与 WINE 文件,VRML文

14、件与 HTML 文件之间的超链接。因而 VRML 文件用于 Web 课件中,可以实现课件中 HTIVIL 页面与虚拟现实页面的自然过渡,以及不同虚拟现实场景之间的随意跳转。与之相比,动画文件和图片文件因为是相互独立的,文件之间要建立链接只能通过 HTML 的超链接功能。如果用于展示较大的场景和进行复杂的交互性操作,需要有较多的文件通过 HTIVIL 的超链结进行链接,这种链接将使系统缺乏流畅性,场景展示的实时性也会降低,而且过于复杂的使用 HTML 的超链在操作时容易出现混乱。基于以上分析,VRML 是一种基于 www 的实用的、功能较完善的、具有强大发展潜力的虚拟现实建模语言。因为 VRML

15、 具有强大的网络功能,所以它尤其适合创建 Web 上的虚拟现实。VRML 对硬件设备要求不高(仅仅用最简单的台式显示器、2D 鼠标、音箱就能实现),能为教学中的大多数学习者所接受。VRML 文件设计使用简单,能创建出简单的桌面虚拟现实,随着它的逐步发展和完善功能必将更强大。所以用 VRML 创建虚拟现实场景应用于教学具有相当的可行性。选取本论文的主要研究内容包括以下 2 个方面:一是借助于 VRML 语言构建实验室的三维场景的描述;二是借助于VRML 语言完成演示实验功能实现。2. 系统的设计与实现2.1.1 整个设计流程程序设计思路首先:选择要实现虚拟实验室场景的工具。有以下 2 种方法。第

16、一是利用 3DMAX、AUTODESK 3DVIZ、White Dune 等工具建立模型在转换成 VRML 的形式。但其生成的文件一般很大。第二直接利用 VRML 代码来实现。其特点是要花费时间较长。但文件叫小,我选择第二种方法。其次:重点内容的设计建立物理实验模型的实现,物理实验是实验室的重要组成部分,实验能否正常运行的关键。再次:实验内容的构建。最后:调试修改。框架结构如图 2.1 所示:VRML 建系模统方分法析与交互功能的实现建立虚拟环境建立物理实验建立物理实验模型(1) 系统分析与设计图 2.1 设计流设置程交互功能系统首先通过查阅资料,根据自己测的想法并结合指导教师的指导意见进而对

17、系统进行分析设计。试(2) 系统实现通过代码编写创建物理实验的演示结构,设置交互功能。(3) 系统测试通过交互功能,看是否达到预期的效果在修改相关的代码。2.1.2.模块化VRML 支持代码的模块化,即可以将一个复杂场景中的各部分,分别做成一个个独立的 VRML 文件,然后在一个主控文件中调用(内联)这些独立的文件,完成场景中相应部分的创建1。VRML 网页代码的模块化是指将一个比较复杂的虚拟场景,分解成一个基础环节和若干个实际物对像。基础环境及实物对象都用一个独立的 VRML 来完成。制作基础的 VRML 文件称为主控文件,制作实物对象的 VRML 文件称为对象文件。主控文件通常包括空间背景

18、、地面和若干视点等。当对象文件完成了以后,可以在主控文件中调用对象文件,实现在基础环境中添加实物对象。2.1.4. VrmlPad 创建主控文件VRML 文件用层次化的场景图来描述三维对象和世界。 首先来制作基础的 VRML 主控文件即空间背景、地面、走廊、台阶和若干视点。视点及背景部分代码如下:VRML V2.0 utf8 # 文 件 头 roup# 主编组结点children图 2.1 虚拟实验室远景其# GWorldInfo 图 2.2 虚拟实验室中title Windmill info Viewpoint # 视 点 Position 0.0 1.65 35.0#视点的位置Orient

19、tation 1.0 0.0 0.0 0.2 #浏览者的视线方向Descryption Entry View#视点名称字符串Viewpoint #视点position 0.0 1.65 15.0#视点的位置orientationdescription1.0 0.0 0.0Close-up0.5#浏览者的视线方向视点名称字符串Viewpoint #视点position 7.05 1.65 7.05#视点的位置orientation 0.0 1.0 0.00.785#浏览者的视线方向description Front door#视点名称字符串Viewpoint #视点position 35.0 1

20、.65 -35.0#视点的位置orientation 0.0 1.0 0.02.356#浏览者的视线方向description Far away#视点名称字符串Viewpoint #视点position 0.0 14.43 2.0# 视点的位置orientation 0.00128 0.959 0.282 3.1503#浏览者的视线方向description Roof top#视点名称字符串Background#背景skyColor # 背景色0.00.20.7,0.00.51.0,1.01.01.0skyAngle 1.309, 1.571 #天空角groundColor #地面色0.10.

21、100.0,0.40.250.2,0.60.600.6,groundAngle 1.309, 1.571 #地面角上段代码主要是创建了空间背景、背景色、地面、走廊、台阶及若干个视点。其次来创建实验室,其中为了提高仿真程度人走到门前,不可能穿门而入,必须先开门,所以设置门自动打开,其效果及代码如下:其代码如下示: Transform 图 2.3 人走到实验门口门自动打开translation 0.0 0.0 -27.0#坐标变换children DEF Left Door Transform #children Transform translation -5.0 0.0 0.0children

22、 DEF Door Inline url door.wrl DEF RightDoor Transform children Transform translation 5.0 0.0 0.0 children USE Door# Proximity sensorDEF DoorSense ProximitySensor center 0.0 1.75 0.0size 6.0 3.5 8.0# Sounds Sound source DEF OpenSound AudioClip url Sounds/clunk2.wav minFront 20.0 minBack 20.0maxFront

23、60.0 maxBack 60.0Sound source DEF CloseSound AudioClip url Sounds/clunk1.wav minFront 20.0 minBack 20.0maxFront 60.0 maxBack 60.0# Animation clocksDEF OpenClock TimeSensor cycleInterval 0.5loop FALSE startTime 0.0stopTime 1.0DEF CloseClock TimeSensor cycleInterval 0.5loop FALSE startTime 0.0stopTime

24、 1.0# Animation paths for the left and right doorsDEF LeftOpen PositionInterpolator key 0.0, 1.0 keyValue 0.0 0.0 0.0, -1.3 0.0 0.0 DEF LeftClose PositionInterpolator key 0.0, 1.0 keyValue -1.3 0.0 0.0, 0.0 0.0 0.0 DEF RightOpen PositionInterpolator key 0.0, 1.0 keyValue 0.0 0.0 0.0, 1.3 0.0 0.0 DEF

25、 RightClose PositionInterpolator key 0.0, 1.0 keyValue 1.3 0.0 0.0, 0.0 0.0 0.0 ROUTE DoorSense.enterTime TO OpenSound.startTime ROUTE DoorSense.exitTime TO OpenSound.stopTime ROUTE DoorSense.enterTime TO OpenClock.startTime ROUTE DoorSense.exitTime TO OpenClock.stopTime ROUTE DoorSense.exitTime TO

26、CloseSound.startTime ROUTE DoorSense.enterTime TO CloseSound.stopTime ROUTE DoorSense.exitTime TO CloseClock.startTime ROUTE DoorSense.enterTime TO CloseClock.stopTimeROUTE OpenClock.fraction_changed TO LeftOpen.set_fraction ROUTE OpenClock.fraction_changed TO RightOpen.set_fraction ROUTE CloseClock

27、.fraction_changed TO LeftClose.set_fraction ROUTE CloseClock.fraction_changed TO RightClose.set_fraction ROUTE LeftOpen.value_changed TO LeftDoor.translationROUTE LeftClose.value_changed TO LeftDoor.translation ROUTE RightOpen.value_changed TO RightDoor.translation ROUTE RightClose.value_changed TO

28、RightDoor.translation2.1.5. 建立物理实验模型1.X 射线衍射实验演示X 射线衍射仪主要由 X 射线发生器(X 射线管)、测角仪、X 射线探测器、计算机控制处理系统等组成。X 射线管主要分密闭式和可拆卸式两种。测角仪是粉末 X 射线衍射仪的核心部件,主要由索拉光阑、发散狭缝、接收狭缝、防散射狭缝、样品座及闪烁探测器等组成。衍射仪中常用的探测器是闪烁计数器(SC),它是利用 X 射线能在某些固体物质(磷光体)中产生的波长在可见光范围内的荧光,这种荧光再转换为能够测量的电流。由于输出的电流和计数器吸收的 X 光子能量成正比,因此可以用来测量衍射线的强度。闪烁计数管的发光体

29、一般是用微量铊活化的碘化钠(NaI)单晶体。这种晶体经 X 射线激发后发出蓝紫色的光。将这种微弱的光用光电倍增管来放大,发光体的蓝紫色光激发光电倍增管的光电面(光阴极)而发出光电子(一次电子),光电倍增管电极由 10 个左右的联极构成,由于一次电子在联极表面上激发二次电子,经联极放大后电子数目按几何级数剧增(约 106 倍),最后输出几个毫伏的脉冲。衍射仪主要操作都由计算机控制自动完成,扫描操作完成后,衍射原始数据自动存入计算机硬盘中供数据分析处理。数据分析处理包括平滑点的选择、背底扣除、自动寻峰、d 值计算,衍射峰强度计算等。根据X 射线衍射实验的原理并参照了网络上的教程完成X 射线衍射仪的

30、构建其最后效果如下图示.其核心代码如下:图 2.4 X 射线衍射实验演示开始图 2.5 X 射线衍射实验演示完成DEFscript Script eventIn SFTime time1 eventInSFTime time2 field SFBool aa TRUE field SFBool cc FALSE eventOut SFBool bburl vrmlscript:function time1()bb=aa; function time2()bb=cc;DEFcolorscript Script eventIn SFTime time3 eventInSFTime time4eve

31、ntOut SFColor diffuseColor field SFColor white .61 .61 .61field SFColor red .54 0 0 url vrmlscript:function time3()diffuseColor=red; function time4()diffuseColor=white;ROUTE chuanganqi.rotation_changed TO XRay.set_rotation ROUTE clock.fraction_changed TOrotate1.set_fraction ROUTE rotate1.value_chang

32、ed TO rotate.set_rotation ROUTE clock.fraction_changedTO rotate4.set_fractionROUTE rotate4.value_changed TO shangxuanniu.set_rotation ROUTE clock.fraction_changed TOrotate3.set_fraction ROUTE rotate3.value_changed TO xiaxuanniu.set_rotation ROUTE clock.fraction_changed TOrotate2.set_fraction ROUTE r

33、otate2.value_changed TO axis.set_rotationROUTE openmouse.touchTime TO script.time1 ROUTE script.bb_changed TO clock.set_enabled ROUTE openmouse.touchTime TO clock.startTimeROUTE clock.fraction_changed TOrotate1.set_fraction ROUTE openmouse.touchTime TO clock.startTimeROUTE clock.fraction_changed TO

34、rotate2.set_fraction ROUTE openmouse.touchTime TO clock.startTimeROUTE clock.fraction_changed TOrotate3.set_fraction ROUTE openmouse.touchTime TO clock.startTimeROUTE clock.fraction_changed TOrotate4.set_fraction ROUTE openmouse.touchTime TO colorscript.time3ROUTE colorscript.diffuseColor TO color.s

35、et_diffuseColor ROUTE closemouse.touchTime TO script.time2ROUTE script.bb_changed TO clock.set_enabled ROUTE closemouse.touchTime TO colorscript.time4ROUTE colorscript.diffuseColor TO color.set_diffuseColor (2)太阳、地球、月球之间的自转和公转图 2.6 不同时刻的运动情况2.1.6. 利用Anchor 节点来对 VRML 之间的链接利用 Anchor 对主控文件和对象文件进行链接其代码如

36、下: AnchorUrl“VRML 或 HTML 的文件名“ description“状态描述信息” children#若干 shape 或 Transform 结点3. 结束语本次论文实现了简单的实验室虚拟及简单的物理实验模拟。通过一段时间的分析和设计,我对VMRL有了深一步的认识,实现一个简易虚拟实验室演示的功能。但是由于能力和时间限制,还存在很多的不足和缺点,首先,由于时间和能力的原因实验室的建立比较粗糙。其次,物理模型的建立和交互功能比较复杂,所以需要花费一些时间去思考,难免有不妥当的地方。目前,该设计对于物理虚拟实验室实现还有很多可以扩展的空间,比如用simulink来控制VMRL虚

37、拟场景等,总之,我会继续努力学习,争取完善。致 谢本系统在制作过程中得到了倪永勤老师的倾力指导和大力支持,在此表示衷心的感谢!另外对同学的帮助及提供参考文献的编著者也表示谢意!参考文献:1 汪志达,叶伟.VRML 虚拟现实网页设计M.北京:清华大学出版社,2006.122 陆昌辉.使用VRML与JAVA创建网络虚拟环境M.北京:北京大学出版社,2003.3 刘怡,张洪定、崔欣.虚拟现实VRML程序设计M.天津:南开大学出版社,2007.4 汪兴谦.VRML虚拟造型实战演练M.北京:中国水利水电出版社 2002.5 张 肺. 杜可亮. 刘建灼. WWW 上的虚拟现实技术VRML 技术M. 电子工

38、业出版社,1998.86 俞方桦. VRML 优化技术J. 计算机应用研究, 1999.47 郭建才. 虚拟现实技术及其在远程教学中的应用J. 中国电大教育, 1999.68 王 硕. 基于虚拟现实建模语言的模拟演示系统J.计算机系统应用, 1999.39 石明贵, 史红星. 关于教育多媒体软件的开发J. 中国远程教育,2000.1Simulation of a virtual physics experiments based on VRMLShi-fa Wan(Department of physics,Yuxi Normal University,Yuxi653100)Supervisor:Yong-qin NiAbstract: In this thesis, VRMLPad create a virtual physics laboratory model provides the first person to learners feeling to realize the dynamic simulation of the physical presentation.Keywords:VR-virtual Reality;Experimental demonstration;vmrl

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 实施方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁