页数:58页文件大小:3.30 MB来源: 多媒体技术及其应用ppt课件
本课件介绍虚拟现实这一多媒体技术的更高境界,先给出虚拟现实的定义、发展历程与沉浸感等特点,再说明系统分类、组成与关键技术,随后展示其在可视化、工程设计与训练中的应用,最后讲解VRML建模语言与虚拟世界构造方法。
第8章虚拟现实技术
虚拟现实
虚拟现实是指用计算机技术生成的一个逼真的视觉、听觉、触觉及嗅觉等的感觉世界,用户可以用人的自然技能对这个生成的虚拟实体进行交互与考察,有身临其境之感。虚拟现实技术是多媒体技术发展的更高境界,汇集了计算机图形学、多媒体技术、人工智能、人机接口技术、传感器技术、高度并行的实时计算技术和人的行为学研究等多项关键技术。它以其巨大的技术潜力,诱人的应用前景,一经问世就立即受到人们的高度重视。有广阔的应用前景。
主要内容
8.1 虚拟现实技术概述
8.1.1 虚拟现实的定义
包括了三层含义:
虚拟实体是用计算机来生成的一个逼真的实体,“逼真”就是要达到三维视觉,甚至包括三维的听觉及嗅觉等;
用户可以通过人的自然技能与这个环境交互,这里自然技能可以是人的头部转动、眼动、手势或其它的身体动作;
虚拟现实往往要借助一些三维传感设备来完成交互动作。
虚拟现实技术示意图
8.1.2 虚拟现实的发展
1970年Ivan Sutherland研制成功第一个功能较为齐全的HMD
1975年Myron Krueger提出“人工现实”的思想
20世纪80年代虚拟现实进一步发展,出现”Virtual Reality”(虚拟现实)一词
20世纪90年代明确提出虚拟现实研究的主要内容,虚拟现实技术飞速发展
1.3虚拟现实的研究现状
8.1.4 虚拟现实的特点
8.1.5 沉浸感
导致沉浸感的原因是用户对计算机环境的虚拟物体产生了类似于现实物体的存在意识或幻觉。
8.2 虚拟现实系统的分类
8.2.1 依照虚拟现实与外界交互分类
以上两类的结合,即兼备封闭式或开放式的特点,是一种较实用的虚拟现实系统。
8.2.2 依照虚拟现实的构成特点分类
依照虚拟现实的构成特点可分为:
桌面虚拟现实系统,利用微机或低档工作站进行模拟,在一些专用硬件和软件的支持下,参与者可在仿真过程中设计各种环境;
临境虚拟现实系统,也称投入式虚拟现实系统。利用使参与者完全投入的各种设备把用户的视觉、听觉和其它感觉封闭起来,产生一种与世隔绝而被虚拟环境笼罩的错觉,达到完全投入的目的。
分布式虚拟现实系统,在临境虚拟现实系统的基础上将不同的用户联接在一起,共享同一个虚拟空间,使用户达到一个更高的境界。
桌面虚拟现实系统与临境虚拟现实系统
8.3 系统的组成
虚拟现实系统由可交互的虚拟环境、虚拟现实软件、虚拟现实硬件(包括计算机、虚拟现实输入输出设备)三部分组成
虚拟现实系统的模型在系统组成上一般包括检测、反馈、传感器、控制、三维模型及建模模块。
桌面虚拟现实系统和临境虚拟现实系统之间的主要差别在于:
参与者身临其境的程度,这也是他们的系统结构、应用领域和成本都大不相同的原因;
前者以常规的CRT彩色显示器和立体眼镜来增加身临其境的感觉,主要交互装置为6自由度鼠标或三维操纵杆,后者采用HMD现实,主要交互装置为数据手套和头部跟踪器。
虚拟现实系统的基本组成输入设备虚拟现实软
虚拟现实系统模型图操作虚拟环境反馈外部世
虚拟系统的组成图虚拟环境现实世界系统建模
虚拟系统的组成图虚拟环境现实世界系统建模3D模型检测反馈传感器控制用户
桌面虚拟现实系统基本组成图虚拟环境发生器
6自由度控制器立体视觉显示器触觉/视觉系统声音显示器声音合成
临境虚拟现实系统基本组成图虚拟环境发生器
临境虚拟现实系统基本组成图虚拟环境发生器头盔显示器/数据手套声音合成声音定位语言识别显示电子装置头/眼/手/体跟踪触觉/动觉系统命令图形图象头位置眼位置手位置
8.4 虚拟现实的主要研究内容
感知并识别用户视点变化,头、手、肢体、身躯动作和语音的基于自然方式的人机交互技术
虚拟环境的控制系统
8.5 虚拟现实关键技术
纹理贴图、全局光照建模技术、立体显示技术(体视图等)、几何建模(NURBS建模技术、过程建模技术)、运动建模、物理建模、基于图像的建模等
系统集成技术
NURBS技术生成图像空间点左视图左视点
NURBS技术生成图像空间点左视图左视点右视点右视图体视图生成原理
动式立体投影原理
8.6 虚拟现实的应用
8.7 虚拟现实技术所追求的长远目标
虚拟技术不仅支持着灵捷制造系统的建立,而且可以使整个设计制造过程对用户是透明的,使用户有可能参与设计;
虚拟现实技术在设计中应用图象
飞机机舱的图象
虚拟仪表的图象
水下航行模拟的图象
飞行模拟的图象
虚拟现实在军事训练中的应用
虚拟现实在医学上的应用
8.8 虚拟现实建模语言
8.8.1 概述
虚拟现实建模语言VRML(Virtual Reality Modeling Language)是一种描述虚拟现实场景的专用语言,其作用是描述三维场景以便建立交互式、可导航的三维世界,可用于万维网WWW(和HTML一样)。
VRML允许用有限的交互行为构造虚拟世界,这些虚拟世界包含有同其它“世界”超链接的对象
VRML提供的三维元素有站点地图、库、科学知识可视化代表、数据库的可视化代表、模拟地理信息系统、交互式广告等。
8.8.2 VRML的诞生与发展
浏览器负责解释VRML文件,使VRML描述的3D景象可见。目前的VRML数据通过HTTP协议传输。
8.8.3 VRML
VRML2.0推出的主要目的是扩展其静态景象描述语言从而使其成为虚拟现实描述语言,其中包括交互和对象行为以及对媒体的规范,其中最主要的变化体现在节点类型的扩充上。
VRML2.0是基于节点的建模语言,共有54种标准节点类型,按功能分成9类。
支持VRML世界交互行为的三种设计模型
扩展VRML语言规范,加入新的代码和关键字,使之能很容易地结合到扩展的、开放的VRML语言规范中去。
8.8.4 VRML世界的浏览和发布
VRML世界大多以.wrl为扩展名文件进行发布的。为了让浏览器知道.wrl文件内保存的是何种类型的VRML,.wrl文件必须在顶部包含单独的一行设置信息,除此之外,还包括一个三维世界的描述。
8.8.5 建模软件和创作工具
三维建模软件和动画应用软件
Alias|Wavefront Animator、3D studio、Maya、LightWave等
8.8.6 开辟一个虚拟世界
8.9 使用VRML
8.10 本章小结
附录#VRMLV
附录#VRMLV2.0utf8Group { children [Shape { geometry Box {} } ] }
附录#VRMLV2.0utf8Grou
附录#VRMLV2.0utf8Group{children[Shape{appearanceAppearance{materialMaterial{diffuseColor100}}geometryBox{}}]}
附录#VRMLV
附录#VRMLV2.0utf8Group{children[DEFBTransform{translation800children[Shape{appearanceAppearance{materialMaterial{diffuseColor100}}geometryBox{}}]}DEFSTransform{translation000children[Shape{appearanceAppearance{materialMaterial{diffuseColor010}}geometrySphere{}}]}DEFCTransform{translation-800children[Shape{appearanceAppearance{materialMaterial{diffuseColor001}}geometryCone{}}]}]}返回
附录#VRMLV2.0utf8Grou
附录#VRMLV2.0utf8Group{children[Transform{translation800children[Shape{appearanceAppearance{materialMaterial{diffuseColor100}}geometryBox{}}]}DEFtouchSensorTouchSensor{}]}返回
附录#VRMLV
附录#VRMLV2.0utf8DEFview1Viewpoint{position0010description"view1"}DEFview2Viewpoint{position4210description"view2"}Group{children[Transform{translation800children[Shape{appearanceAppearance{materialMaterial{diffuseColor100}}geometryBox{}}]}DEFtouchSensorTouchSensor{}]}返回
附录#VRMLV2.0utf8DEFv
附录#VRMLV2.0utf8DEFview1Viewpoint{position0010description"view1"}DEFview2Viewpoint{position4210description"view2"}Group{children[Transform{translation800children[Shape{appearanceAppearance{materialMaterial{diffuseColor100}}geometryBox{}}]}DEFtouchSensorTouchSensor{}]}ROUTE touchSensor.isActive TO view2.set_bind返回
附录#VRMLV
附录#VRMLV2.0utf8DEFview1Viewpoint{position0010description"view1"}DEFview2Viewpoint{position4210description"view2"}Group{children[Transform{translation800children[Shape{appearanceAppearance{materialMaterial{diffuseColor100}}geometryBox{}}]}DEFtouchSensorTouchSensor{}]}DEFtouchscriptScript{eventInSFBooltouchSensorIsActiveeventOutSFBoolbindView2url"javascript:functiontouchSensorIsActive(){bindView2=TRUE;}"}ROUTEtouchSensor.isActiveTOtouchscript.touchSensorIsActiveROUTEtouchscript.bindView2TOview2.set_bind返回
附录#VRMLV2.0utf8DEFb
附录#VRMLV2.0utf8DEFboxTransform{rotation2220children[Shape{appearanceAppearance{materialMaterial{diffuseColor100}}geometryBox{}}DEFTouchSTouchSensor{}]}DEFrScript{eventInSFBoolstartRevolvingeventOutSFRotationrevolvefieldSFFloatangle0url"javascript:functionstartRevolving(){revolve[0]=2;revolve[1]=2;revolve[2]=2;revolve[3]=angle;angle+=0.1;}"}ROUTETouchS.isOverTOr.startRevolvingROUTE r.revolve TO box.set_rotation返回
附录#VRMLV
附录#VRMLV2.0utf8DEFboxTransform{rotation2220children[Shape{appearanceAppearance{materialMaterial{diffuseColor100}}geometryBox{}}DEFTouchSTouchSensor{}]}DEFrScript{eventInSFTimestartRevolvingeventOutSFRotationrevolvefieldSFFloatangle0url"javascript:functionstartRevolving(active){revolve[0]=2;revolve[1]=2;revolve[2]=2;revolve[3]=angle;angle+=0.1;}"}DEFtTimeSensor{cycleInterval0.2loopTRUEenabledFALSE}ROUTETouchS.isOverTOt.set_enabledROUTEt.cycleTimeTOr.startRevolvingROUTEr.revolveTObox.set_rotation返回
附录#VRMLV2.0utf8DEFb
附录#VRMLV2.0utf8DEFboxTransform{rotation2220children[Shape{appearanceAppearance{materialMaterial{diffuseColor100}}geometryBox{}}DEFTouchSTouchSensor{}]}DEFtTimeSensor{cycleInterval1loopTRUEenabledFALSE}DEFrOrientationInterpolator{key[0,0.5,1]keyValue[0.80.80.80,0.80.80.83.14159,0.80.80.86.28318]}ROUTETouchS.isOverTOt.set_enabledROUTEt.fraction_changedTOr.set_fractionROUTEr.value_changedTObox.set_rotation返回
下载地址:{{downurl}}
{{{a}}}
{{#b}}{{{b}}}
{{/b}} {{/title}} {{#nolog}}登陆注册
{{/nolog}} {{#djsx}}点我刷新
{{/djsx}} {{#gocz}} {{/gocz}} {{#ffqr}} {{/ffqr}}