




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第9章虚拟现实技术 本章重点 本章重点在于掌握虚拟现实的基本概念 特点及应用 并通过实例了解虚拟场景的生成 第9章虚拟现实技术 9 1虚拟现实的基本概念9 2虚拟现实的主要研究内容9 3虚拟现实系统的基本组成9 4虚拟现实系统的特征9 5虚拟现实系统的分类9 6虚拟现实的应用实例与开发技术9 7本章小结 9 1虚拟现实的基本概念 虚拟现实 VirtualReality VR 就是采用计算机技术生成一个逼真的视觉 听觉 触觉 嗅觉及味觉等虚拟的感观世界 用户可以直接用人的技能和智慧对这个生成的虚拟实体进行考察和操作 虚拟现实技术的应用前景非常广阔 它开始于军事领域 在军事和航空航天的模拟和训练中起到了非常重要的作用 另外 虚拟现实技术在医疗 制造业 娱乐和教育等方面的应用也具有很大的潜力 不久的将来 它会得到广泛应用 9 2虚拟现实的主要研究内容 虚拟现实的研究内容主要分以下几个方面 1 人与环境融合技术2 物体对象的仿真技术3 VR图像生成技术及高效快速生成体系图技术4 实时处理及并发处理的多维信息表示技术5 高性能的计算机图形处理硬件研究6 分布式虚拟环境和基于网络环境的虚拟现实研究 人与环境融合技术 1 高分辨率立体显示器 2 方位跟踪系统 3 手势跟踪系统 4 触觉反馈系统 5 声音定位与跟踪系统 6 本体反馈 物体对象的仿真技术 1 几何仿真 2 物理仿真 3 行为仿真 9 3虚拟现实系统的基本组成 虚拟现实系统由五大部分组成 虚拟世界虚拟现实软件计算机输入设备和输出设备 虚拟世界 它一般是一个包含三维模型或环境定义的数据库 虚拟环境是由计算机生成的 通过视 听 触觉等作用于用户 使之产生身临其境感觉的交互式视景仿真 虚拟环境有多种形式 它可能是某些物理环境 如建筑物 汽车 潜艇甚至像太空仓这样的物体内部 的伪真实反映 也可能是根本没有任何物理基础的某一跨国公司的地理 层次网的三维数据库 甚至可以是与股票交易有关的多维数据集 虚拟现实内容 1 虚拟环境建模 2 动画制作 3 物理仿真 5 交互模式 4 碰撞检测 虚拟环境建模 CAD技术为虚拟现实提供了有效的建模手段 模型工具包括AutoCAD 3DS Wavefront Multigen Modelgen2和ComputerVision等 这些模型可为多数虚拟现实系统利用 节省了大量的再建时间 建模工具一般提供了广泛的图形库支持 动画制作 一些动画可用矩阵操作来支持移动及旋转 而摆动及弹跳运动则需要专门程序 实时计算这些物理过程会带来诸如系统延时等问题 在某些动画序列中 复杂的动作可用简单的模拟方法而不需要复杂的数学过程 这项技术要求将这些动作分解为一系列离散的关键模型并放到数据库中 物理仿真 在进行物理仿真时 我们必须为物体设计一些支持其某些物理行为的程序 这一方面要求很强的计算能力 同时也使系统增加了一些延时 例如 下落的物体必须赋予质量属性 必须用运动方程来计算其加速度 碰撞检测 在虚拟现实中 常用碰撞来模拟现实生活中的接触 抓 移动和打击等情形 虚拟现实系统的一个重要功能 就是能快速进行虚拟世界中物体间的碰撞检测 虚拟世界中的物体 是以计算机产生的几何模型形式而存在的 这样 物体就可能占有一定的空间并具有穿透性 或者以一种非现实的途径相互穿插 这些现象在现实世界中是永远不可能发生的 因为物体间总会先发生碰撞 目前有多种碰撞测试方法 其中 基于快速计算的包围球碰撞测试方法和较为精确的包围盒碰撞测试方法尤为人们所重视 交互模式 为简化人机界面 人们提出了许多新方法 发明了许多新设备 以及与虚拟现实有关的新技术 由此出现了许多种交互模式 例如 特征识别单元 视觉显示单元 触摸屏 光笔 游戏杆 拇指轮 压感笔 便笺簿 数字化仪等都是与虚拟现实有关的设备和技术 9 4虚拟现实系统的特征 无论是哪 种虚拟现实系统 都有沉浸 交互和构想性这三个基本特征 浸入性是使使用者亲身体验虚拟环境真实直观的视图 显示系统应直接受使用者的控制 获得浸入虚拟环境的感觉 交互性 9 4虚拟现实系统的特征 构想性构想性是指在虚拟现实系统中 帮助人们获取知识和形成新的概念 9 5虚拟现实系统的分类 简易型虚拟现实系统简易型虚拟现实系统可以仅由一台普通的计算机组成 使用者通过键盘 鼠标便可与虚拟环境进行交互 沉浸型虚拟现实系统沉浸型虚拟现实系统是比较复杂的系统 使用者必须头戴头盔 手带数据手套等传感跟踪装置 才能与虚拟世界进行交互 9 5虚拟现实系统的分类 共享型虚拟现实系统共享型虚拟现实系统是利用远程网络 将异地的不同用户联结起来 共享一个虚拟空间 多个用户通过网络对同一虚拟世界进行观察和操作 达到协同工作的目的 例如 异地的医生 可以通过网络 对虚拟手术室中的病人进行外科手术 9 6虚拟现实的应用实例与开发技术 9 6 1VRML9 6 2一个VRML虚拟漫游系统的设计 9 6 1VRML 1 VRML简介2 线性变换3 场景交互4 VRML节点 9 6 1VRML简介 VRML VirtualRealityModelingLanguage 即虚拟现实建模语言 它通过创建一个虚拟场景以达到现实中的效果 VRML被广泛应用于Internet上创建虚拟三维空间 利用VRML可以随意创建任何虚拟的物体 像建筑物 城市 山脉 星体等对象 当然也可以在虚拟空间中添加声音 动画 使之更加生动 更接近现实 还可以具有与浏览者的交互性 从而实现更加接近现实生活中的网上虚拟空间 9 6 1VRML简介 VRML同HTML语言一样 是一种ASCII的描述性语言 可以用文本编辑器VRML编辑 用户可选用自己喜爱的文本编辑器 如Windows下的NotePad等进行编辑由于VRML将要在网络上跨平台传输 所以需要为它定义一种文件格式 1995年 正式推出VRML1 0版本 1996年 在对1 0版本进行重大改进的基础上推出了2 0版本 其中添加了场景交互 多媒体支持 碰撞检测等功能 1997年12月 VRML作为国际标准正式发布 并于1998年1月获得ISO批准 通常称为VRML97 它是VRML2 0经编辑性修订和少量功能性调整后的结果 9 6 1VRML简介 下面是一个VRML的简单例子 程序构造了一个半径为1个单位的被照亮的三维红球 例sphere wrl VRMLV2 0utf8Shape appearanceAppearance materialMaterial emissiveColor100 geometrySphere radius1 9 6 1VRML简介 程序说明如下 每个VRML2 0文件必须以下面的语句作为开始 VRMLV2 0utf8 utf8 是国际标准组织确认的一个标准 在VRML文本节点中引导语言字符 以 或 开头的文本行是注释行 直到下一个回车符为止 它将被浏览器解释所忽略 Shape是VRML的一个节点类型 Node 它有appearance和geometry两个字段 Field 分别用于定义物体的外观属性 如材质 纹理 和几何属性 appearance字段后紧跟的Appearance也是VRML的一个节点 它的内容就是该物体的外观属性 就是当定义一个节点时 总是包含一个可视的有形的结果 9 6 1VRML简介 Appearance可以定义material 材质 texture 纹理 和textureTransform 纹理变换 三种属性 Material节点紧跟在material字段后面 其内容就是物体的材质属性 emissiveColor100表示球的表面材质反射100 的红光 0 的绿光和0 的蓝光 geometry字段后的Sphere节点表示物体是一个球体 radius1表示球体的半径是1个单位 9 6 1线性变换 在VRML中 Transform节点是一个基本结构 它是一个常见的群组节点 Groupingnode 可以作许多物体的容器 Transform还提供了更强大的功能 在计算机图形中 无论是缩放比例 旋转或是平移 运动 总是和变换 Transformation 紧密相连的 VRML2 0中 Transform节点将其定义的变换施加于物体 它的各字段的缺省值定义如下 Transform center000translation000rotation0010scale111scaleOrientation0010children 9 6 1线性变换 VRML场景图包含许多群组节点以便定义一个方便的等级来操纵场景 当然 也可以把Transform和其他节点组成群组节点 例如 在一个物体等级的内部某一层放置一个传感器 用一个事件触发它 但同时又保留着操纵整个组活动的能力 Transform字段的值 例如转变或旋转 可以由任何Shape节点或它的子节点所继承 9 6 1场景交互 VRML2 0能够支持动态的 交互式的3D场景 利用VRML2 0建立的场景 不仅可以展示其中运动的物体 而且还可以使用户跟这些物体进行交互 例如在某个场景中 门可开着 电梯在运行 出租车行驶着 更奇妙的是 用户可以将门打开或关上 选择电梯的上下按钮 或者招手叫出租车停下来 9 6 1场景交互 VRML2 0采用事件机制来支持动态交互的场景 事件是包含一些数据的信息 它被用来作为事件的探测器 在VRML2 0中 每个事件包括两个部分 来源和目标 它们都是由某个节点的字段表示的 VRML2 0提供了一组描述事件探测器的节点 如TouchSensor用于描述用户输入的消息 TimeSensor用于产生定时器消息 ProximitySensor用于相应用户进入某个区域的消息 VisibilitySensor用于判断某个包围盒区域的可见性等等 探测器节点和插入器节点以及VRML与Java程序之间的通讯等等 这些内容的引入 可以使场景交互变得很复杂和符合实际 9 6 1VRML节点 节点 VRML2 0节点可分成图形和非图形两类节点 图形节点包括几何类型 如Box和Sphere 属性节点 如Appearance和Material 组节点 包括Shape和Transform 这些节点共同构造了表述的场景 节点字段 VRML2 0的节点字段可以给节点分配属性 以区别同一类型的节点 9 6 2一个VRML虚拟漫游系统的设计 物体造型碰撞检测场景集成 9 6 2物体造型 例如电脑主机的设计主要是一个长方体 为了看起来真实 我们为主机的前面贴上纹理图片 此图片在项目文件的picture目录下 贴图的代码如下 Shape appearanceAppearance textureImageTexture url picture host gif geometryBox size0 31 40 9 6 2物体造型 9 6 2碰撞检测 Collision组节点观测观察者和组中的造型发生碰撞 语法如下 Collision exposedFieldMFNodechildren exposedFieldSFVec3fbboxCenter exposedFieldSFVec3fbboxSize exposedFieldSFBoolcollide exposedFieldSFNodeproxy eventOutSFTimecollideTime evnetInMFNodeaddChildren eventOutMFNoderemoveChildren 9 6 2碰撞检测 children域的值指定了一个包含在组中的子节点列表bboxSize域的值指定了一个约束长方体的尺寸bboxCenter域的值指定了约束长方体的中心 9 6 2场景集成 这需要用到Inline节点将物体模型都组合起来 语法如下 Inline exposedFieldMFStringurl exposedFieldSFVec3fbboxCenter exposedFieldSFVec3fbboxSize url域的值用来指定一个VRML文件的URL地址列表 bboxCenter域值用来指定这个Inline节点内联框
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论