(计算机应用技术专业论文)基于vrml的三维迷宫导航.pdf_第1页
(计算机应用技术专业论文)基于vrml的三维迷宫导航.pdf_第2页
(计算机应用技术专业论文)基于vrml的三维迷宫导航.pdf_第3页
(计算机应用技术专业论文)基于vrml的三维迷宫导航.pdf_第4页
(计算机应用技术专业论文)基于vrml的三维迷宫导航.pdf_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 自2 0 世纪8 0 年代以来,虚拟现实技术一直是信息领域研究、开发和应用的热点 方向之一。它借助计算机构建出一个与现实环境十分逼真的虚拟环境,而且支持用户使 用自然的技能亲身感受它。目前已经广泛应用于军事、教育与培训、设计与规划、虚拟 测试、医疗、购物、交互式娱乐、工程技术、科技探索等多方面领域。 虚拟现实建模语言t m l 被称为继h 1 m l 之后的第二代w 曲语言。它本身是 一种建模语言,也就是说,它是用来描述三维物体及其行为的,可以构建虚拟境界( n u a l w b n d ) ,可以集成文本、图像、声音、m p e g 影像等多种媒体类型,还可以内嵌用j a v a 、 j a v a s c r i p t 等语言编写的程序代码。v r m l 的基本目标是建立互联网上的交互式三维多 媒体。v r m l 的出现使得虚拟现实像多媒体和互联网一样逐渐走进我们的生活。三维 迷宫就是虚拟现实在娱乐游戏方面的应用。然而在虚拟三维迷宫中用户会进入到一个不 能前进也不能左右旋转的死胡同中,用户只能退回到初始位置,此时往往会让用户感觉 很烦躁。如果多次出现这种情况用户会失去游戏的兴趣。因此一个避免这种现象发生的 导航是必要的。在机器人学中已经有不少比较成熟的导航技术了,本文就是将这些技术 应用到虚拟三维迷宫导航中。 关键词:虚拟现实;v r m l ;路径规划;导航 a b s t r a c t s i n c e1 9 8 0 s ,v i n u a lr e a l i t yt e c h n i q u ei sa l w a y st h ep o pa s p e c ti ns t u d y ,d a v e l o p m e n t , a p p l i c 舔i o 珏o fi n f o 船a t i o 珏萎d d 。鞋n s 讯l c 耋sav l 娃u a le n v 起o n 盈e 藏t 氆鑫至sv e f ys i 王珏薤辩w 凌 h ef e a le n v i r o 蠊l e n t b yc 0 珏攀u l e 避a n di tl e t su s e r sf e e l 峨ev i n u a le n v i 凇燃e n w i l hl h 0 n a t u r a ls k i ub y 也e m s e e s a tp r e s e n t ,i th a sb e e na p p l i e di nm i l i t a r y ,e d 、比a t i o na n d t r a i n i n 鼢 d e s i g na n dp l a n ,v i r t u a lt e s t ,m e d i c a lt r e a t m e n t ,s h o p p i n g ,i n t e r a c t i v ea m u s e m e n t ,p r o j e c t t e c 赫 q u e ,t h ee x p l 甜eo fs c i 黥c c 张矗童e 醢n o l 镐y8 蟋s oo 珏 v i n u a lf e a l i t ym o d e l i n gl a n g 姐g e 0 m li sc a l l e d 啦es e c d n dw c b l a n 斟a g e 她s u c e e e d 哪v m li t s e l fi sm o d e l i n gl a n g u a g e ,n 黜d y ,i tu s e st od c s 耐b em e1 1 l r e e d i m c n s i o n a lo b j e c t a i l dt h eb e h a v i o lnc a nc o n s m l c tv i r t u a lw o 埔d ,i n t e g r a t et l l et e x t ,i m a g e ,s o u n d m ei m a g eo f 麓糟ga n do 疆e r sm e d i a ,i 懿l 主珏ea 印l e 挺扭j a v a ,j a v a s c 矗p 蓬鑫n ds oo n 髓eb 戚e 矗i 趣o f v r m l 主s 。o n s 蜘翻n g 搬。i n t e 越c 耋i v et h r e 争d i m e n s i o n 融m o d i a 撖出en e t w o f k 。挑el ol 如 a p p e a r a n c eo fv r m li t r e n d e r st h ev i r t u a lr e a l i l yw a l ki n t oo u rl i v e s 掣a d u a l l yl i k e m u i t i m e d i aa n dn e t w o r k v i r t u a lt l l r e e - d i m e n s i o n a lm a z ej st l l ea p p l i c a t i o no fv i r t u a lr e a i i t v 汪t 矗ea s p e c to fa m u s 鳓e n tg a m 矗渤w e w ft h e 挂s e rm a yw a l k 主n 重oad e 弼c 珏dt h a ti te a 蘸 n e i h f 撼。v ef o 删a r dn o rr o t a 把a t 出e s el o c 越。珏sw i t h o u m o v i n gb a 汰w 射d 韪鹅tp l a c e 。i o f t e nm a k e su s e r sf e e lf m s m 札e d i ft h i sp h e n o m e n o na p p e a r sm a n yt i m e s ,t h eu s e r sm a yl o s e t h ei n t e r e s to fg a me s ot h en a v i g a t i o ni sn e c e s s a r yt oa v o i dt h i sc a s e i i lr o b o t i c s ,m e r ea r o m a n y 蛀p et e 蕊o l o 岔e so fn a v i g a t i o n 重娃氇 s 磕c s i sw ew i l lh s e 僚e s et e c l l n 国。爵e st oa p p l y 量嫩o 也e 纛积鐾a 蛀曲o 董v i 娃u 啦t k e e d i m 髓s a li n 矗z e 。 k e yw o r d s :v i n u a l r e a l i t y ;v r m l p a t hp i a i l n i n g ;n a v 豫a t i o n i i 独翎注声暌 本入声明所呈交的学位论文是本人在鼯师指导下进行的研究 工作及取得的研究成果。据我所知,除了文中特别加以标注和毁 谢的地方外,论文中不包含其他人已经发液溅撰写过的研究成果, 也不包含为获得东北师范大学或其他教育机构的学位或证书丽使 矮过鹣耪辩。与我一强王俸熬嚣恚对零磅震瑟骰戆餐露贡麸臻滤 在论文中作了明确的诞瞬并表示谢意。 学位论文作者签名:日期 学位论文版权使用授粳书 本学位论文作者究众了解东北师范大学有关保留、使用学能 论文的规定,即:东北师范大学有权保留并向国家有关部门或机 构送交学位论文的复印件穰磁盘,允许论文被查阅和借阅。本人 授毅零l 努蓬大学霉潋将学霞论文黪全部域帮分蠹容缓入有关数 据艨遴行检索,可殴采用影露、缩印或其它笈蒂手段保存、汇编 学位论文。 ( 保密的学位论文在解密后适用本授权书) 擎谴论文终者签名; 疆麓: 举位论文作者毕业麟去向: 工作单位: 遴禳蘧整; 指导教耀签名: l 蠢赣: 蕾n 、 电话: 郄编; 毕 撬 引言 由予黼形硬讳的快速发震,交互式三维图形程个入计辩祝上交褥越来越流行。三维 图形格式的标准化,比如虚拟建模语窗( v r m l ) ,为网络中虚拟现实的广泛成用作出 了菱麸。一些支持v r l 豹弼菱嚣已经嚣发出来。毙翅s g l 公司懿c o s m o p l a y e r ,n e t s c a p e 公司的u v o 三维,b l a x x u ni n t e r a c t i v ei i l c 的b l a x x u nc o n t a c t ,s g i 和 t c m p l a t eg r a p h i c ss o f 呐a r e 公司的w 曲s p a c e ,h l t o r s 协公司的w b r l dv i e w 等簿。大多 数t m 己溅菱器都支持尼耱孕航模式,锾翔舔户楚潋行走( w 疆【) 方式,飞蘩潍y ) 方式, 述是用虚拟的手仔细观察( e x a m i n e ) 方式来欣赏v r m l 文件所描述的米西。其中w a l l 【模 式是最常爝的测览模式。这些浏览器多数在视点釉环境之嬲也支持磁撞检测,_ 来防止视 点穿透障礴物。用户透过诧模式可戬前进,后退,左右旋转等方式谯三维场景中行走。 但是使用w a l k 模式浏览三维场景时,由于视角大小的限制及缺乏余光的辅助,常会碰 攘至l 场最中夔漳褥携。由于瘸户对三缨场景戆熟悉发蚕曩,藏霹三绫浏菱嚣操终赛嚣不 熟悉都会影响用户在三维场景中的操作行为。用户就有可熊处于这样的一个环境中,就 是既不能前进也不髓够旋转,只有后退回到最初的位置重新选择。这样会使用户觉得很 潼丧。这辩藏需要一个导靛系统来蒂韵瘸户遥受这样静待凝发生。掰良有不多学者氇律 了研究,但是多数蹲航都是对所有用户样的,也就是无论是新用户还是老用户都提供 提月豹导靛帮助。但是对一个喾常熟悉场景的用户来说绘予了太多的帮助,有时复丽会 限制了德的活动。糟对不熟悉场景或不太会操作界面的用户给予的帮助太少,可能用户 还是会觉得操作上的不方便。这时帮助测览的导航就应该依据不同用户的特点而有所不 裁。 因此本文提出一种在虚拟的三维迷宫中对不同用户给予不同帮助的导航。给每个用 户以适当的帮助。 在学术方瑟,入祝交互穗楚诗舞税发震酶一个耋要方囊。虚撅瑰实作秀一释全薪酶 人机接口技术,必须研究用户和计算机之间的协调关系问题。机器人的导航技术也是人 锻一直在研究戆内褰,并在理论和实践中不断的鸯珏鞋证爨。瞧把机器入导航搜零运援到 虚拟环境中的研究却并不多。 现实意义是使不同的用户,无论是熟悉虚拟环境的老用户还是从没有接触过虚拟环 境熬瑟震户,罄髭爨供适萋瓣警靛来黎秘在虚熬环境孛鼷裂兹孬走。劳基谴老瓣户不觉 得这个导航是多余的甚至限制了行动,让新用户馓得导航是非常有用的。用户透过三维 人机界面体验拟真的虚拟环境,由于传统输入和照示界面的限制,虚拟现实系统的人机 券蘑设诗变得狠重簧。霞藏一个设诗蘸鲟鲍三维入税赛蟊,霹戬帮韵褥户更容荔更有效 的操控虚拟场景。 本文的结构如下: 第一章对虚拟现实技术的基本概念、特征及应用进行简单介绍。 第二章介绍虚拟现实建模语言( v r m l ) 的产生、发展和特点。详细介绍了v r m l 的关键技术一文件格式、编辑器、浏览器、节点、坐标及坐标变换以及v r m l 的事件 体系。介绍了v r m l 场景的两种扩展方法,并对两种方法作了比较。 第三章为基于v r m l 三维迷宫的设计及实现代码。展示了迷宫的几个典型场景。 如入口,迷宫全景等。 第四章首先介绍了机器人的导航技术,包括全局路径规划方法和局部路径规划方 法。并根据本课题中迷宫的特点将全局路径规划的栅格法和自由空间法应用于该迷宫导 航中。并根据v r m l 的鼠标跟踪特点实时对用户提供导航帮助。 第五章对全文做以总结。 第一章虚拟现实技术概述 1 1 虚拟现实的基本概念 虚拟现实( r t i l a lr e a l i t y 简称vr ) 技术是2 0 世纪8 0 年代末兴起的一门崭新的综合 性信息技术。它融合了数字图像处理、计算机图形学、多媒体技术、传感器技术等多个 信息技术分支,大大推进了计算机技术的发展。它以模拟方式为使用者创造了一个实时 反映实体对象变化与相互作用的三维图像世界,在视、听、触、嗅等感知行为的逼真体 验中,使参与者可直接参与和探索虚拟对象所处环境的作用和变化,仿佛置身于现实世 界中,产生多感知( m u l t i s e 璐o r y ) 、沉浸感( i m m e r s i o n ) 、实时感( r e a l t i i n e ) 和交互感 ( i n t e r a c t i v e ) 。【1 2 3 l 狭义的虚拟现实1 1 】主要是指通过计算机与立体眼镜、传感手套等传感辅助设备进行 数据交换,使人们得到相应的视觉、听觉、触觉甚至嗅觉信息,从而建立三维信息的人 工环境,产生逼真的三维现实感觉。这种人工环境是可实现的和不可实现的物理上的、 功能上的事物和环境。 广义的虚拟现实【”,涵义已经大大的扩充,它不仅包括狭义的内容,还泛指一切与 之有关的能够实现模拟仿真的软硬件,以及所使用的技术与方法。例如“人工现实 ( a r t i f i c i a lr e a l i t y ) ”、“虚拟环境( n u a le n v i r 伽【n l e n t ) ”、“赛伯空间( c y b e r s p a c e ) 、” 等。虚拟现实就是通过人机交互,实时地改变自然信息的输入,实现模拟空间和内容的 转换,给人以逼真的体验。能够达到或者部分达到这样效果的系统就称为v r 系统。 1 2 虚拟现实的特征 从本质上说,虚拟现实就是一种先进的计算机用户接口,它通过给用户同时提供诸 如视、听、触觉等各种直观而又自然的实时感知交互手段,最大限度地方便用户的操作, 从而减轻用户的负担、提高整个系统的工作效率。根据虚拟现实所应用的对象的不同, 虚拟现实的作用可以表现为不同的形式,例如,将某种概念设计或构思可视化和可操作 化:实现逼真的现场效果;达到任意复杂环境的廉价模拟训练目的等。 通常虚拟现实技术具有四个主要特征【;圳: ( 1 ) 多感知性 是指除了一般计算机技术所具有的视觉感知之外,还有听觉感知、力觉感知、运动 感知,甚至还包括味觉感知、嗅觉感知等。理想的虚拟现实技术应该具有一切人类所具有 的感知功能。由于相关技术的限制,特别是传感技术的限制,目前虚拟现实技术所具有 的感知功能还仅限于视觉、听觉、力觉、触觉、运动等几种。由于虚拟现实系统中装有 视觉、听觉、触觉、味觉等传感装置,因此,使用者在虚拟环境中可获得视觉、听觉、 触觉、味觉等多种感知,从而达到身临其境的感觉。 ( 2 ) 沉浸感 又称临场感,它是指用户感到作为主角存在于模拟环境中的真实程度。虚拟现实力 求使用户在计算机所创建的三维虚拟环境中产生身临其境的感觉,处于一种全身心投入 的感觉状态,即所谓的“沉浸感”。理想的虚拟环境应该达到使用户难以分辨真假的程 度,要让用户觉得自己是处于现实环境中,处于现实的生活中。v r 的沉浸感特性使它 与一般的交互式三维计算机图形有较大的不同:用户可沉浸于虚拟的现实环境一数据空 间,可从数据空间向外观察,从而使用户能以更自然、更直接的方式与计算机进行人机 数据交互;利用v r 的沉浸功能,用户暂时与现实环境隔离,投入到虚拟的现实环境中, 并可与虚拟环境中的各种对象相互作用,就如同现实世界中的一样,感觉十分逼真。 ( 3 ) 交互性 虚拟现实系统中的人机交互是一种近乎自然的交互,使用者可以利用特殊头盔、数 据手套等传感设备进行交互。例如,当使用者用手去直接抓取虚拟环境中的物体时,手 有握着东西的感觉,并可感觉到物体的重量,物体也随着手的移动而移动。 ( 4 ) 实时性 指虚拟环境中物体依据物理定律动作的程度,即物体可按各自的模型和规则根据计 算机使用者的要求实时进行响应。例如,当受到力的推动时,物体会向力的方向移动、 或翻倒、或从桌面落到地面等。 1 3 虚拟现实技术的应用 虽然虚拟现实技术最先是用于美国军方的,但是现在它已经应用于社会生活的各个 方面。利用它可以创建多媒体通信、设计协作系统、电子商务、网络游戏、医疗等全 新的应用系统。典型的应用领域有:【2 j 捌 ( 1 ) 教育应用 随着远程教育的发展,校园的围墙逐渐消失,学生对教师的依赖性减少,课堂教学 受到挑战,在网上建立电子教室及电子黑板,学生在网上虚拟大学学习的新型教育模式 已悄然而至。目前,美国已有8 0 多所大学允许通过网络修得学位,网上虚拟大学开设 的课程已覆盖了各主要的学科领域。把虚拟现实用于建筑人体模型、电脑太空旅游、化 合物分子结构显示等领域。建立虚拟课堂,由于数据更加逼真,大大提高了人们的想象 力,激发了受教育者的兴趣,学习效果十分显著。同时,随着计算机技术、心理学、教 育学等多种学科的相互结合、促进和发展,虚拟现实系统因此能够提供更加协调的人机 对话方式。 ( 2 ) 工程应用 当前工程很大程度上要依赖图形工具,以便直观的显示各种产品。利用虚拟现实技 术进行建筑规划设计,在建筑设计阶段就能以可视的、动态的方式全方位地展示建筑物 所处的地理环境、建筑物的外貌和各种附属设施,使人们能够在一个虚拟的环境中,甚 至在未来的建筑物内部漫游。因而,虚拟现实技术是建筑规划方案设计、装修效果展示、 方案投标、方案论证及方案评审的有力工具。在建筑业、房地产业和建筑装修业等领域 有着日益广泛的应用前景。目前,c a d c a m 已经成为机械、建筑等领域必不可少的软 件工具。虚拟现实的应用将使工程人员能够通过全球网或局域网按协作式方式进行三维 模型的设计、交流和发布,从而进一步提高生产效率并削减成本。 ( 3 ) 商业应用 对于那些期望与顾客建立直接联系的公司,尤其是那些在他们的主页上向客户发送 电子广告的公司,h l t e m e t 具有特别的吸引力。分布式虚拟现实系统的应用有可能大幅 度改善顾客购买商品的经历。例如,顾客可以访问虚拟世界中的商品,在那里挑选商品, 然后通过i n t e m e t 办理付款手续,并及时把商品送到顾客手中。 ( 4 ) 娱乐应用。 娱乐领域是分布式虚拟现实的一个重要应用领域。利用虚拟现实技术创造出的虚拟 环境,可以生动逼真地模拟“星球大战”、“太空旅游”等游戏,使人感觉到身临其境, 具有极强的趣味性、惊险性和知识性。从而使人们能够享受其中的乐趣,带来更好的娱 乐感觉。 ( 5 ) 医学应用 应用虚拟现实技术产生一个人体的全局、或局部、或某一系统、或某一器官的三维 图像进行外科手术的操作培训和试验,比利用活体进行培训和试验更加安全、经济和方 便。特别是显微外科手术,利用虚拟现实技术还可以减轻外科医生的心理压力。另外, 在远距离遥控外科手术、复杂手术的计划安排、手术过程的信息指导、手术后预测及改 善残疾人生活状况,乃至新型药物的研制等方面,虚拟现实技术都有十分重要的意义。 1 4 本章小结 本章简单介绍了虚拟现实的概念,包括狭义上的概念和扩展后的广义概念。介绍了 虚拟现实的特点,这些特点会在虚拟现实的系统中看到,但不是每个虚拟现实的系统必 须包含所有这些特点。目前虚拟现实已经深入到了社会生活的各个方面,本章中介绍的 几方面应用也是一部分,并不是所有。 第二章虚拟现实建模语言v i 蝴l 2 1 v r m l 的产生与发展 2 1 1 t m l 的产生 虚拟现实与w w w ( w b r l dw i d ew e b ) 结合,衍生出了虚拟现实建模语言( v i n u a l r e a l “ym o d c l i n gm g i l a g e ,简称t m l ) 。熟悉w w w 的人们都知道,受h t m l 语言 的局限性,v r m l 之前的网页只能是简单的平面结构,就算j a v a 语言能够为w w w 增色不少,但也仅仅停留在平面设计阶段,而且实现环境与参与者的动态交互是非常烦 琐的。于是v r m l 就应运而生了。v r m l 是一种用于建立真实世界的场景模型或人们 虚构的三维世界的场景建模语言,也具有平台无关性。是目前m t e m e t 上基于w w w 的 三维互动网站制作的主流语言。v r m l 虽然还很不成熟,但已经表现出其百折不挠的强 大生命力。它必将成为w w w 服务的新一代标准。尤其是新的i m l 9 7 标准,被称为 第二代w 曲语言,以v r m l 为基础的第二代万维网= 多媒体+ 虚拟现实+ 因特网。它 改变了原来w w w 单调、交互性差的弱点,将人的行动作为浏览的主体,所有的表现 都随操作者行为的改变而改变。v r m l 创造的是一个可进入、可参与的世界。你可在 计算机网络上看到一幅幅生动、逼真的三维立体世界,你可以在里面自由地邀游等。 2 1 2 v 础l 的历史发展 虚拟现实三维立体网络程序设计语言开始于2 0 世纪9 0 年代,1 9 9 1 年m a r kp e s c e 和t 0 n y p a r s i 在美国旧金山开始计算机空间的设计并开发w 曲的三维接口,这是三维浏 览器的原型,用来在因特网上浏览三维画面。 1 9 9 4 年5 月,在瑞士日内瓦c e r n 实验室举行的万维网( w w w ) 第一届国际会议上 介绍了可在万维网上运行的虚拟现实界面,即虚拟现实建模语言。 1 9 9 4 年1 0 月,在芝加哥召开的第二次万维网会议上公布了v r m l l 0 版规范草案。 主要的功能是完成静态的三维场景,以及与h t m l 链接的功能和措施。 1 9 9 6 年初,v r m l 委员会审阅并讨论若干个v r m l 2 o 版本。1 9 9 6 年3 月,v 6 a 、 v r m l 设计小组决定将s g i ( 硅i 虱公司s i l i c o ng r a p h i c si n c ) 、s o n y 等公司的m o v i n g w b r l d s 方案改造成为v r m l 2 0 版本,并于1 9 9 6 年3 月公布。 1 9 9 6 年8 月,在新奥尔良的s i g g r a ph i9 6 会议上公布了v r m l 2 0 规范的第一 版。 6 1 9 9 7 年1 2 月,v r m l 作为国际标准正式发布。 1 9 9 8 年1 月,正式获得i s o 批准,国际标准号为i s 伽e c l 4 7 7 2 1 :1 9 9 7 ,t m l 9 7 是该标准的俗称,它是v r m l 2 o 经编辑性修订和少量功能性调整后的结果。作为 i s o m c 国际标准,v r m l 的稳定性得到保证,它推动了因特网上交互式三维应用的 迅速扩展。 1 9 9 8 年2 月,发表中文国标标准。 2 2 v r m l 的特点 2 2 1 v 砌讧l 的语法特点 v r m l 是一种语言,但不像c 、 c + + 或者j a v a ,它本身不是传统的编程语言, 也不同于h ,r m l ,它是一种建模语言,有它自己的文件格式。也就是说,人们可以用它 描述三维场景。 lv r m l 是一种类似于h t m l 的标记语言 从v r m l 以前的命名一n u a lr e a i i t ym a r k u pl a n g i l a g e 就可以看出这点。像 h t m l 一样,v r m l 使用标记作为主要语言元素。整个v r m l 使用一些预定义的标记 来构成t m l 场景,一般每个标记对应一个v r m l 对象。每个标记有一些属性,属 性不同便构成不同的对象实例。v r m l 使用标记作为主要语言元素具有以下一些优点 【6 1 。 使用简单 类似于组件,v r m l 可以像搭积木似的方法构建v r m l 场景,简单易行。多数 v r m l 场景对象都被高度抽象化为某一个标记,使用者不必考虑过多的细节。 接口开放性好 采用标记,v r m l 可比较容易地与w 曲上流行的其它语言和媒体沟通,使v 蹦l 具有良好的兼窑性,可将二维、三维对象、动画和其它多媒体融合成一种媒体。 由于v r m l 类似于标记语言,其文件格式是a s c 格式,是文本格式。理论 上任何文本编辑器都可以作为v r m l 创作工具,不需要特殊的编辑创作与查看工具, 具有很大的开放性和平台无关性。厂家和独立开发者只需要对他们的产品简单地进行改 造,就可以添加对t m l 的支持,并进行v r m l 开发。 2 v r m l 是一种基于对象的语言 它提供描述三维空间中对象的文件格式,节点是构筑其文件的基本单元。节点类似 于c + + 或j a v a 的对象。节点在书写时以相应的标记表示。v r m l 具有基于对象的语 言的一些基本特征: 编程的组织以高度抽象化的对象的实例为主,较少考虑细枝末节; 对象可以实例化成不同形式; 对象可以重用; 可以自定义对象。 尤其最后一点,即v r m l 允许用户自定义对象,大大加强了v r m l 的可扩展性。 用户可以使用t m l 预定义的对象,也可以使用自己定义的对象,甚至自己定义一套 语言系统供别人使用。v r m l 具有以上一些特点,因此它可以看作第四代语言。 2 2 2 v r m l 的功能特点 v r m l 2 o 的功能特点、表现力,大致可以概括成以下几个方面:【8 】 以灵活有效的方式,将二维、三维图形和动画、影片、音乐多种效果调和在一 起,形成一个综合性的单一媒体。l 可通过a n c h o r 节点链接到任何w 曲文件上, 包括h 删l 文件和其它w 曲媒体,包括视频、音频、图像和动画等。 对内的树形场景结构和对外的分布式的场景组织。v r m l 采用场景图( s c e e 伊印h s ) 数据结构。v r m l 的场景图是由节点物体组成。这些节点的组成呈树形,上级 节点和下级节点具有父子关系0 a r c m c h i l dr e l a t i o n s h i p s ) 。其中一个节点为唯一的根节 点,其它节点顺着以根节点为起点的可达路径依次排列。树形结构的好处是结构简单明 了,一个树只有一个最高层父节点。这样任何一个树都可以作为另一个树的子树,即嵌 入到另一个树的任意层次,而不引起场景关系的混乱。由于树形场景结构v r m l 可使 用i n l i n e 节点,连通万维网,将网上任意地点的v r m l 场景嵌入到本场景的任何层次。 这就是w l 的对外的分布式的场景组织。 场景内物体和对象相互作用,用户与场景内对象交互作用。v r m l 的对象一般 可以接收和发送事件,用户可以通过一些触发器( s c n s o r ) 产生事件,通过r 0 u t e 语句 发送事件,和场景内的其它对象相互作用。v r m l 通过这些手段可以产生复杂的交互 作用,为用户提供强大的交互功能。 、 计算机不能呆板地限定用户,用户在场景中巡行,有相当大的自由度。用户在 场景中的方位是由视点( e w p o i n t ) 节点定义的,而在计算机屏幕上所呈现的是用户在 此位置所看到的v r m l 场景。v r m l 的n a v i g a t i o n h l f o 节点定义了用户在场景中的 巡游方式。它可定义巡行的速度、用户替身( a 1 ,北曲尺寸、行走方式( 步行、观察、飞行、 任意方式1 等。 行为脚本给予用户足够的扩展v r m l 的能力,插值器( 类似一种内置脚本) 为这 种扩展提供方便。v r m l 可使用v 】l m l s c r i p t ( j a v a s c r i p t 的子集) 这种脚本语言扩充 v r m l 的功能,对场景中的事件进行处理。v r m l 用s c r i p t 节点来嵌入v r m l s c r i p t 执行脚本。插值器( i i l t e r p 0 1 a t o r ) 主要用来生成动画。首先定义好关键帧,然后使用插值 器在关键帧间进行插值。另外v r m l 还具有外部创作界面& 蛆( e x t e m a la u t h o d n g i n t e r f a c e ) ,提供更加强大的功能扩展,目前主要使用j a v a 语言的e a i 。 文件占有的存储空间小,大的场景被分解为许多单个的小文件,只在使用时去取, 并且t m l 生成的图形元素可被重复使用,适合于在计算机网络上进行传播。 2 。3 v r m l 的关键技术 2 3 1 v r m l 的文件格式 v r m l 文件是虚拟三维空间的文本描述,采用的是文本文件格式。v r m l 文件可 以包戆下列瓣今主要裁傍:v 装m l 文传头、愿型、造型窝滕本、鼹由。莠不是瘊蠢熬 文件都包括斌些要索,唯一必须的是v r m l 文件头。v r m l 2 o 标准的文件头( 后文提 爨豹v r m l 豫l # 黪殊擐暖粼捂硐糙l 2 。0 标准) 为规毽醚l v 2 。o 臻燃,是嚣分大小笃 的,并且必颁放在文本文件的首行。t m l 2 o 文件格式兼释1 o 文件格式。这个文件 头鸯三个含义:第一,表臻这个文件楚一个v r m l 文 牛;繁:,符合t m 妣舨本; 第三,文件使用的是u t f 8 字符集f 这怒多种语言中键入字符的一种标准方式,包括英语, 也支持朝鲜落、日语秘阿拉钓语的字符) 。 2 3 2 v 础l 编辑器 v r m l 源文件是一种a s c i i 码的描述语言,可以使用任何文本编辑器编写蝴l 源稷渗,毽霹竣使溪v 鬟醚l 麓专矮缀辑释来编写源穰滓。 ( 1 ) 用记事本、写字版编写v r m l 源程序 农w 攮如螂操终系统下黪记事本霹艇,蜀b s 下豹麟魏餐舔霹完残念部豹缡程 任务,只需将文件保存为具裔w d 或w t z 扩媵名的文件即可。 ( 2 ) 用v 疑池瓣专矮编辑器寒镳写派稳痔 目前有一个功能强大且简单好用的v r m l 开发设计专般软件m i 玎i p a d 文本编辑 器。v r m l p a d 编辑器怒由p a f a l l e l g f a p 城嚣公司开发的v r m l 拜发工必。臻l p a d 编辑嚣 和其它高级可视化程序设计谣言一样,工作环境由标题栏、菜单栏、工具菜单栏、功能 窗弱昶编辑鬻口等组成。 此外,v r m l 开发工具述有c o s m ow 耐d 、i n t e m e3 ds p a c cb u j l d e r 、3 d sm a x 等。 2 。3 3 则l 溺赘黎 v 襞醅l 怒解释魏行懿,溅筵器裁楚萁解释器。赉予v r m l 广溺静发震翁景,戮憩 对其解释支持的浏览器很多,可分为三大类: ( 1 ) 萃独疲震类溶s | 鼹玉疆雠e 婶p l i 饿韬鸯 这类浏览器可直接从i n t e m e t 上下载w n 文件并展现其图像,而不需要w 曲浏览 器夔支持。馒爝这类潮菱爨器要编译滚文咎,筹裂蠲专瑗豹王其趣避零亍场景涟整。这类 浏览器有o p e nw b d d s ,、r l d v i e wf o rd e v c l o p e r s ,0 p e nm v e n t o r 等。 ( 2 ) 辘助威建类( a h e 培e f 雌霹i 髓疽。幻 这类浏览器是作为对某种网络浏览器如n e t s c a p en a v i g a t o r 的帮助,源文件不需进 行编译。当网络浏览器遇到个v r m l 连接时,就会启动帮助测燕器,如n e t s o n a v i 秘t o r 静v r i 涯l 潮览器。 ( 3 ) 擒件类( ap l u gi n ) 这类浏览器是作为一种摘件安装在网络浏龉器上,比较流行的脊w b n d e w ,也称 m i c r o s o f tv r m l s o n y 公司的c o m m u n i t yp l a c ep l a y e r ,s g i 公司的c o s m op l a y e r 和 b l a x x 珏n 撕怒糟c l i v eb e 推出戆b l a x x 强c 觚8 c t 。农零课踅孛,采用熬怒c b 潍。班a v e f 测 蓝器。一般说来,嚣嚣静满熬器是免费憝,雨慧并菲菜释v r m l 测麓器专门锌黠菜耱 网络浏簏器,除非有特殊说明,因此选择浏览器原则上不受什么限制。 2 3 4 节点 苇杰爨构成场景錾豹基本攀元。每令节点蠢麴下特经:类型、域、事终、实瑷、名 字。节煮掰以用d e f 语甸命名,命名后可麓u s e 语句弓| 用,达到藏享的目的。每个 节点属于浆种类型。v r m l 定义了5 4 种基本节点类型,其中包括几何元素体及外表 特性,声街及声音特性,以及不同类型的群节点。v r m l 包括一种原型机制,可以对 场景图进行封装和重用。通过原型( 】洳t o t y p e ) 机制允许用户以现存带点类型的混合形式 定义叁纛懿蕊熹类型。v r m 毛场景图孛麓节点霹激逶过事 孛或瀵感传送壤毒l 稳互逶售。 2 3 s 搬标系和坐标交换 在虑 譬【世界的三维空间中,造型的位置是由指定的这个造型的三维坐标所决定的。 通过相对这个坐标系进行平移和旋转可以仓4 建掰的坐标系,这个新的嫩标系称为前者蛇 子垒蠡系,然惹在囊静坐球系争翻建造鳌裁哥蔽褥翻空阕各令谴鬟秽方囊懿造型。霾群, 也可戳糖对这个子坐标系创建新的子坐标系,并猩其中刨建造型i 7 】。 在空阀的造型定位需要相应的长度和角度的单位。长度的单位用来计量造型的尺寸 大小和造测的位置坐标,角度的单位用来计量旋转的大小。长度单位称为t m l 单位。 v r m l 单位不是个绝对的尺寸大小,就是说v r m l 尺寸和现实中的怪度单位并不具有 饪每霹跑瞧。哭毒泓l 擎像之阕才其毒可魄瞧。 v r m l 空间中静造型定健照依靠麓定的v r 舭坐标系实现浆,鲡圈2 一l 羼示。这 个坐标系的基本要素主要包括以下三个部分: 图2 1v r m l 坐标系 ( 1 ) 规定了芷方向褒单位熬坐标辘:x 麓、y 辘帮z 辘; ( 2 ) 3 令垒蠡疆豹交点:坐标覆o ; 3 ) 3 个坐标面:x _ y 面,y - z 面和z ,x 面。 在三缝窒闻里,x 辘瓣纛方囊疆彝秀惫右,y 辘熬正方岛籀两淹囱上,z 毒耋熬菱方 一1 0 。 向指向为向前,即指向浏览者。用另外一种说法就是v r m l 空间坐标系是符合右手定 则的坐标系。 旋转空间的坐标系需要指定的要素包括以下几点【9 l : 旋转轴:就是空间中虚拟的一根直线,坐标系将围绕其旋转; 旋转方向:坐标系围绕旋转轴旋转的方向,或为正或为负; 旋转角度:坐标系围绕坐标轴朝向指定旋转方向所转过的角度大小,单位是r a d 。 在三维空间里,两个单独的点可以确定一条直线,在t m l 中就是通过指定一个点, 然后把这个点和当前坐标系的坐标原点所确定的直线作为旋转轴。 、佩m l 场景中的每一个造型都是基于当前坐标系进行创建的,如果希望场景中改变 方位( 包括改变空间位置及空间朝向) ,可以使用t r a i l s f 0 h n 变换编组节点进行。一个 t r a n s f o 加节点表示相对当前坐标系形成了一个新的坐标系,而在t r a n s f o r i i l 节点编组中 的空间造型都是相对于这个新创建的坐标系所创建的。通过t r a n s f o 姗节点的使用,可 以将各种基本几何造型节点以及文本造型节点有效的组合在一起创建更加真实的虚拟 世界。 t r 柚s f 0 衄节点语法如下: t r a l l s f o m l c h i l d r e n 【】 t m s l a t i o no oo 00 o m t a t i o no o0 o1 o0 0 s c a l e1 0 1 0 1 0 s c a l e o r i e n t a t i o n0 oo o1 oo 0 b b o x c e n t e r0 o0 00 0 b b o x s i z e1 0 1 0 1 0 c c n t e ro 0o 00 0 a d d c h i l d r e n r e m o v c c h i l d r e 2 3 6 场景图 场景刚7 】( s c e n eg r a p h ) 由描述“对象及其属性”的节点组成。节点是构成t m l 文件的基本单元。场景图的第一类节点用于从视觉和听觉角度表现对象,它们是按照层 次体系结构组织的;另一类节点则参与事件产生和路由机制。 场景图是一种有向无环图,其中有些节点有节点域从而能包含其它节点。节点利用 u s e 语句可把同一节点插入场景图的不同位置,使两个节点共用一个下层节点。 节点之间的层次关系分为两种类型: 节点内的特点域包含特征节点形成的层次关系。 用组节点( g r o u p n o d e ) 把一组节点组织起来,从而形成父子关系。它体现了创 1 1 作者的意图。 2 3 7 v i m l 事件体系 节点是由域和事件组成的,其中域的取值决定了节点的取值,从而决定了世界的当 前状态,事件则为节点提供了接收外界消息以及向外界发送消息的能力。节点通过事件 入口( e v e n t 蛐接收事件,通过事件出口( e v e n t o u t ) 发出事件,一个节点的事件出口和另一 节点的事件入口之间用于传递事件的通路称为路由限o u t e ) 。通过路由联系起来的节点组 成事件体系。 事件体系是场景图除层次体系之外的另一基本组成部分,通过事件体系,事件可以 蔓延传播从而引起其它节点的变化。产生事件的最初原因是环境变化、用户交互或时间 的推移,检测器节点( s e i l s o r ) 能够检测到这种变化并发出初始事件。事件一旦产生,就 按时间顺序向路由目标节点发送,并被目标节点处理,这种处理可能改变节点状态,产 生其它事件,或者修改场景图的结构,从而为世界提供了动态性。 事件由事件值和时间戳组成。时间戳有两个作用:首先,它是描述事件机制时序流 程的一种概念装置。虽然理想的事件模型能够按照事件产生顺序及时处理所有事件,但 实际的世界实现必然存在处理延迟以及与外部设备的异步交互,通过时间戳可以确保得 到确定结果;其次,时间戳也可供s c r i p t 节点使用,脚本可以根据用户的动作顺序或 事件之间的时间间隔来处理事件。 2 4 扩展v r m l 场景 l m l 9 7 提供了两种扩展v r m l 并和外部程序实现连接的机制【6 ,7 ,8 ,1 0 1 1 ,1 3 - 1 5 ,16 1 , 即s c r i p t 节点和外部创作接口( e a i e x t e m a l a u t l l o r i n gm t e r f a c e ) 。v r m l 浏览器附带 的j a v a v n n l 类库提供了改变v r m l 场景中的对象和行为的功能以及在t m l 场景 中删除、添加新对象的能力。这种与外部程序的接口能力扩展了v r m l 的潜在功能, 尤其当需要与局部数据库进行连接时就特别有用。 2 4 1 利用s c p t 节点扩展v 础l 场景 在v r m l 9 7 中的s e n s o r 节点已具有基本交互能力。但仅仅依靠t m l 本身的 对象交互机制是无法构建一个应用系统的。因为它缺乏普通程序设计语言的转移、分支、 循环等基本特征。因此在实际应用系统设计中,应由s c r i p t 节点对应的j a v a 类来完成 这些复杂功能。特定j a v a 的类在对应的节点接受事件时,将产生一系列动作。同时, 它也可以修改节点的域或使节点产生事件。这样,相应对象与普通节点、传感器节点、 s c r i p t 节点和r 0 u t e 相互协作,构成一个完蕤的事件体系。 v r m l 的s c r i p t 节点是一种控制传感器和内插器的节点,通过它可以定义和改变 场景对象的外观和行为。s c r i p t 节点包含一个j a v a 文件,当s 鲥p t 初始化时调用。 s c i i p t 节点可以将事件和节点从v r m l 传递到j a v a 程序( 通过e v e m i l l ) ,而命令从 1 2 j a v a 程序传递到v r m l ( 哟e v e m 0 叭) 场景中。事件( e v e n t ) 在v r m l 场潦中被检 溯至l 并传递给j a v a 程痔,瘤j a v a 程侉作潞响应,或者反离迸行健递。将行淹添麓至l v r m l 中s c r 啦节点,s 翻p t 节点本身没有任何动作,其动 乍是由程序脚本来实现的。 事实上,对于j a v a 与t m l 的结合,简要地说就是:1 8 j 通过e v 。n t 强将事 串传蜀s a i p t 节淼中酶瓣本。 将s c r i p t 节点中的脚本进行处理。 通过e v e n t o u t 将结果送阐s c r i p t 节点。 程s 蕊精节点与,“a 程痔l 弋玛之阔畜两种方式哥叛进行逶舔。一秭方式楚逶遗事 件从s c r i d t 节点传递数据到j a v a 程序中去。另一种方式则怒将数据从j a v a 程序返回 到v r m l 场景中。s c r i d t 节点通过e v e n 血将数据由t m l 传递至j a v a 中。 s c f 滔t 节点豹语法为: s c r i p t u r l 【】勇 e x p o s e d f i e i dm f s t r i n g m 疆s t e v a l u 班e 曼王s e辐l 溺b o l d i r e c t o u t p u t嗍e 撑s f b 0 0 l s c r j p t 中还可以定义任意多个以下域: e v e n t i n e v e n 田p e n 籼e e v e n t n a m e 羲砖d 题e l d 聊e n 鼬e f i d 融锄ei 西l i 蝴砺l 馨e e v

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论