(计算机应用技术专业论文)基于java3d的虚拟漫游系统的研究.pdf_第1页
(计算机应用技术专业论文)基于java3d的虚拟漫游系统的研究.pdf_第2页
(计算机应用技术专业论文)基于java3d的虚拟漫游系统的研究.pdf_第3页
(计算机应用技术专业论文)基于java3d的虚拟漫游系统的研究.pdf_第4页
(计算机应用技术专业论文)基于java3d的虚拟漫游系统的研究.pdf_第5页
已阅读5页,还剩75页未读 继续免费阅读

(计算机应用技术专业论文)基于java3d的虚拟漫游系统的研究.pdf.pdf 免费下载

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

文档简介

摘要 近几年来,虚拟现实技术的研究与应用得到迅速的发展,它是一门涉及计算机图形 学、人工智能、多媒体技术以及人机接口技术等诸多领域的新兴技术,具有广泛的应用 前景。虚拟现实技术日渐成为计算机应用技术发展的主要研究方向之一。 虚拟漫游系统是虚拟现实技术的综合应用,它通过实时的交互,使用户能够自由观 察和体验虚拟环境。虚拟漫游系统的建立涉及到三维建模,场景数据的存储,碰撞检测, 场景显示优化等方面。这些方面的研究将直接影响到虚拟环境中漫游的逼真度,系统的 运行效率。 本文针对v r m l 及其它实现虚拟漫游系统技术的不足之处,笔者利用j a v a 3 d 具有交 互式三维图形应用编程接n ( a p i ) 的优点,选择j a v a 3 d 技术来实现虚拟漫游系统,并论 述了j a v a 3 d 开发工具。考虑到场景中模型的差异,对各种模型建立技术进行深入研究 后,选择混合建模技术来完成场景模型构建。并运用x m l 技术实现了场景数据的组织 存储,从而提高了程序的灵活性。探讨了虚拟漫游系统中人机交互的碰撞问题,通过对 几种典型的碰撞检测算法的分析,本文选择了基于视线的碰撞检测法作为本漫游系统的 碰撞检测算法。为改善虚拟场景的实时生成,采用了细节层次( l o d ) 技术对场景显示进 行优化,提高了绘制算法的效率。 综上所述,本文对j a v a 3 d 开发工具及虚拟漫游系统中的关键技术作了不同程度的分 析,给出了相应的实现方案,并最终实现了虚拟漫游系统。 关键字:虚拟现实、虚拟漫游、j a v a 3 d a b s t r a c t i nr e c e n ty e a r s ,t h er e s e a r c ha n d a p p l i c a t i o no fv i r t u a lr e a l i t yh a v eg o t ar a p i d d e v e l o p m e n t v i r t u a lr e a l i t yi san e w l yd e v e l o p e dt e c h n o l o g yi n v o l v e di nm a n yf i e l d s ,w h i c h i n c l u d ec o m p u t e rg r a p h i c s ,a r t i f i c i a li n t e l l i g e n c e ,m u l t i m e d i at e c h n o l o g y , h u m a n m a c h i n e i n t e r f a c e t e c h n o l o g ya n ds o o n v i r t u a lr e a l i t yh a sb e c o m eo n eo ft h em a i nr e s e a r c h d i r e c t i o n si nt h ed e v e l o p m e n to fc o m p u t e ra p p l i c a t i o nt e c h n o l o g y v i r t u a lw a l k t h r o u g hs y s t e mi st h es y n t h e t i ca p p l i c a t i o no fv i r t u a lr e a l i t y , i te n a b l e s u s e r st ov i e wa n de x p e r i e n c et h ev i r t u a le n v i r o n m e n tf r e e l yt h r o u g hr e a l - t i m ei n t e r a c t i o n t h e e s t a b l i s h m e n to ft h ev i r t u a lw a l k t h r o u g hs y s t e mi si n v o l v e di nt h es t u d i e so ft h e3 dm o d e l i n g , t h es t o r a g eo fm o d e ld a t a , c o l l i s i o nd e t e c t i o na n do p t i m i z a t i o no fs c e n ed i s p l a y t h e s e s t u d i e sw i l ld i r e c t l yi n f l u e n c et h er o a m i n gf i d e l i t yi nt h ev i r t u a le n v i r o n m e n ta n dt h en m n i n g e f f i c i e n c yo ft h es y s t e m i na l l u s i o nt ot h ed i s a d v a n t a g e so fv r m la n do t h e rt e c h n o l o g i e so fr e a l i z i n gv i r t u a l w a l k t h r o u g hs y s t e m ,t h ew r i t e rc h o o s e sj a v a 3 dt e c h n o l o g yt oi m p l e m e n tt h ev i r t u a l w a l k t h r o u g hs y s t e mb yt h em e r i to fi t si n t e r a c t i v e3 dg r a p h i c sa p i ,a n dd i s c u s s e sj a v a 3 d d e v e l o p m e n tt 0 0 1 t h ed i s s e r t a t i o nt a k e st h ed i f f e r e n c eo fm o d e l si nt h es c e n ei n t oa c c o u n t s , d o e sf u r t h e rr e s e a r c ho fa l lk i n d so fm o d e l i n gb u i l d i n gt e c h n o l o g i e s ,s e l e c t sm i x e dm o d e l i n g t e c h n o l o g yt o f i n i s ht h ec o n s t r u c t i o no fs c e n em o d e l s ,a n dr e a l i z e st h eo r g a n i z a t i o na n d s t o r a g eo fs c e n ed a t ab yx m lt e c h n o l o g yw h i c hi m p r o v e st h ef l e x i b i l i t yo fp r o g r a m t h e d i s s e r t a t i o nd i s c u s s e st h ec o l l i s i o np r o b l e mo fh u m a n - m a c h i n ei n t e r a c t i o ni nt h ev i r t u a l w a l k t h r o u g hs y s t e m ,c h o o s e st h em e t h o do fc o l l i s i o nd e t e c t i o nb a s e do nt h el i n eo fs i g h ta s t h ec o l l i s i o nd e t e c t i o na l g o r i t h mo ft h i ss y s t e m t oi m p r o v et h er e a lr e a l i z a t i o no fv i r t u a l s c e n e ,t h i sd i s s e r t a t i o na d o p t sl o dt e c h n o l o g yt oo p t i m i z et h es c e n ed i s p l a y ,a n di m p r o v e s t h ee f f i c i e n c yo f d r a w i n ga l g o r i t h m i naw o r d ,t h i sd i s s e r t a t i o n a n a l y z e st h ej a v a 3 dd e v e l o p m e n tt o o l a n dt h ek e y t e c h n o l o g i e so ft h ev i r t u a lw a l k t h r o u g hs y s t e mi nd i f f e r e n td e g r e e ,g i v e st h ec o r r e s p o n d i n g r e a l i z a t i o nm e t h o d ,a n dr e a l i z e st h ev i r t u a lw a l k t h r o u g hs y s t e mf i n a l l y k e yw r o d s :v r ;v i t u a lw a i k t h r o u g h ;j a v a 3 d i i 论文独创性声明 本人声明:本人所呈交的学位论文是在导师的指导下,独立进行研究工 作所取得的成果。除论文中已经注明引用的内容外,对论文的研究做出重 要贡献的个人和集体,均已在文中以明确方式标明。本论文中不包含任何 未加明确注明的其他个人或集体已经公开发表的成果。 本声明的法律责任由本人承担。 论文作者签名:许绎氍 少。7 年易月鲁日 论文知识产权权属声明 本人在导师指导下所完成的论文及相关的职务作品,知识产权归属学 校。学校享有以任何方式发表、复制、公开阅览、借阅以及申请专利等权 利。本人离校后发表或使用学位论文或与该论文直接相关的学术论文或成 果时,署名单位仍然为长安大学。 ( 保密的论文在解密后应遵守此规定) 论文作者签名:寺绎霞 导师签名:j 嚷j 全 弘d7 年易月目e l j 瑚7 年多月子日 长安大学硕士学位论文 1 1 研究背景及意义 第一章绪论 网络技术的发展,尤其是互联网的高速发展,正改变着人们的生活,网上购物、网 上娱乐、网上教育、网上通信,身边的许多事物仿佛都在跟网络慢慢相关。交互式虚拟 现实技术在网络上的应用也随之发展,成熟。目前,交互式虚拟现实技术也正把越来越 多的网上商场改造成真正的3 d 场景,这样能够使人们以更加接近现实世界的方式购买 商品。此外,类似“虚拟城市,虚拟校园”等以交互式虚拟现实技术为核心,构造3 d 场 景的站点也正在兴起。不久的将来,世界各地的人们或许不必亲临现场,只需在网上就 能畅游其间,人们可以随时随地了解城市,校园的情况。交互式虚拟现实技术的发展必 将更紧密地与多媒体、网络、数据库联结起来。可以说,虚拟现实的明天在网络,网络 的明天在虚拟现实。虚拟现实技术必将成为今后网络多媒体发展方向的主流,而基于网 络的大规模虚拟场景漫游将成为研究的新热点。作为一种崭新的人机交互环境,虚拟现 实技术涉及到人工智能、计算机图形学、认知科学、人类行为学、机器人学、多媒体技 术、传感器技术、人机工程学、机电工程和网络技术等多个学科和领域,综合体现了这 些学科本身及其相关交叉学科的发展和应用水平,将给人类生活带来巨大的改观。 目前,发达国家如美、日、英、法、德等国政府都设立基金来资助虚拟现实技术及 其应用系统的研究,我国的8 6 3 计划也将该技术作为关键技术展开研究。该技术已应用 于军事、医疗、娱乐、制造业、教育、航天、通信、机器人等领域,在视觉通道、非视 觉设备、高速网络、人的感知模型、v r 软件、工程、医学等方面的研究也取得了很大 的进展。 从2 0 世纪9 0 年代开始,科学界和工程界开始关注虚拟现实技术。它的兴起,为人 机交互界面的发展开创了新的研究领域;为智能工程的应用提供了新的界面工具;为各 类工程的大规模的数据可视化提供了新的描述方法。这种技术的特点在于,计算机产生 一种人为虚拟的环境,这种虚拟的环境是通过计算机图形构成的三维空间,或是把其它 现实环境编制到计算机中去产生逼真的“虚拟环境”,从而使得用户在视觉上产生种 沉浸于虚拟环境的感觉。这种技术的应用,改进了人们利用计算机进行多工程数据处理 的方式,尤其在需要对大量抽象数据进行处理时;同时,它在许多不同领域的应用,比 如军事、科学计算可视化、教育与培训、设计与规划、虚拟测试、虚拟游览、购物、交 第一章绪论 互式娱乐、工程技术、科技探索等多方面都可以带来巨大的经济效益。 虚拟漫游是一种前景非常好的技术领域,例如,房地产开发商可以通过i n t e r n e t 向 客户提供虚拟建筑物漫游来招徕客户,同时也可以在房屋真正建立之前,给客户一个更 加直观的感受。同时建筑物虚拟漫游也为建筑师们提供了很大的便利,他们可以通过对 已设计好的建筑进行反复观察,找出设计的不足之处,加以改进。同时,各种展览也可 以非常简单地在漫游环境下完成了,有了虚拟漫游的环境,人们可以在其中任意安排各 种物品,以达到不同的效果。最重要的是,虚拟环境漫游使人们可以足不出户就能欣赏 到世界各地的名胜古迹,也就是说虚拟漫游增添了娱乐乐趣。 虚拟漫游是虚拟现实技术的综合应用,具有广阔的发展前景。因此,研究虚拟漫游 具有十分重要的意义。 1 2 虚拟漫游技术 1 2 1 虚拟漫游系统 虚拟漫游系统包括一个逼真的视、听、触觉一体化的特定范围的虚拟环境,它是一 个真实空间或假想空间的实时仿真虚拟空间,用户借助必要的装备以自然的方式在该虚 拟空间中漫游,从任意角度对环境中的虚拟对象进行观察,从而产生身临其境的感觉, 同时也可以对其中的物体进行规划和操作。一般来说,虚拟场景漫游系统具有图1 1 所 示的总体框图: 编辑整刊 漫游控制器 l 实时控劁 l j 动作反馈 图1 1 虚拟漫游系统总体框架 通过漫游系统的构建,我们可以创建一个具有良好交互能力、使参与者沉浸其中的 人性化的信息环境,并且借助它可以全面展示现实场景中物体的外观、布局以及周边环 境。 1 2 2 国内外虚拟场景漫游技术的研究状况 虚拟漫游技术在城市规划、虚拟建造、场景漫游等方面的充分运用,已经产生了巨 大的社会、经济效益,给建筑设计带来了巨大的变革,因此,一些西方发达国家从8 0 2 长安大学硕士学位论文 年代中期就开始投入大量资金及人力积极开展这方面的研究。其中a t c ( a d v a n c e d t e c h n o l o g yc e n t e r ) ,a t l a n d i a d e s i g n ( m i r a g er e s o r t s ) , u n c ,p a r a d i g mi n c 等机 构在理论和实践上都取得了许多成果。 u cb e r k e l e y 建筑漫游工作室是世界上从事几何式建筑漫游研究较早并取得突出成 果的科研机构之一,他们从1 9 9 0 年开始进行复杂模型的实施漫游策略研究。1 9 9 6 年, 在s g ip o w e rs e r i e s3 2 0 工作站上实现了北卡大学伯克利分校计算机新信息楼s o d ah a l l 的实时漫游。s o d ah a l l 模型由1 4 1 8 8 0 7 个多边形构成,占据2 1 5 兆的硬盘空间,模型 用了4 0 6 种材质及5 8 种不同纹理【1 1 。由于研究小组采用了高效的数据存储结构、多级动 态l o d 技术、场景调度算法、实时可视区域判定算法及计算处理等多种技术使得s o d a h a l l 的实时仿真率( 每秒钟刷新频率) 恒定在每秒2 0 帧左右。在多年的研究工作中,u c b e r k e l e y 建筑漫游工作室提出并不断完善了u n i g r a f i x 视景数据库,开发了一些软件 工具包,如:a u t o c a dd x f 数据格式转为u n i g r a f i x 格式的数据转换器、多级l o d 自动生成器和简易场景自动生成工具等。 国内也有一些研究机构从事建筑漫游技术的研究,其中以杭州大学工业心理学研究 室1 9 9 6 年实现的故宫漫游为代表。故宫漫游采用脚踏车作为交互工具,让漫游者原地 不动地在虚拟故宫早骑行。 北京航空航天大学计算机系是国内最早进行v r 研究、最有权威的单位之一,他们 实现了分布式虚拟环境网络设计,建立了网上虚拟现实研究论坛,可以提供实时三维动 态数据库,提供虚拟现实演示环境,提供用于飞行员训练的虚拟现实系统,提供开发虚 拟现实应用系统的开发平台,并将要实现与有关单位的远程连接。他们开发的虚拟北航 校园项目,设计实现了虚拟环境漫游系统。在p i l 2 6 6 微机平台上,漫游系统驱动了一个 由l o 万个三角形构成的北航校园模型,其交互仿真率保持在2 5 帧秒以上。为了验证漫 游引擎的通用性,还先后将漫游引擎用于房地产项目虚拟恒昌花园及虚拟珠穆琅玛峰等 漫游应用中【2 j 。 浙江大学c a d & c g 国家重点实验室开发出了一套桌面型虚拟建筑环境实时漫游系 统。该系统采用了层面迭加的绘制技术和预消隐技术,实现了立体视觉,同时还提供了 方便的交互工具,使整个系统的实时性和画面的真实感都达到了较高的水平。另外他们 还研制出了在虚拟环境中一种新的快速漫游算法和一种递进网格的快速生成算法。浙江 大学开发的虚拟紫禁城项目就是虚拟环境漫游的研究成果3 】1 4 】。 中国地质大学分析了基于微机的三维应用程序的结构特点,提出了一个基于 3 第一章绪论 o p e n g l 和d i r e c t 3 d 两种3 da p i 的三维图形漫游系统。该系统已经成功应用到其开发 的系统“三维城市景观浏览器m a p 3 d v i e w e r ”中,收到了较好的效果【5 】。 北京航空航天大学为北京城市规划设计的“数字朝阳”、为微软研究院设计的“数 字奥运博物馆”等都是虚拟建筑漫游在城市规划中的应用。 1 2 3 虚拟场景漫游技术 当前常用的虚拟漫游设计技术有:o p e n g l ,d i r e c t3 d ,v r m l 和j a v a 3 d 。 这几种技术具有各自不同的特点。 1 o p e n g l o p e n g l 是最流行也是支持最广泛的一个底层3 d 技术,几乎所有的显卡厂商都在底 层实现了对o p e n g l 的支持和优化。o p e n g l 也定义了一系列接口用于编程实现三维应 用程序,但是这些接口使用c c + + 语言实现并且实现过程很复杂,所以掌握o p e n g l 的 编程技术需要花费大量的时间和精力。 另外,在网络环境下,只要遵循同样的通信协议,o p e n g l 在不运行图形程序的计 算机上也可以正常工作,它在服务器上先生成图像,然后再一幅幅地传给客户端显示。 这就对网络的传输能力提出了很高的要求。 2 d i r e c t3 d d i r e c t3 d 是m i c r o s o f t 公司推出的三维图形编程a p i ,它主要应用于三维游戏的编程。 d i r e c t3 d 是一个底层的三维硬件绘图接口,众多优秀的三维游戏都是由这个接口实现 的。与o p e n g l 一样,d i r e c t3 d 的实现主要使用c + + 语言,这就需要编程人员具有较高 的c + + 等高级语言的编程功底,因而难以普及。而且与许多m i c r o s o f t 公司的产品一样, d i r e c t3 d 只能运行在m i c r o s o f tw i n d o w s 操作系统上。 3 v r m l ( v i r t u a lr e a l i t ym o d e l i n gl a n g u a g e ) v r m l 2 0 ( v r m l 9 7 ) 自1 9 9 7 年1 2 月正式成为国际标准之后,在网络上得到了广泛 的应用,这是一种比b a s i c ,j a v a s c r i p t 等还要简单的语言。脚本化的语句可以编写三 维动画、三维游戏、计算机三维辅助教学软件,其应用前景非常广阔。它最大的优势在 于可以嵌在网页中显示。但是,v r m l 的语言功能还不是很强( 如目前没有形体之间的 碰撞检查功能) ,与j a v a 等其它高级语言的连接较难掌握,并且v r m l 的运行通常都需 要在计算机上预先安装相应的插件,所以不同厂商开发的插件给使用者带来了很大的不 便。 4 长安大学硕十学位论文 4 j a v a 3 d 技术 j a v a 3 d 封装了o p e n g l 和d i r e c t3 d 技术,提高了编写三维图形程序的层次。j a v a 3 d 具备与j a v a 相同的平台独立性和良好的网络开发支持。随着个人计算机硬件的迅速发 展,j a v a 3 d 通过调用底层的o p e n g l ,d i r e c t 3 d 等原生函数和自身的优化机制,性能提 高很快,结合j a v a 优异的网络语言特性,既充分地利用原有的三维硬件加速能力,又圆 满地解决了网络、跨平台环境下的可视化问题。而且j a v a 3 d 背后有j a v a 丰富的类库支 持,使得j a v a 3 d 可以充分利用j a v a 语言的强大功能,从而使得用j a v a 3 d 编写出复杂的 三维应用程序成为可能。这种全新的设计使3 d 技术变得不再繁琐并且可以加入到j 2 s e , j 2 e e 的整套架构,这些特性保证了j a v a 3 d 技术强大的扩展性。 上面详细阐述了实现虚拟现实的几种软件技术。表1 1 将这些实现技术进行了比较。 表1 1v i i 技术比较 1 3 课题的研究内容 本课题首先介绍虚拟现实技术的组织架构,技术特征及其应用前景,比较几种虚拟 现实的实现技术,并确定用j a v a 3 d 作为虚拟漫游系统的开发平台。其次分析各种三维 建模技术进而选择适合漫游系统的模型建立方法,并且给出模型建立的过程和实例,以 及在j a v a 3 d 中使用模型的方法。然后提出了利用x m l 相关的数据存储技术实现虚拟漫 游系统中场景数据的存取。最后对虚拟漫游中关键技术进行研究,这些技术包括:( 1 ) 优化场景显示,得到较好的显示效果。( 2 ) 系统中人机交互控制的实现。( 3 ) 选择适合 的碰撞检测算法。 第二章虚拟现实技术 2 1 虚拟现实技术概述 第二章虚拟现实技术 2 1 1 虚拟现实技术的定义 虚拟现实( v i r t u a lr e a l i t y 简称v r ) 【6 】是一种综合计算机图形技术、多媒体技术、传感 器技术、并行实时计算技术、人工智能、仿真技术等多种学科而发展起来的计算机领域 的最新技术。它以模拟方式为使用者创造一个实时反映实体对象变化与相互作用的三维 图像世界,参与者可以直接参与所处环境中,仿佛置身于一个虚拟的世界中。v r 是一 种可交替的环境,人们可以通过计算机的各种媒体进入该环境,并与之交互。v r 技术 是把抽象、复杂的计算机数据空间表示为直观的、用户熟悉的事物。它的技术实质在于 提供了一种高级的人机接口。 2 1 2 虚拟现实技术的特征 虚拟现实的概念包括以下含义: ( 1 ) 虚拟环境:由计算机生成具有双视点的实时动态三维立体的逼真模型,还包含三 维听觉、触觉、嗅觉;模拟环境可以是某一特定现实世界的虚拟实现,也可以是自由想 象的虚拟世界。 ( 2 ) 感知:虚拟现实技术应具备普通人所具有的一切感知。 ( 3 ) 自然技能:应包括人头部、眼睛、手势或其他的人体行为动作。计算机处理与用 户动作相适应的数据,并对用户的输入做出实时反应,反馈给用户的五官。 ( 4 ) 传感器:也就是三维交互设备。常用的有立体头盔、数据手套、三维鼠标、穿戴 于用户身上的数据衣等,以及许多置于环境中的装置。 从本质上说,虚拟现实就是一种先进的计算机用户接口,它通过给用户同时提供诸 如视觉、听觉、触觉等各种直观而又自然的实时感知交互手段,最大限度地方便用户操 作,从而减轻用户的负担、提高整个系统的工作效率。根据虚拟现实所应用的对象的不 同,虚拟现实的作用可以表现为不同的形式,例如将某种概念设计或构思成可视化和可 操作化;实现逼真的现场效果;达到任意复杂环境的廉价模拟训练目的等。 从概念上讲,虚拟现实系统可以用三个“i ”来描述它的特征,这就是“沉浸 ( i m m e r s i o n ) 、“交互( i n t e r a c t i o n ) 和“想象( i m a g i n a t i o n ) 1 7 】。如图2 1 所示: 6 长安大学硕士学位论文 图2 1 虚拟现实的三个“i ”特性 其中沉浸感是指虚拟现实系统不再像传统的计算机接口技术一样,用户与计算机的 交互方式已经是自然的,就像现实中人与自然交互一样,完全沉浸在通过计算机所创建 的虚拟环境中;交互性是指虚拟现实系统区别于传统三维动画的特征,用户不再是被动 地接受计算机所给予的信息,而是能够使用交互输入设备来操纵虚拟物体,以改变虚拟 世界;想象力是指用户沉浸在多维信息空间中,依靠自己的感知和认知能力全方位地获 取知识,发挥主观能动性,寻求解答,从而深化概念和萌发新意。 “沉浸性”和“交互性”这两个特性,是虚拟现实技术区别于任何一种其他相关技 术( 如三维动画、仿真、科学可视化以及传统的多媒体图形图像技术等) 的本质区别。 2 1 3 虚拟现实系统的组成 虚拟现实系统主要由以下五个模块构成【8 1 ( 如图2 2 ) 图2 2 虚拟现实系统的构成 ( 1 ) 检测模块:检测用户的操作命令,并通过传感器模块作用于虚拟环境。 ( 2 ) 反馈模块:接受来自传感器模块信息,为用户提供实时反馈。 ( 3 ) 传感器模块:一方面接受来自用户的操作命令,并将其作用于虚拟环境,另一方 面将操作后产生的结果以各种适当的形式反馈给用户。 ( 4 ) 控制模块:对传感器进行控制,使其对用户、虚拟环境和现实世界产生作用。 ( 5 ) 建模模块:获取现实世界组成部分的三维表示,并由此构成对应的虚拟环境。 7 第二章虚拟现实技术 2 1 4 虚拟现实技术表现手段与其它形式的比较 ( 1 ) 与传统沙盘的比较【9 】 传统沙盘最大的缺点在于其空间的局限性,不足以体现出整个项目的设计细节,同 时将其它的媒体信息加入其中也存在着许多困难,导致信息量严重匮乏、单调,而虚拟 现实为我们提供了一个无限的虚拟空间。并且,它也可以与其它媒体无缝结合,辅以强 大的数据库功能,所传递的信息量非常巨大。 ( 2 ) 与传统效果图的比较 静止的效果图只能向观者展示项目的某一个或某几个方面,对观察者提出的其他问 题与要求必须以相近的图像或文字加以说明,运作起来不直观、不全面,具有相当大的 局限性。而以虚拟现实技术为核一心的多媒体介绍程序,不需要观看者发挥任何的想象力, 以空前直观的方式将项目展现给观众。在虚拟的世界中,我们可以任意角度、任意比例 观看我们所感兴趣的内容,丝毫没有束缚之感。 ( 3 ) 与传统三维动画的比较 传统三维动画中声音与动画同步播放,生动细致,优于静态图画展示,但是这种展 示方式只适用于地产演示项目,或其它类似的只是为了表现视频效果的项目。由于这种 方式缺乏与用户的交互性,动画在播放的过程当中,观察者只能一直在被动的观看,接 受一些有关于项目的信息,并不能按照自己的意愿去观看、查阅、检索相关信息,而虚 拟现实产品则完全弥补了以上两种表现形式中所存在的缺陷。我们可以在虚拟空间中的 任意地点、任意时间进行观察,地点与时间都是无限的。 2 1 5 虚拟现实的实现技术 虚拟现实可以分为硬件实现和软件实现两部分【1 0 】【1 1 】。在硬件上,普通的交互设备包 括键盘、鼠标等,并与显示器和音箱构成多媒体系统。复杂的交互设备还应该包括头盔、 手套输入设备( g l o v ei n p u td e v i c e ) 、数据衣,甚至气味发生器、味觉发生器等。软件则 有多种实现方式。目前绝大多数基于虚拟现实的应用系统利用虚拟现实建模语言 v r m l 1 2 1 ( v i r t u a lr e a l i t ym o d e l i n gl a n g u a g e ) 来实现。其他的软件实现技术还有: j a v a 3 d ,o p e n g l 等三维函数库,m a t l a b 科学运算语言,c + + ,j a v a 等各种编程语言, f l a s h ,v i e w p o i n t ,c u l t 3 d 以及q t v r 等各种视频v i d e o 等。 软件实现虚拟现实的各项技术大致可以分为两类。一类基于图形模型,如v r m l , j a v a 3 d ,o p e n g l 等;另一类基于图像模型,如f l a s h ,q t v r 等。图形模型三维场景的 长安大学硕士学位论文 真实感是建立在对图形物体表面材质的光照模型基础上的,其阴影和纹理要在基于某种 光照模型的计算下,通过硬件绘制,并配以图形加速性能才能显示出来。因此图形模型 是真正意义上的三维模型。而基于图像的建模技术是用待建三维虚拟空间的有限幅图像 样本,在一定的图像处理算法和视觉计算算法的基础上直接构造三维场景,是一种伪三 维技术。由于场景中的虚拟物体是图像中的二维对象,用户很难,甚至不能与这些二维 对象进行交互【1 3 j 。 2 2j a v a 3 d 技术 2 2 1 概述 j a v a 3 d 1 4 1 是s u n 公司在1 9 9 7 年推出的面向i n t e r n e t 的交互式三维图形应用编程接 1 3 ( a p i ) ,通过它开发者可以从更高层次构建和操纵三维几何对象。 j a v a 3 d 沿袭了j a v a 语言本身“一次书写,各处运行的”特点,这将使用户开发的三 维图形应用程序不受硬件,软件的限制。为编程人员提供了更高层次的面向对象的编程 接口,可以大大提高编程人员的效率。 j a v a 3 d 提高了编写三维图形程序的层次,用户只需考虑图形对象本身,而不需要考 虑从点、线、面去实现这个对象,也不需要考虑光照、着色等极其复杂的图形学问题。 j a v a3 d 自动进行场景的管理,例如,随着观察点的变换,自动显示或隐藏某些部分。 在效率方面,j a v a3 0 可以并行着色,自动进行着色过程的优化,拥有高效的流水 线方式,能自动利用硬件的加速功能,还能对场景进行预编译以提高效率。 j a v a3 d 最突出的优点在于它的代码可传输性,这使得用来生产可视化场景的小巧的 a p p l e t 可以方便的从服务器传给客户端,然后在客户端本地运行。在a p p l e t 运行时,传 输的不是图像本身,而是控制三维图象生成的程序和数据,这样大大节省了网络传输的 数据量。客户端从服务器下载这个a p p l e t ,由j a v a3 d 运行环境解释执行,并在执行过 程中不断从服务器端获取图像变化的数据,就可以生成动态的三维可视化效果,这也是 j a v a3 d 最大的优势所在。 2 2 2j a v a 3 d 场景图的结构 在构建虚拟三维场景时,j a v a 3 d 提供了大量实用的类,开发者可以通过实例化这些 类来创建各种j a v a 3 d 对象。这些类包括几何体( g e o m e t r y ) ,灯光( l i g h t ) ,变换 ( t r a n s f o r m ) ,声音( s o u n d ) 以及行为( b e h a v i o r ) 等。 9 第二章虚拟现实技术 场景图【1 5 】【1 6 1 是一个包含父节点,子节点和数据对象的树形结构。它可作为设计 j a v a 3 d 的工具或文档,场景图使用图2 3 中所示图例表示。实际的j a v a 3 d 一般拥有比 场景图描述的更多的对象。图2 3 左边一列所示的符号表示场景图中使用的一个简单对 象。前两个符号表示指定的类:v i r t u a l u n i v e r s e 和l o c a l e 。接下来的3 个符号表示g r o u p 、 l e a f 和n o d e c o m p o m e n t 类,这3 个符号经常用于表示指定对象的子类。最后一个符号 用来表示任何其他的对象类。实线箭头符号表示两个对象之间的父子关系。虚线箭头表 示一个对象是另一个的引用。在同一个场景图中一个引用对象可以被不同的分支共享。 节点及节点对象 弧线( o b j e c tr e l a t i o n s h i p ) o v i r t u a lu n i v e r s e 胁n 好t - - - - c 烁h i l d l 幽 l o c a l e r e 勰c c 组节点( g r o u p ) 叶节点( l e a f ) 节点组件 n o d ec o m p o m e n t 其他对象 o t h e r o b j e c t 图2 3j a v a 3 d 场景图图例 j a v a 3 d 的数据结构采用的是s c e n eg r a p h ss t r u c t u r e ( 场景图【1 7 】) ,就是一些具有方 向性的不对称图形组成的树状结构如图2 4 所示。 我们在一个j a v a 3 d 应用程序看到的逼真三维场景从程序的角度看来,实际就是由 j a v a 3 d 定义的一系列的对象,这些对象不是杂乱无序,对象之间也不是毫无关系。如果 想让三维图像正常显示,必须在这两点上遵循j a v a 3 d 场景图的规定。观察图2 4 ,j a v a 3 d 场景图的树结构由各种各样的对象组成。 在图中出现的这些对象都实现了j a v a 3 d 中有重要的意义的类,从逻辑上我们将它 们分为三类: 根节点( r o o t ) :v i r t u a lu n i v e r s eo b i e c t 1 0 o o ( 长安大学硕士学位论文 节点( n o d e ) :l o c a l eo b j e c t 、b r a n e h g r o u pn o d e s 、b e h a v i o rn o d e 、s h a p e 3 dn o d e 叶子节点( l e a f ) :a p p e a r a n c e 、g e o m e t r y 场景图中线和线的交汇点称为节点( n o d e ) ,这些节点都是j a v a 3 d 类的实例( i n s t a n c e o f c l a s s ) ,节点之间的线表示各个实例之间的关系。 v i r t u a lu n i v e r s e 是根节点,每一个场景图的v i r t u a lu n i v e r s e 是唯一的。在v i r t u a l u n i v e r s e 下面是l o c a l e 节点,每个程序可以有一个或多个l o c a l e ,但同时只能有一个 l o c a l e 处于显示状态,就好象一个三维世界非常大,有很多个景点,但我们同时只能在 一个景点进行观察。j a v a 3 d 允许从一个l o c a l e 跳到另一个l o c a l e ,不过绝大多数程序 只有一个l o c a l e 。 每一个l o c a l e 可以拥有多个b r a n c h g r o u p 节点。所有三维形体的其 位置信息( t r a n s f o r m g r o u pn o d e s ) 都建立在b r a n c h g r o u p 节点之上。t r a n s f o r m g r o u p n o d e 用来设定s h a p e 3 d 在v i r t u a lu n i v e r s e 中的位置,通过对其设定,可以实现s h a p e 3 d 的旋转和缩放等变化。s h a p e 3 dn o d e 是三维图形节点,这个节点的实体放映在最后的 显示画面中,就是三维世界中的每个形体。包括正方体、球体以及任何形状和外观的三 维形体。位于场景图最下层的是两个叶子节点:三维体的外观( a p p e a r a n c e ) 和几何信 息( g e o m e t r y ) ,这两个节点定义了一个三维体的显示效果。 v i e wp l a t f o r m 位于图2 4 的另一个分枝上,与前面所有描述三维体的性质的概念不 同,v i e wp l a t f o r m 和v i e w 都是用来定义观察者的信息。 图2 4j a v a 3 d 场景图示例 第二章虚拟现实技术 2 2 3j a v a 3 d 程序的创建 创建一个j a v a 3 d 程序大致如下几步: ( 1 ) 创建一个c a n v a s 3 d 对象。该对象就是显示器上窗口中显示的一副图片对应的对 象,它对图像进行渲染。 ( 2 ) 创建一个v i r t u a l u n i v e r s e 对象。v i r t u a l u n i v e r s e 作为一个虚拟空间,所有的物件 都在此空间上运行。 ( 3 ) 创建一个l o c a l e 对象,将它与v i r t u a l u n i v e r s e 对象联系起来。 ( 4 ) 构造视野子图。a 创建一个v i e w p l a t f o r m 对象。 b 创建一个p h y s i c a l b o d y 对象。 c 创建一个p h y s i c a l e n v i r o n m e n t 对象。 d 创建一个v i e w 对象,将v i e w p l a t f o r ,p h y s i c a l b o d y , p h y s i c a l e n v i r o n m e n t 和c a n v a s 3 d 对象关联到v i e w 对象上。可以定义观察距离的远近以 及观察平面等。 s i m p l e u n i v e r s e 类的实例执行了上面步骤中的( 2 ) ( 4 ) 。使用s i m p l e u n i v e r s e 进行 j a v a 3 d 编程可以明显的减少创建视野子图所需要的时间和工作量,使得编程人员有更多 的时间来考虑场景的内容。 ( 5 ) 构造内容子图。这就是我们所关心的问题,模型的所有属性都在内容子图中设定。 ( 6 ) 编译子图。b r a n c h g r o u p 对象是可以编译的。编译一个b r a n c h g r o u p 可以将 b r a n c h g r o u p 对象和它所有的祖先转化为对渲染系统更有效的形式。 ( 7 ) 将子图插入倒l o c a l e 。使得子图处于激活状态。 e x 2 - 1 : i m p o r tj a v a a p p l e t a p p l e t ;可以插入h t m l i m p o r tj a v a a w t b o r d e r l a y o u t ;窗口采用b o r d e r l a y o u t 方式布局 l 。m p o r tc o m s u n d3 d u t i l s a p p l e t m a i n f r a m e ;a p p l i c a t i o n l 。m p o r tc o m s u n d 3 d u t i l s g e o m e t r y s p h e r e ;调用生成b o x 的u t i l i t y l m p o r tt o m s u n j 3 d u t i l s g e o m e t r y p r i m i t i v e ; i m p o nt o m s u n j 3 d u t i l s u n i v e r s e * ;观测位置的设置 i m p o r tj a v a x m e d i a j 3 d * ;核心类 i m p o r tj a v a x v e c m a t h * ;矢量计算 长安大学硕士学位论文 p u b l i cc l a s sh e l l o e x t e n d sa p p l e t p u b l i cb r a n c h g r o u pc r e a t e s c e n e g r a p h 0 创建一个用来包含对象的数据结构 b r a n c h g r o u po b j r o o t = n e wb r a n c h g r o u p 0 ; 创建一个球并把它加入到o b j r o o t 中 s p h e r es p h e r e = n e ws p h e r e ( 0 5 0 ; 小球的半径为0 5 米 o b j r o o t a d d c h i l d ( s p h e r e ) ; 创建一束红色光 c o l o r 3 f l i g h t l c o l o r = n e wc o l o r 3 f ( 1 8 f , 0 i f , o 1 0 ; 设置光线的颜色 b o u n d i n g s p h e r eb o u n d s = n e wb o u n d i n g s p h e

温馨提示

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

评论

0/150

提交评论