物理学专业毕业论文基于VRML的实验室演示功能的实现.doc

上传人:仙人指路1688 文档编号:3988201 上传时间:2023-03-30 格式:DOC 页数:15 大小:858.50KB
返回 下载 相关 举报
物理学专业毕业论文基于VRML的实验室演示功能的实现.doc_第1页
第1页 / 共15页
物理学专业毕业论文基于VRML的实验室演示功能的实现.doc_第2页
第2页 / 共15页
物理学专业毕业论文基于VRML的实验室演示功能的实现.doc_第3页
第3页 / 共15页
物理学专业毕业论文基于VRML的实验室演示功能的实现.doc_第4页
第4页 / 共15页
物理学专业毕业论文基于VRML的实验室演示功能的实现.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《物理学专业毕业论文基于VRML的实验室演示功能的实现.doc》由会员分享,可在线阅读,更多相关《物理学专业毕业论文基于VRML的实验室演示功能的实现.doc(15页珍藏版)》请在三一办公上搜索。

1、本 科 生 毕 业 论 文论 文 题 目 基于VRML的实验室演示功能实现 学 生 姓 名 学 号 专 业 名 称 物 理 学 论文提交日期 2010年 4 月7 日 申请学位级别 理学学士学位 论文评审等级 指导教师姓名 职 称 教授 工 作 单 位 学位授予单位 物理系二一年四月基于VRML的实验室演示功能的实现摘要: 本论文利用VRMLPad创建虚拟物理实验室进而实现了物理演示功能实现。关键词:虚拟现实; VRML;演示实验 1.引言1.1.虚拟现实概念及VRLM特征1.1.1. 虚拟现实的概念虚拟现实(VR-virtual Reality)是一种可以创建和体验虚拟世界(Virtual

2、word)的计算机系统。它通常是指用立体眼镜和传感手套等一系列传感辅助设备来实现的一种三维现实,人们可以通过这些设施以自然的技能向计算机送入各种动作信息,并且通过视觉、听觉以及触觉设施使人们感受到三维的视觉、听觉及触觉等感官刺激。它创建一个既酷似客观环境又超越客观时空,既能沉浸在其中又能驾驭其上的和谐的人机环境,也就是一个由多维信息所构成的可操纵的空间。它的目标就是真实的体验和方便自然的人机交互,能够达到或部分达到这样目标的系统就统称为虚拟现实系统2。虚拟现实技术是一门直接来自于应用的、涉及众多学科的、新的实用技术,是集先进的计算机技术、传感与测量技术、仿真技术、微电子技术等为一体的综合集成技

3、术。VRML ( virtual reality modeling language)虚拟现实建模语言是一种三维造型和渲染的图形描述语言,通过创建一个虚拟场景以达到现实中的效果。它是第二代Web程序设计语言,可以在网页上实现三维动画效果及基于三维对象用户的交互,特别是可以改变当前网络与用户交互的局限性,使得人机交互更加方便、灵活,使虚拟世界的真实性、交互性和动态性得到充分的体现。1.1.2.虚拟现实的基本特征(1)沉浸感是指用户作为主角存在于虚拟环境中的真实程度。理想的虚拟环境应该达到使用户难以分辨真假的程度(例如可视场景应随着视点的变化而变化),甚至超越真实,如实现比现实更逼真的照明和音响效

4、果等。(2)交互性是指用户对虚拟环境内的物体的可操作程度和从环境得到反馈的自然程度(包括实时性)。例如,用户可以用手直接抓取虚拟环境中的物体,这时手有触摸感,并可以感觉物体的重量,场景中被抓的物体也立刻随着手的移动而移动。(3)想象力是指用户沉浸在多维信息空间中,依靠自己的感知和认知能力全方位地获取知识,发挥主观能动性,寻求解答,形成新的概念。1.2.虚拟现实在教学中的作用及应用1.2.1.虚拟现实在教学中的作用(1) 弥补教学条件的不足。在教学中,往往会因为实验设备、实验场地、教学经费等方面的原因,而使一些应该开设的教学实验无法进行。利用虚拟现实系统,可以弥补这些方面的不足,学生足不出户便可

5、以做各种各样的实验,获得与真实实验一样的体会,从而丰富感性认识,加深对教学内容的理解。(2)避免真实实验或操作所带来的各种危险。以往对于危险的或对人体健康有危害的实验,一般采用电视录像的方式来取代实验,学生无法直接参与实验,获得感性认识。学生在虚拟实验环境中,可以放心地去做各种危险的或危害人体的实验。(3)彻底打破空间、时间的限制。利用虚拟现实技术,可以彻底打破空间的限制。大到宇宙天体,小至原子粒子,学生都可以进入这些物体的内部进行观察。虚拟技术还可以突破时间的限制,一些需要几十年甚至上百年才能观察的变化过程,通过虚拟现实技术,可以在很短的时间内呈现给学生观察。(4)可以虚拟人物形象。虚拟现实

6、系统可以虚拟历史人物、伟人、名人、教师、学生、医生等各种人物形象,创设一个人性化的学习环境,使学生能够在自然、亲切的气氛中进行学习。1.2.2. 虚拟现实在教学中的应用虚拟现实在教学中的应用主要有以下二个方面。(1)知识学习。知识学习是指学生利用虚拟现实系统学习各种知识。它的应用有两个方面:一是再现实际生活中无法观察到的自然现象或事物的变化过程,为学生提供生动、逼真的感性学习材料,帮助学生解决学习中的知识难点。虚拟现实在知识学习中的另一个应用是,使抽象的概念、理论直观化、形象化,方便学生对抽象概念的理解。(2)探索学习。虚拟现实技术可以对学生学习过程中所提出的各种假设模型进行虚拟,通过虚拟系统

7、便可直观地观察到这一假设所产生的结果或效果,有利于激发学生的创造性思维,培养学生的创新能力。通过资料查阅可知,国外的虚拟现实技术发展已经较为成熟,在很多领域有着广泛的应用,带来了可观的经济价值和社会价值。国内的虚拟现实技术的研究与开发尚处于初级阶段,有很多的领域及技术有待我们去开发和研究。通过相关的资料可知,VRML技术在物理教学上的应用有其独特的优势,它可以使抽象的概念和理论直观化形象化, VRML创建的动态环境直观性强,形象逼真,易于学生学习掌握。基于以上原因,在本论文的选题上,重点选取典型和具有代表性的演示实验来研究。在物理教学的演示实验中,有很多实验可以由VRML 来实现,有些简单的演

8、示实验(如抛物运动)比较容易实现,而类似于分子的布朗运动等物理现象的演示实验,需要投入较多的时间和精力,由于本论文研究的时间关系,综合考虑多方面因素,选取本论文的主要研究内容包括以下2个方面:借助于VRML语言构建实验室的三维场景的描述;借助于VRML语言建立动态仿真物理三维场景,完成实验的三维演示演示。1.3.1.VRML文件的具体使用条件浏览VRML文件的环境条件:硬件上,无需其他的设备,目前的PC机完全可以满足要求;软件上,只需要安装VRML浏览器插件,目前最流行的两种VRML浏览器插件是Parallel Graphics公司的Cortona浏览器插件和blaxxun公司的blaxxun

9、 Contact浏览器插件,另外还有一款常见的浏览器插件Cosmo player,如果使用的浏览器是Netscape 4.0以上的浏览器,则不用再装Cosmo player,因为它已经内置了Cosmo player2.0浏览器插件。Cortona浏览器插件也称为Cortvrml插件,网络上称之为蝴蝶浏览器,现在流行的主要有4.1版本和5.0版本,二者在使用和视觉效果上无明显区别,不同的一点在于5.0版本的具有一个蓝色徽标。在对VRML文件进行浏览的过程中,会因所用计算机安装的操作系统不同而决定使用的浏览器插件也不同: Cortvrml 插件,适用于Windows XP系统; Cosmo pla

10、yer 插件,适用于Windows 98/2000/2003系统。 1.3.2.VRML文件的编辑方法1.用文本编辑器,如记事本直接编写VRML文件;保存时,保存类型选择所有文件,保存文件名称后缀扩展名改为.wrl;2.用转换工具从3DMAX、AUTODESK 3DVIZ、White Dune、分子模型编辑器等转换。在设计中我使用编辑器来进行建模,模型创建好后直接输出.wrl格式的文件。,在使用解释器进行浏览时,在对其进行旋转、缩放、平移时,会因刷新频率的原因而导致效果不明显,甚至出现模糊现象。1.4.用于创建基于VRML虚拟现实的可行性分析VRML是一种有着强大发展潜力的虚拟现实建模语言,它

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

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

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

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

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

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

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

18、件,实现在基础环境中添加实物对象。2.1.4.VrmlPad创建主控文件VRML文件用层次化的场景图来描述三维对象和世界。 首先来制作基础的VRML主控文件即空间背景、地面、走廊、台阶和若干视点。 图2.1虚拟实验室远景图2.2虚拟实验室中其视点及背景部分代码如下:#VRML V2.0 utf8 #文件头 Group #主编组结点 children WorldInfo title Windmill info wsf2006021126Viewpoint #视点 Position 0.0 1.65 35.0 #视点的位置 Orienttation 1.0 0.0 0.0 0.2 #浏览者的视线方

19、向 Descryption Entry View #视点名称字符串Viewpoint #视点 position 0.0 1.65 15.0 #视点的位置 orientation 1.0 0.0 0.0 0.5 #浏览者的视线方向 description Close-up #视点名称字符串Viewpoint #视点 position 7.05 1.65 7.05 #视点的位置 orientation 0.0 1.0 0.0 0.785 #浏览者的视线方向 description Front door #视点名称字符串Viewpoint #视点 position 35.0 1.65 -35.0 #

20、视点的位置 orientation 0.0 1.0 0.0 2.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.0 0.2 0.7, 0.0 0.5 1.0, 1.0 1.0 1.0 skyAngle 1.309, 1.571 #天空角 groundCol

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

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

23、nBack 20.0maxFront 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 FALSEstartTime 0.0stopTime 1.0DEF CloseClock TimeSensor cycleInterval 0.5loop FALSEstar

24、tTime 0.0stopTime 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

25、, 1.3 0.0 0.0 DEF 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 DoorS

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

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

28、e.value_changed TO 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 time2field SFBool aa TRUE field SFBool cc FALSEeventOut SFBool bburlvrmlscript:function time1()bb=aa;function time2()bb=cc;DEFcolorscript Script eventIn SFTime time3 eventInSFTime time4eventOut SFCo

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

32、set_rotationROUTE clock.fraction_changedTO rotate4.set_fractionROUTE rotate4.value_changed TO shangxuanniu.set_rotationROUTE clock.fraction_changed TOrotate3.set_fractionROUTE rotate3.value_changed TO xiaxuanniu.set_rotationROUTE clock.fraction_changed TOrotate2.set_fractionROUTE rotate2.value_chang

33、edTO axis.set_rotationROUTE openmouse.touchTime TO script.time1ROUTE script.bb_changedTO clock.set_enabledROUTE openmouse.touchTime TO clock.startTimeROUTE clock.fraction_changed TOrotate1.set_fractionROUTE openmouse.touchTime TO clock.startTimeROUTE clock.fraction_changed TO rotate2.set_fractionROU

34、TE openmouse.touchTime TO clock.startTimeROUTE clock.fraction_changed TOrotate3.set_fractionROUTE openmouse.touchTime TO clock.startTimeROUTE clock.fraction_changed TOrotate4.set_fractionROUTE openmouse.touchTime TO colorscript.time3ROUTE colorscript.diffuseColor TO color.set_diffuseColorROUTE close

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

36、“状态描述信息”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. 电子工业出版社,1998.8 6 俞方桦. VRML优化技术J. 计算机应用研究, 1999.4 7 郭建

38、才. 虚拟现实技术及其在远程教学中的应用J. 中国电大教育, 1999.6 8 王 硕. 基于虚拟现实建模语言的模拟演示系统J.计算机系统应用, 1999.3 9 石明贵, 史红星. 关于教育多媒体软件的开发J. 中国远程教育, 2000.1 Simulation of a virtual physics experiments based on VRMLShi-fa Wan(Department of physics,Yuxi Normal University,Yuxi 653100)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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号