虚拟现实毕业论文.docx
《虚拟现实毕业论文.docx》由会员分享,可在线阅读,更多相关《虚拟现实毕业论文.docx(40页珍藏版)》请在冰豆网上搜索。
![虚拟现实毕业论文.docx](https://file1.bdocx.com/fileroot1/2023-1/5/f21ce489-360c-4d77-b046-3f02a97a2025/f21ce489-360c-4d77-b046-3f02a97a20251.gif)
虚拟现实毕业论文
虚拟现实在超市及餐厅中的控制
学校:
工业大学
系部:
机械工程学院
专业:
机械工程
年级:
机研136
学生:
占勇
学号:
指导教师:
高春艳
虚拟现实在超市及餐厅中的控制
摘要
虚拟现实(VirtualReality,简称VR),是一种基于可计算信息的沉浸式交互环境,具体地说,就是采用以计算机技术为核心的现代高科技生成逼真的视、听、触觉一体化的特定围的虚拟环境,用户借助必要的设备以自然的方式与虚拟环境中的对象进行交互作用、相互影响,从而产生“沉浸”于等同真实环境的感受和体验。
VR带来了人机交互的新概念、新容、新方式和新方法,使得人机交互的容更加丰富、形象,方式更加自然、和谐。
虚拟现实近几年发展迅速,应用领域广,发展潜力大,涉及计算机图形学、数字图像处理技术、多媒体技术、网络技术、人工智能等等。
它是利用计算机和虚拟现实硬件设备对真实世界的模拟,不仅能使人们在游览虚拟环境的过程中产生身临其境的感觉,并且还能够与虚拟场景进行交互,具备交互性、沉浸性、幻想性和多感知性等特征。
本文主要探讨利用3dsmax、VRML与JavaScript编程技术构造虚拟现实场景实现虚拟技术在超市及餐厅中的应用控制,达到运用鼠标控制场景的物品,向其发出指令使之发生相应的运动变化。
例如:
餐厅部分中微波了的加热旋转、燃气灶的火焰燃烧、洗菜池的流水调控等等;超市部分中的点击收获物品、收银功能实现等。
关键词:
超市及餐厅控制,VRML,3dsmax,JavaScript
VirtualRealityinsupermarketsandrestaurantsinthecontrol
Abstract
VirtualReality(VirtualReality,referredtoasVR),isbasedonquantifiableinformation,immersiveinteractiveenvironments,specificallytheuseofcomputertechnologyasthecoreofthemodernhigh-techgeneratingrealisticvision,hearing,touchthespecificintegrationrangeofvirtualenvironment,userswiththenecessaryequipmentinanaturalwaywiththevirtualenvironmentinteractionobject,interaction,resultingin"immersion"inthesamefeelandexperiencetherealenvironment.VRhasbroughtanewconceptofman-machineinteraction,newcontent,newwaysandnewmethodstomakehuman-computerinteractionismuchmorerich,vivid,morenaturalway,harmony.Inrecentyearstherapiddevelopmentofvirtualreality,wideapplicationareas,developmentpotential,relatedtocomputergraphics,digitalimageprocessingtechnology,multimediatechnology,networktechnology,artificialintelligenceandsoon.Itistheuseofcomputerhardwaredevicesandvirtualrealitysimulationoftherealworld,notonlyenablespeopletovisitthevirtualenvironment,immersivefeelinggeneratedintheprocess,andalsobeabletointeractwiththevirtualscene,withinteractivity,immersion,Fantasyandmoreawareofotherfeatures.Thispaperdiscussestheuseof3dsmax,VRMLandJavaScriptprogrammingconstructvirtualtechnologyvirtualrealitysceneinsupermarketsandrestaurantsintheapplicationcontrol,usethemousetocontrolobjectswithinthescene,toissueinstructionsandmakeacorrespondingchangeinthemovement.Forexample:
Therestaurantpartoftherotationinthemicrowavetheheating,gasstove'sflameburning,vegetablespoolwaterregulation,etc.;supermarketsectionclickonharvestarticle,cashierfunctionrealization.
Keywords:
controlofsupermarketsandrestaurants,VRML,3dsmax,JavaScript
前言
跨入21世纪,人类已经迈入数字化时代,我国信息产业得到迅猛发展。
特别是网络技术、多媒体技术、可视化技术及虚拟现实系统的不断更新和发展,使虚拟现实系统发展成为数字化多维信息空间技术支撑平台,并成为构建数字虚拟环境的最重要的关键技术之一。
虚拟现实语言作为计算机的核心技术已被广泛应用于社会生活的各个领域,例如产品设计与性能评价、教育与娱乐、高难度和危险环境下的训练、医学、房地产等诸多领域,但在模拟现实生活方面目前的成果还相对匮乏。
本系统的主要研究目地在于利用虚拟现实技术模拟出人们在现实生活几乎每天都能接触到的一些事物场景,使人们可以在一个完全虚拟的世界中体会到现实当中的日常生活,感觉上人们在虚拟生活中多了一个“secondlife”。
对今后虚拟现实技术在日常生活方面的应用起到引言预测的研究作用。
虚拟场景是计算机通过数字通讯技术勾勒出的数字化场景。
虚拟日常生活场景设计是将现实生活中经常接触到、使用到的日常生活场景虚拟化,使人们可以在虚拟的网络世界中感受到现实生活的踪影。
实现现实生活中的超市和餐厅的基本设、工作流程等,对其中的核心部件进行交互控制,是用户可以轻松体验虚拟场景带来的真实生活。
其互主要包括:
餐厅部分:
冰柜门开启、微波炉加热旋转、洗菜池流水调控、抽油烟机音效、燃气灶火焰燃烧、压力锅加热雾化效果等;超市部分:
伸缩门开启、点击收获物品、收银结账等等功能。
基于VRML虚拟技术的超市及餐厅虚拟场景设计的实现改变了传统的真实场景模式,场景可以通过鼠标操作,方便而快速地让用户感受到虚拟场景中各种部件的交互使用,创造一个真实的室场景空间,若再加入一些外部设备,可以使用户产生沉浸感,仿佛自己真的在操控各种物体一样。
第1章虚拟现实技术
1.1虚拟现实技术简介
1.1.1虚拟现实技术的概念
虚拟现实是近年来出现的高新技术,也称人工环境。
虚拟现实是利用电脑模拟产生一个三维空间的虚拟世界,提供使用者关于视觉、听觉、触觉等感官的模拟,让使用者如同身历其境一般,可以及时、没有限制地观察三度空间的事物。
VRML是一项综合集成技术[1],涉及计算机图形学、人机交互技术、传感技术、人工智能等领域,它用计算机生成逼真的三维视、听、嗅觉等感觉,使人作为参与者通过适当装置,自然地对虚拟世界进行体验和交互作用。
该技术集成了计算机图形(CG)技术、人工智能、传感技术、网络并行处理等技术的最新发展成果,是一种由计算机技术辅助生成的高技术模拟系统。
概括地说,虚拟现实是人们通过计算机对复杂数据进行可视化操作与交互的一种全新方式,与传统的人机界面以及流行的视窗操作相比,虚拟现实在技术思想上有了质的飞跃。
虚拟现实中的“现实”是泛指在物理意义上或功能意义上存在于世界上的任何事物或环境,它可以是实际上可实现的,也可以是实际上难以实现的或根本无法实现的。
而“虚拟”是指用计算机生成的意思。
因此,虚拟现实是指用计算机生成的一种特殊环境,人可以通过使用各种特殊装置将自己“投射”到这个环境中,并操作、控制环境,实现特殊的目的,即人是这种环境的主宰[2]。
1.1.2虚拟现实技术的关键技术
实物虚化、虚物实化和高性能的计算处理技术是VRML技术的三个主要方面。
实物虚化是将现实世界的多维信息映射到计算机的数字空间生成相应的虚拟世界,为高性能的计算处理提供必要的信息数据。
虚物实化通过各种计算和仿真技术使计算机生成的虚拟世界中的事物所产生的各种刺激以尽可能自然的方式反馈给用户。
1.2VRML概述
1.2.1VRML简介
VRML是英文VirtuualRealityModelingLanguage——虚拟现实造型语言的缩写。
其被广泛应用于Internet上创建充满动感的三维虚拟空间。
它是一个可参与、可进入、可交互的三维立体世界,给人们带来沉浸感、想象力以及动态交互感知的效果,从而产生置身于真实环境中的幻想感、身临其境的感受。
虚拟现实建模语言VRML涉及有关的基本概念和名词是编写VRML的基础,基本术语包括各种节点、域值、事件、路由、原型、场景及脚本等[3]。
1.2.2VRML应用和展望
虚拟现实建模语言VRML设计,源于虚拟现实技术,是20世纪末发展起来的设计众多学科的高新技术。
它集计算机、仿真、微电子、传感与测量技术于一体的高新技术的融合。
而虚拟现实建模语言VRML,正式利用虚拟现实技术,在计算机中创建一种虚拟环境,通过视觉、听觉、触觉、味觉、嗅觉以及生理反应等感知器,使用户产生一种与现实生活相同的感受,有身临其境的感觉甚至生理感觉。
可实现用户与虚拟现实环境直接惊醒交互。
虚拟现实建模语言(VRML)涉及计算机网络、多媒体及人工智能三大领域,以及自然科学、社会科学和哲学等学科领域。
具体来讲,虚拟现实环境一般涉及计算机图形学、图像处理、模式识别、传感器、语音处理、网络技术、并行处理、人工智能等高新技术,还涉及天文、地理、数学、物理、化学、美学、医学、军事、生理和心理等领域[4]。
计算机硬件技术、网络技术及多媒体技术的融合与高速发展使得虚拟显示技术获得长足的发展,是虚拟现实技术能在Internet上得以实现和发展。
目前使用的均为二维图像与动画网页,而在上采用虚拟现实建模语言(VRML),则可以设计出虚拟现实三维立体网页场景和立体景物。
利用虚拟显示技术可以制造一个逼真的“虚拟人”,
为医学实习、治疗、手术及科研做出贡献,也可应用于军事领域而设计一个“模拟战场”来进行大规模的高科技军事演习,既可以节省大量费用,又使部队得到了锻炼。
在航空航天发射中,也可以制造一个“模拟航天器”,模拟整个航天器生产、发射、运行和回收的全过程。
此外,还可以应用于工业、农业、商业、数学、娱乐和科研等方面,其应用前景非常广阔。
总之,VRML是21世纪融计算机网络、多媒体及人工智能为一体的最为优秀的开发工具和手段。
第2章其它技术支持——3dsmax与JavaScript
2.13dsmax概述
2.1.13dsmax简介
3DStudioMax,常简称为3dsMax或MAX,是Autodesk公司开发的基于PC系统的三维动画渲染和制作软件。
其前身是基于DOS操作系统的3DStudio系列软件,最新版本是2010。
在WindowsNT出现以前,工业级的CG制作被SGI图形工作站所垄断。
3DStudioMax+WindowsNT组合的出现一下子降低了CG制作的门槛,首选开始运用在电脑游戏中的动画制作,后更进一步开始参与影视片的特效制作,例如X战警II,最后的武士等。
在应用围方面,广泛应用于广告、影视、工业设计、建筑设计、多媒体制作、游戏、辅助教学以及工程可视化等领域。
拥有强大功能的3DSMAX被广泛地应用于电视及娱乐业中,比如片头动画和视频游戏的制作,深深扎根于玩家心中的劳拉角色形象就是3DSMAX的杰作。
在影视特效方面也有一定的应用。
而在国发展的相对比较成熟的建筑效果图和建筑动画制作中,3DSMAX的使用率更是占据了绝对的优势。
根据不同行业的应用特点对3DSMAX的掌握程度也有不同的要求,建筑方面的应用相对来说要局限性大一些,它只要求单帧的渲染效果和环境效果,只涉及到比较简单的动画;片头动画和视频游戏应用中动画占的比例很大,特别是视频游戏对角色动画的要求要高一些;影视特效方面的应用则把3DSMAX的功能发挥到了极至。
2.1.23dsmax的特点
1、功能强大,扩展性好。
建模功能强大,在角色动画方面具备很强的优势,另外丰富的插件也是其一大亮点。
2、操作简单,容易上手。
与强大的功能相比,3dsmax可以说是最容易上手的3D软件。
3、和其它相关软件配合流畅。
4、做出来的效果非常的逼真。
2.1.33dsmax的应用领域
1、游戏动画
主要客户有EA、Epic、SEGA等,大量应用于游戏的场景、角色建模和游戏动画制作。
2、建筑动画
申奥宣传片等。
3、室设计
在3dsmax等软件中,可以制作出3D模型,可用于室设计、例如沙发模型、客厅模型、餐厅模型、卧室模型等等。
4、影视动画
《阿凡达》《诸神之战》等好莱坞电影都引进了先进的3D技术。
2.2JavaScript概述
2.2.1JavaScript简介
JavaScript是NetScape公司为Navigator浏览器开发的,是写在HTML文件中的一种脚本语言,能实现网页容的交互显示[5]。
当用户在客户端显示该网页时,浏览器就会执行JavaScript程序,用户通过交互式的操作来变换网页的容,以实现HTML语言所不能实现的效果。
JavaScript是一种描述性的脚本语言,将JavaScript写入到Web页面当中,能让你的网页更加生动活泼,也是目前网页中设计中最容易学又最方便的语言。
你可以利用JavaScript轻易的做出亲切的欢迎讯息、漂亮的数字钟、有广告效果的跑马灯及简易的选举,还可以显示浏览器停留的时间。
让这些特殊效果提高网页的可观性[6]。
在VRML中,Script节点包含一个脚本程序。
这个程序是用JavaScript或Java写的,Script节点脚本可以接收事件,处理事件中的信息,还可以产生基于处理结果的输出事件。
Script节点不创建任何造型,所以它在虚拟世界中也是看不到的。
Script节点可以作为子节点包含在任何组节点中,但它不依靠于所使用的系统,而且与子节点所作的选择无关。
Script节点一般放在VRML文件的最外层组。
利用程序脚本和Script节点,可以差生复杂动作。
通常程序脚本动作包括已计算好的动画运动路径的输出。
Script节点可以看作是一个节点的外壳:
它拥有field域、eventIn事件、eventOut事件,然而可以通过程序脚本来赋予脚本节点的动作。
可以这样理解Script节点:
通过接受eventIn事件调用了相应的处理过程函数,经过程函数处理后得出的数据作为eventOut出事件发送出去,其中eventIn事件的值可以作为过程函数的因变量的值,如果需要则用field域定义某个中间变量。
无论Script节点是直接包含程序脚本,还是将其放在分立的文件中,Script节点的程序脚本定义了此节点的动作。
这些动作可以包含由接口eventIn接收的输入的响应,计算新的结果,将这些结果存入节点的接口域,通过节点的接口eventOut发出新值。
JavaScript继承了Java语言的面向对象、跨平台等多想特点,有人认为它是为了快速、简单地编程而出现的微型Java语言。
鉴于JavaScript在网页设计中成功应用并成为主导编程语言,VRML也将JavaScript作为嵌编程语言的候选者之一,大部分VRML浏览器都支持JavaScript编写的脚本程序。
虽然JavaScript对于大多数应用来说已经足够,但VRML的倡导者之一SGI公司还是基于语言开发了专门针对VRML设计的Vrmlscript语言。
Vrmlscript可以说是JavaScript的一个子集,它使用了JavaScript的基本语法,增加了一些适用于VRML的JavaScript对象。
如果Script节点直接包含使用这两种语言之一编写的程序脚本,为了使浏览器能够区分开,必须在url域的字符串开头注明“VrmlScript:
”还是“JavaScript:
”。
JavaScript对VRML场景的访问并不是一定要通过Script节点,如果VRML场景与HTML页面的其它对象相结合,比如使用了JavaScript对象,就可以使用直接访问的方式[7]。
第3章使用3dsmax技术构建模型
3.13dsmax构建模型的准则
一个虚拟现实场景在计算机上演示流畅与否,与场景中的模型个数、模型面数、模型贴图这三个方面的数据量息息相关,只有在前期建模时处理好这三个方面的数据量,才不会导致后期演示时出现卡、顿等现象。
3.23dsmax构建模型的基本方法
3.2.1基本体建模
3dsmax中提供了非常容易使用的【标准基本体】及【标准几何体】建模工具,只需拖动鼠标,即可创建一个几何体。
这些基本体靠参数来改变形态的,用这些基本体可以制作一些简单的造型。
·沙发建模、房屋建模
图3-1沙发的效果图图3-2房屋的效果图
3.2.2二维线形建模
二维线形在建模中起着非常重要的作用,通常我们建立的三维模型大都是先创建二维线形,然后添加相应的修改命令来完成的。
二维线形也可以直接在建模中使用,它提供了【顶点】、【线段】、【样条线】等修改级别,用二维线形绘制复杂的造型,必须给它添加适当的编辑修改命令,通过这些命令使二维线形生成三维物体,一步步绘制出复杂的结构造型。
常见的修改命令如【挤出】、【车削】、【倒角】、【倒角剖面】、【放样】等。
·洗手池建模、油烟机建模
图3-3洗菜池的效果图图3-4油烟机的效果图
3.2.3三维修改器建模
在3dsmax的修改工具中有大量的三维修改命令,通过使用这些三维修改命令可以对三维对象进行一些复杂的变形和编辑,可以快捷地创建一些精度要求很高的复杂三维造型。
常见的修改命令如【FFD】等。
·购物车建模、压力锅建模
图3-7购物车的效果图图3-8压力锅的效果图
·收款机建模
图3-9收款机的效果图
3.3利用3D制作动画
在3dsmax中可以制作场景动画,导入进VRML里做必要的处理可以形成物体交互的动画,方便快捷的模拟出现实生活的场景。
创建动画的方法:
(1)单击“自动创建关键点”按钮,开启动画功能。
(2)激活所需视图上需要变化的物体,改变其相对位置,确定好方位后点击打点按钮,定下关键帧。
依此类推。
(3)激活透视图,观察最终动画并加以修改。
(4)如图3-10、3-11、3-12所示收银场景应用动画的最终效果。
图3-10收银场景动画应用的原始图图3-11收银场景动画应用的过程图
图3-12收银场景动画应用的最终效果图
第4章使用VRML技术构建动画与交互功能
4.1使用VRML构建动画与交互功能的基本语法
4.1.1使用VRML构建动画的基本插补器类型
Timesensor节点的作用像一个时钟,它可以被用来执行开始、停止或者其他控制动画的动作。
随着时间的流逝,这个传感器就会产生事件来表示时间的变化。
通过将这些事件从Timesensor节点的eventOut路由到其他节点,当Timesensor节点的时钟计时时,可以使这些节点发生相应的变化[8]。
若要使一个坐标系平移、旋转和按比例缩放的话,可以将Timesensor节点时间路由至PositionInterpolator和OrientationInerpolator节点。
这些节点中每一个产生新的位置和旋转值,并通过他们的eventOut事件传送这些值。
按顺序将这些值路由到Transform节点,就可以使节点的坐标系随动画过程的发展而发生平移、旋转和按比例缩放。
根据其所插值的类型而将插补器节点分为几种[9]:
PositionInterpolator位置插补器(用于造型位置的变化,和时间传感器结合一起可以随时间改变对象的位置,从而创建对象移动的效果。
同时,这个节点还可以用来控制对象的缩放,实现对象大小和形状的变化)。
OrientationInterpolator方向插补器(用于对象的朝向变化,也就是随着时间的变化,对象绕某个轴,逐渐旋转不同的角度,体现出对象的方位的动态变化。
)ColorInterpolator颜色插补器(描述颜色随时间的变化,从而使得造型的颜色呈现一种灵活、生动的变化效果)。
ScalarInterpolator标量插补器(对某些标量数值的域进行插补的,一般用于只有单一的数值表示的域,比如改变强度,可以调节光照,雾的浓度。
材质的透明度等等)。
NormalInterpolator法向插补器(能够随时间改变vector的三维向量域值)。
CoordinateInterpolator坐标插补器(对空间坐标的数值进行插补,但是同位置插补器的情况不同,坐标插补器往往不是用在对造型对象的位置坐标上,而是用在构成某类对象的空间坐标上。
)
4.1.2使用VRML构建交互功能的基本传感器类型
在虚拟场景中设置了一些具有检测、感知作用的节点,借助这些节点的使用,浏览者和虚拟对象能够实现更进一步的交互[10]。
Touchsensor是一种用来检测观察者的接触和将事件输出的传感器。
这些输出描述了在何时、何地观察者接触到了可感知的造型。
CylinderSensor,PlaneSensor和SphereSensor节点也可用来检测何时观察者接触到一个可感知的造型[11],并且提供了用来改变造型位置和方向的输出。
检测器可以分为两大类,一类是接触型的传感器,另一类是感知性的检测器。
检测动作的检测器是接触型检测器[12],节点有:
TouchSensor接触传感器(用于感知用户鼠标触发的动作)、PlaneSensor平面传感器(感知用户在XOY平面上鼠标拖拽动作)、SphereSensor球面传感器(用于感知用户绕中心点拖拽旋转的动作)及CylinderSensor圆柱传感器(用于感知用户绕中心轴拖拽旋转的动作)。
检测用户和对象接近程度的检测器是感知检测器,节点有:
VisibilitySensor可见性传感器(从浏览者所在的方位,感知一个空间长方体区域,在当前场景中是否可以被看见,据此输出事件触发动画效果),ProximitySensor邻近传感器(用于从浏览者视点所在的方位,感知用户进入、退出