基于VRML的三维虚拟场景与二维地图互响应研究
更新时间:2023-04-14 09:51:01 阅读量: 实用文档 文档下载
- 基于vrml的虚拟校园推荐度:
- 相关推荐
河北工业大学
硕士学位论文
基于VRML的三维虚拟场景与二维地图互响应研究
姓名:张蕾
申请学位级别:硕士
专业:计算机应用技术
指导教师:彭玉青
2010-12
河北工业大学硕士学位论文
基于VRML的三维虚拟场景与二维地图互响应研究
摘要
计算机技术的发展,给社会生活带来诸多便利。虚拟现实技术是一门综合了建模技术、计算机技术、图形技术等领域的新兴技术,具有沉浸感、交互性、想象力3I特性,广泛的应用在教育、军事、医疗等方面。虚拟现实建模语言VRML可以创建虚拟三维场景,用户在虚拟场景中漫游观看体验设施,增强临境感。但当用户在场景中自由行走时,往往会出现不知身在何处的迷失感。在科技飞速发展的今天,二维电子地图因具有平面性、宏观性、整体性的特点广为使用,但不能完整地反映客观世界。
本文中将三维虚拟场景的现实性、局部性、直观性与二维电子地图的简洁性、宏观性、整体性优势互补,采用几何模型和图像混合建模技术,利用VRML构造三维虚拟场景,并实现自动漫游和交互漫游。在漫游的过程中通过碰撞检测避免穿透,陷入地下等不符合现实的现象发生,增强逼真性。利用重用机制、合理使用纹理、使用LOD等方法对大规模虚拟场景执行性能进行优化。VRML一方面通过触摸传感器和感知传感器非编程方式实现VRML场景自身交互,另一方面通过JSAI、EAI、JS接口编程方式实现VRML场景与外部环境的交互。
本文采用EAI外部编程接口,将Java Applet小程序与VRML文件一同嵌入到HTML 网页中,实现三维虚拟场景与二维电子地图互响应。互响应的表现形式主要有:用户在三维虚拟环境中漫游时,二维地图要实时显示相应的位置;二维电子地图中改变位置时,在三维虚拟场景中视点随之跳到相应位置等。
关键字:三维虚拟场景,二维电子地图,VRML ,EAI,互响应
i
基于VRML的三维虚拟场景与二维地图互响应研究
ii
RESEARCH OF INTERACTION BETWEEN 3D
VIRTUAL SCENE BASED ON VRML
AND 2D MAP
ABSTRACT
The development of computer technology brings a lot of convenience to social life. Virtual
reality is comprehensive technology which synthesizes modeling technology, computer technology, graphics technology, and has 3I including Immersion, Interaction and Imagination. It is widely used in education, military, medical treatment and so on. Virtual reality modeling language (VRML) can create virtual 3D scene in which users can roam, watch and experience facilities to enhance immersion. But when a user freely walks, he often has lost feeling that he does not know where he is. With the rapid development of science and technology today, 2D electronic map is widely used because of its plane, macro, and integrity, but it can not completely reflect the objective world.
The paper will complement the reality,part and visualization of 3D virtual scenes with the macro, integrity and terseness of 2D electronic map. 3D virtual scenes are created by VRML and with geometry model and the image hybrid modeling technology, and realize automatic and interactive roaming. The collision detection avoids penetrability, running into the underground and so on to enhance reality. Large-scale virtual scene executes better by reusing mechanism, reasonably using texture and LOD. On the one hand VRML uses touch sensor and perception sensor as non programming way to realize interaction itself, on the other hand it can use JSAI, EAI or JS interface as programming way to realize interaction of VRML scene and external environment.
The paper adopts EAI external programming interface and embed Java Applet and VRML files into HTML pages together to realize mutual response between 3d virtual scene and 2D electronic map. The expression of mutual response has two kinds. Firstly, 2D electronic map displays real-time position when users roam in the 3D virtual environment. Secondly, the viewpoint jumps to the corresponding position in 3D virtual scene when users change the position in the 2D electronic map.
KEY WORDS: 3D virtual scene, 2D electronic map, Virtual Reality Modeling Language, External Authoring Interface, interaction
原创性声明
本人郑重声明:所呈交的学位论文,是本人在导师指导下,进行研究工作所取得的成果。除文中已经注明引用的内容外,本学位论文的研究成果不包含任何他人创作的、已公开发表或者没有公开发表的作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确方式标明。本学位论文原创性声明的法律责任由本人承担。
学位论文作者签名:日期:
关于学位论文版权使用授权的说明
本人完全了解河北工业大学关于收集、保存、使用学位论文的规定。同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存论文;学校有权提供目录检索以及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版;在不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用于学术活动。
(保密的学位论文在解密后适用本授权说明)
学位论文作者签名:日期:
导师签名:日期:
河北工业大学硕士学位论文
第一章绪论
§1-1 课题研究背景
虚拟现实技术是一门综合了建模技术、计算机技术、图形技术、显示技术等多种技术的新型技术,现已经在军事、医疗、教育、建筑、娱乐等方面取得了广泛的应用,它通过对人物和周围环境及其相互关系进行本质的描述,并在计算机上得以实现,使人产生一种沉浸于虚拟环境中的感觉,通过与虚拟环境发生交互作用,从而得到与置身于实际环境中所获得的相通或相似的感觉。虚拟现实建模语言(Virtual Reality Modeling Language, VRML)是一种三维建模语言,可创建虚拟场景,为用户提供仿佛置身于现实世界的临境感。比如创建虚拟社区,当用户进入这个虚拟社区后,如同在真实社区里行走一样,可以看到亭台楼阁小桥流水和体育器械,甚至用户可以亲自去体验一下健身器械。
三维虚拟场景虽然可以给用户提供置身于现实世界的临境感的体验,但是当用户在这样“真实世界”中漫游容易产生不知道自己现在身处何方,如何才能走出去的现象——迷路。平面地图是三维空间信息最早的可视化方式,它在古代交通、军事以及社会生产实践活动中都发挥着重要的作用。在科技飞速发展的今天,产生了一种全新的地图——二维电子地图。二维电子地图所呈现的信息是平面的、凝固的、宏观的,因而不能完整细致的反映客观世界。如何实现将三维虚拟场景的局部性、直观性、现实性与二维地图的整体性、宏观性、简洁性有机结合优势互补,成为一项重要的研究课题。
§1-2 研究现状
1-2-1 国外虚拟现实技术的研究现状
美国作为VR技术的发源地,其研究水平基本上就代表国际VR发展的水平。目前美国在该领域的基础研究主要集中在感知、用户界面、后台软件和硬件四个方面。美国宇航局(NASA)Ames实验室的研究主要集中在以下方面:将数据手套工程化,使其成为可用性较高的产品;在约翰逊空间中心完成空间站操纵的实时仿真;大量运用了面向座舱的飞行模拟技术;对哈勃太空望远镜的仿真;还有对美国火星探测器的行动过程,实现了该探测器的3D动画虚拟。现在正致力于一个叫“虚拟行星探索”(VPE)的试验计划。现在NASA己经建立了航空、卫星维护VR训练系统,空间站VR训练系统,并且己经建立了可供全国使用的VR教育系统[1]。北卡罗来纳大学(UNC)的计算机系是进行VR研究最早的大学,他们主要研究分子建模、航空驾驶、外科手术仿真、建筑仿真等。Loma Anda大学医学中心的David Warner 博士和他的研究小组成功地将计算机图形及VR设备用于探讨与神经疾病相关的问题,首创了VR儿科治疗法。麻省理工学院(MIT)是研究人工智能、机器人和计算机图形学及动画的先锋,这些技术都是VR 技术的基础,1985年MIT成立了媒体实验室,进行虚拟环境的正规研究。华盛顿大学华盛顿技术中心的人机界面技术实验室(HITLab),将VR研究引入了教育、设计、娱乐和制造领域[2,3]。从90年代初起,
1
基于VRML的三维虚拟场景与二维地图互响应研究
美国率先将虚拟现实技术用于军事领域,主要用于以下四个方面:虚拟战场环境;进行单兵模拟训练;实施诸军兵种联合演习;进行指挥员训练。
在VR开发的某些方面,特别是在分布并行处理、辅助设备(包括触觉反馈)设计和应用研究方面,英国是领先的,尤其是在欧洲。英国主要有四个从事VR技术研究的中心:windustries(工业集团公司),是国际VR界的著名开发机构,在工业设计和可视化等重要领域占有一席之地;British Aerospace(英国航空公司BAe)的Brough分部,正在利用VR技术设计高级战斗机座舱;Dimension Intemational,是桌面VR的先驱,该公司生产了一系列的商业VR软件包,都命名为Superscape;Divison LTD公司在开发VISION、Pro Vision和Supervision系统/模块化高速图形引擎中,率先使用了Tmnsputer和i860技术。日本主要致力于建立大规模VR知识库的研究,在虚拟现实的游戏和加强人机接口能力的研究中处于领先地位[4]。京都的先进电子通信研究所(ATR)正在开发一套系统,它能用图像处理来识别手势和面部表情,并把它们作为系统输入;富士通实验室有限公司正在研究虚拟生物与VR环境的相互作用,他们还在研究虚拟现实中的手势识别,已经开发了一套神经网络姿势识别系统,该系统可以识别姿势,也可以识别表示词的信号语言;日本奈良尖端技术研究生院大学教授千原国宏领导的研究小组于2004年开发出一种嗅觉模拟器,只要把虚拟空间里的水果拉到鼻尖上一闻,装置就会在鼻尖处放出水果的香味,这是虚拟现实技术在嗅觉研究领域的一项突破[5]。
1-2-2 我国虚拟现实技术的研究现状
我国VR技术研究起步较晚,与国外发达国家还有一定的差距,但现在己引起国家有关部门和科学家们的高度重视,并根据我国的国情,制定了开展VR技术的研究计划。九五规划、国家自然科学基金委、国家高技术研究发展计划等都把VR列入了研究项目。国内一些重点院校,已积极投入到了这一领域的研究工作。北京航空航天大学计算机系是国内最早进行VR研究、最有权威的单位之一,并在以下方面取得进展:着重研究了虚拟环境中物体物理特性的表示与处理;在虚拟现实中的视觉接口方面开发出部分硬件,并提出有关算法及实现方法;实现了分布式虚拟环境网络设计,可以提供实时三维动态数据库、虚拟现实演示环境、用于飞行员训练的虚拟现实系统、虚拟现实应用系统的开发平台等。浙江大学CAD&CG国家重点实验室开发出了一套桌面型虚拟建筑环境实时漫游系统,还研制出了在虚拟环境中一种新的快速漫游算法和一种递进网格的快速生成算法;哈尔滨工业大学已经成功地虚拟出了人的高级行为中特定人脸图像的合成、表情的合成和唇动的合成等技术问题;清华大学计算机科学和技术系对虚拟现实和临场感的方面进行了研究;西安交通大学信息工程研究所对虚拟现实中的关键技术—立体显示技术进行了研究,提出了一种基于JPEG标准压缩编码新方案,获得了较高的压缩比、信噪比以及解压速度;北方工业大学CAD研究中心是我国最早开展计算机动画研究的单位之一,中国第一部完全用计算机动画技术制作的科教片《相似》就出自该中心。西北大学可视化研究所在利用虚拟现实技术对数字博物馆的开发方面也进行了相应的研究[6,7]。随着越来越多的科研单位和企业致力于虚拟现实技术的研究和产品开发,不久的将来,VR技术必将在我国国民经济发展中发挥重要的作用[8]。
2
河北工业大学硕士学位论文
§1-3 论文主要内容及章节安排
论文通过对一些基础知识的介绍,循序渐进的研究并实现VRML三维虚拟场景与二维地图的互响应。本文中具体工作如下:
1) 详细介绍了虚拟现实技术的概念、发展历史过程和特点。对于实验中使用的VRML语言的发展过程、基础知识和工作原理进行了介绍,并对VRML文件专用编辑器Vrml Pad的优点进行介绍和四种常用的VRML浏览器进行了优缺点的比较。
2) 三维虚拟场景建模技术主要有基于几何模型的建模技术、基于图像绘制和几何模型和图像混合建模技术等技术,实验中采用几何模型和图像混合建模技术进行三维场景建模,详细介绍了虚拟场景的建模过程:设计虚拟场景中的房子;添加光照效果使场景明暗分明,增加接近传感器节点为进一步实现虚拟场景与二维地图互响应打下基础;为虚拟小区加入初始视点。介绍了自动漫游、交互漫游和目的漫游三种漫游方式,并对实验中实现自动漫游和交互漫游的过程进行了详细的介绍。在漫游的过程为了增强逼真性和沉浸感,需要进行碰撞检测。目前主要的检测方法有包围盒、轴向包围盒算法、方向包围盒算法、离散方向包围盒算法、三角形相交算法,并对五种碰撞检测算法进行了比较。
3) VRML语言提供了两种交互方式:非编程交互方式和编程交互方式。利用VRML中提供的触摸型传感器和感知型传感器可以实现自身的非编程交互,运用JSAI、EAI、JS接口三种编程方式可以实现VRML场景与外部环境进行交互,并比较了JSAI与EAI的各自优缺点。
4) 研究了三维场景与二维地图集成的思路、原理和表现形式。详细介绍了实现环境的具体配置,以及实验中部分代码。
论文章节安排如下:
第一章,绪论,概述本文的研究背景、现状、意义、及其论文的主要内容安排。
第二章,虚拟现实技术与VRML,对虚拟现实技术概念、分类模式以及特点进行介绍,细致阐述了VRML的发展、基本概念、工作原理和VRML编辑器浏览器。
第三章,三维虚拟场景生成技术研究,主要介绍了三种三维虚拟场景建模技术、VRML建立系统虚拟场景的详细过程、漫游方式以及碰撞检测算法和场景优化。
第四章,VRML交互技术,主要阐述了浏览者与虚拟场景之间进行交互的两种方式:非编程交互和编程交互。
第五章,虚拟场景与二维地图互响应的实现,主要介绍了实验运行环境以及主要代码和运行结果图。
第六章,总结与展望,总结了本文所做的主要工作,并指出了研究过程中的不足之处,并对虚拟三维场景与二维地图互响应应用提出了展望。
3
基于VRML的三维虚拟场景与二维地图互响应研究
4 第二章虚拟现实技术与VRML §2-1 虚拟现实技术
2-1-1 虚拟现实技术介绍
虚拟现实技术(Virtual Reality)是以计算机技术为平台,利用虚拟现实硬软件资源实现人机交互和沟通。利用虚拟现实技术可为用户创建一个提供视觉、听觉、触觉、嗅觉、导航漫游等身临其境感受的虚拟空间。虚拟现实技术的分类模式有:沉浸式虚拟现实技术模式、分布式虚拟现实技术模式、桌面式虚拟现实技术模式以及纯软件虚拟现实技术模式[9]。
沉浸式虚拟现实技术模式也称为最佳虚拟现实技术模式,选用先进完备的虚拟现实硬件设备和软件技术支持,投资比较大,适合于大中型企业使用。
分布式虚拟现实技术模式是指基于网络虚拟环境,将位于不同地理位置的多用户或多个虚拟现实环境通过网络共享信息资源,从而用户可以在虚拟现实的网络空间中更好地协调工作。
桌面式虚拟现实技术模式也称为基本虚拟现实技术模式,使用最基本的虚拟现实硬件设备和软件技术,达到一个虚拟现实技术的最基本配置。其特点是投资较少,效率可观,适合于中小企业使用。
纯软件虚拟现实技术模式也称为大众化模式,是在无虚拟现实硬件设备和接口前提下,利用传统的计算机、网络和虚拟现实软件环境实现虚拟现实技术。其特点是投资最少、效果显著,适合个人、小集体开发使用。
2-1-2 虚拟现实技术的发展过程
虚拟现实技术的发展过程大体可分为四个阶段分别为:第一阶段,蕴含虚拟现实思想;第二阶段,虚拟现实技术萌芽;第三阶段,虚拟现实概念的产生和理论初步形成;第四阶段,虚拟现实理论完善及应用。
1) 蕴含虚拟现实思想的阶段
虚拟现实技术可以有效的模拟真实世界中的人文景观、地形地貌。虚拟现实技术与仿真技术的发展息息相关:放风筝是模拟飞行动物与人类之间的交互,后来风筝这种技术传到西方被称为飞行器,飞机就是利用这个原理发明的。1929年Edwin A.Link发明了飞行模拟器,乘坐者可以体验坐飞机的感觉。“全传感仿真器”是美国人MortonHeilig在1962年的发明有振动和声音,该发明也蕴涵了虚拟现实技术的思想。
2) 虚拟现实技术的萌芽阶段
MortonHeilig发明了第一个具有虚拟现实思想的装置Sensorama具有多种感官刺激的立体电影设备。该设备具有立体声功能,能产生不同气味,座椅可以随着剧情摇摆震动,观看者还能感受到风的吹动,这是一项电子模拟技术与娱乐业相结合的全新技术。
1965年计算机图形学奠基者Ivan Sutherland发表了一篇名为“The Ultimate DisPlay”的论文,提出
河北工业大学硕士学位论文
了一种全新的图形显示技术。将计算机屏幕比作一个窗口,用户可以通过这个窗口看到一个虚拟世界。
1966年,美国MIT林肯实验室正式开始研制头盔式显示器。1968年Ivan Sutherlan研制出第一台头盔式显示器HMD(Head-Mounted DisPlay)。该显示装置由两个阴极射线管(CRT)组成,能够显示计算机生成的立体图像,并且在论文“Ahead-Mounted 3D DisPlay”中讨论了对头盔式三维显示装置的设计要求和构造原理并绘制了设计原型,成为三维立体显示技术的奠基性成果。
3) 虚拟现实概念和理论的初步形成阶段
上个世纪70年代,计算机图形学以及相关技术的飞速发展,为计算机仿真系统提供高质量的、实时交互作用的三维图形奠定了理论基础。
20世纪80年代,美国国家航空和宇航局(NASA)及美国国防部开始研究外层空间环境。1984年M.McGreevy和J.Humphries开发了用于火星探测的虚拟环境视觉显示器,该显示器可通过探测器发回地面的数据构造出火星表面的三维虚拟环境。1985年Fisher等人对JaronLanier的接口程序作了进一步研究并开发了通用多传感个人仿真器等设备。
1986年,第一套基于HMD及数据手套的VR系统VIEW(Virtual Interactive Environment workstation)问世。它是一个通用的、由多传感器组成的个人模拟器和遥现telepresenee装置 [10]。
1987年,美国Sceintific American发表论文提出了Data Glove的虚拟手控器。Data Glove是一种光学屈曲传感手套,手套的背面安装有三维跟踪系统,这种手套可以确定手的方向以及各手指的弯曲程度。
1989年,Jarnon Lanier首先提出“Virtual Reality”(虚拟现实),根据这个名词的意思,VR的一种定义是:VR就是让用户在计算机虚拟的环境中获得“进入角色”的体验。
4) 虚拟现实理论的完善及应用
1992年Sense公司开发了“WTK’开发包,从而使VR技术的应用提到更高层次上。1994年Blurdea G和Coiffet编写的虚拟现实技术书中提出了VR的3I特征,同年在日内瓦召开的第一届WWW大会上,首次正式提出了VRML概念[11]。
2-1-3 虚拟现实技术的特点
虚拟现实现实技术的特点主要体现在沉浸感(Immersion)、交互性(Interaction)、想象力(Imagination),简称3I特性。
1) 沉浸感(Immersion)是指用户置身于计算机虚拟环境中的真实程度,理想的虚拟现实环境用户难以辨认其现场是现实空间还是虚拟空间,使其难辨真假,甚至超越真实。
2) 交互性(Interaction)是指用户对虚拟现实场景中物体的可操作程度以及虚拟环境反馈的自然程度和实时性等。主要借助虚拟现实技术的三维交互设备,如立体眼镜,头盔显示器,数据手套以及虚拟现实三维空间跟踪球等实现交互性。
3) 想象力(Imagination)是指在虚拟现实世界中开发并寻找合适的场景和对象,以充分发挥人类的想象力和创造力。在多维信息空间中,可以依靠认识和感知能力获取知识,发挥主观能动性,去拓宽知识领域,开发新产品[9]。
5
基于VRML的三维虚拟场景与二维地图互响应研究
6 §2-2 虚拟现实建模语言—VRML
2-2-1 主流Web3D技术
主流的Web3D技术有:VRML、Java3D、Cult3D、OpenGL以及Vega等,这些技术自身各具优缺点,适合于不同领域。
VRML(Virtual Reality Model Language)虚拟现实建模语言,是一种描述交互式三维场景的文件格式,是以虚拟现实为特征的3D Web技术的核心,可以集成文本、图像、MPEG影像等多种媒体类型。VRML文件是ASCⅡ码格式,因此同一个场景文件比较小,更适合在网络上传播。
下面是4种Web3D主流技术对比情况,如表2.1所示。
表2.1Web3D技术比较
Table 2.1 Comparison of Web3D Technology
技术方案优点缺点
VRML 易使用学习;文件小易于网络传输。
浏览器插件使用比较复杂,创建复杂模型的
功能较弱。
Java3D
封装了OpenGL和DirectX,可跨平台使用,
网络传输速度快。编写和调试比较复杂,目前国内使用不很广
泛。
Cult3D
文件小,网络传输速度快,浏览器插件使用方
便。
用户使用需要支付相应的费用。
OpenGL
独立于硬件和窗口,是专业图形处理和科学计
算等领域的标准图形库。在网络上传输速度慢,不适合多用户异地实
时协作。
2-2-2 VRML的发展
1993年12月Mark Pesce和Tony Parsi对计算机三维空间方面开始进行研究,设计出Web的3D接口,即浏览Internet上的三维画面三维浏览器的原型。
1994年5月Mark Pesce与Tony Parisi在瑞士日内瓦CERN实验室举行的第一届万维网(WWW)国际会议上介绍了能够在万维网上运行的虚拟现实界面并发表了万维网上3D浏览器最初的原型——Lbayrinht(迷宫)的3D浏览器。惠普公司欧洲研究实验室的WWW早期开发者Rava Raggett最早提出了虚拟现实标识语言(Virtual Reality Markup Language)的名称。但虚拟现实标识语言很快被更能反映它的图形能力的虚拟现实建模语言(Virtual Reality Modeling Language)名称所替代。
此后,成立了一个以Mark Pesce和Brain Behlendorf为主的mailing-list,以现有的标准基础之上研究制定了VRML标准并决定采用SGI公司的Open Inventor ASCII文件格式。这种文件格式支持对相关三维场景的描述,并且SGI公司同意不需要任何专利权和专卖权将这种文件格式的剖析程序向公众开放供大家使用,此举非常有利于VRML的发展。VRML标准采用部分的Open Inventor文件格式和网络连接的能力制定而成。
河北工业大学硕士学位论文
1994年10月在芝加哥召开的第二次万维网会议上发布了VRML 1.0的规范草案。主要的功能是生成静态的3D场景,以及与HTML链接的一些功能和措施。
1995年秋,SGI公司推出了一种Web创作工具WebSpace Author,可以实现三维场景内交互性的摆放物体,改进了场景中的部分功能并且可以发表VRML文件。
1996年初,VRML委员会审阅并讨论了若干个VRML 2.0版本的建议方案,其中SGI公司的Moving Worlds提案获得大多数选票,成为VRML 2.0规范的工作文档。1996年8月,在新奥尔良的SIGGRAPH’96会议上公布了VRML 2.0,在VRML1.0的基础上进行了补充和完善,增强了静态世界、增强了交互性、动画功能、编程功能、原型定义功能。同时VRML2.0成为国际标准草案(DIS,Draft of International Standard)制定基础。DIS在1997年4月提交给国际标准化组织ISO JYCI/SC2委员会进行审议,依照惯例命名为VRML 97。1997年12月VRML97作为国际标准正式发布,只是在VRML2.0基础上进行了少量修正。
1998年2月,发表了VRML中文国标标准。1999年底VRML的新编码方案X3D,整合了正在发展的可扩展标记语言(Extensible Markup Language,简称XML)、Java、流技术等先进技术,具有更高效更强大的3D计算能力、渲染质量和传输速度。
2000年世界Web3D联盟发布了VRML标准草案以及国际标准草案修订案[12]。
2-2-3 VRML基础知识
VRML文件名为*.wrl,由VRML文件头、原型、造型、脚本和路由组成。以下是VRML的基本概念介绍。
1) 节点和域
节点是VRML文件最基本的组成要素,通过它的层层嵌套来构成VRML文件。节点可以表示几何对象,也可以与其他节点组合成新节点。域是组成节点的基本元素,由域名和域值组成。
Box {
size 50 20 50
}
其中Box是节点类型,表示长方体节点;size是域名,“50 20 50”是域值,表示长方体的长宽高。
2) 造型
物体的造型即场景图,由描述对象及其属性的节点组成。VRML有54个节点,分为两类:第一类节点用于表现对象,按层次体系结构组织而成,反映场景的空间结构,提供灯光,颜色,碰撞等功能;第二类节点参与事件产生与路由机制,通过事件和路由路径来实时呈现场景的动态变化。
3) 路由
路由相当于一个连接各个场景的“流程图”,将各个节点联系在一起,把事件通过路由从一个节点传递到另一个节点,使虚拟场景具有更好的交互性、立体感和动感性。
4) 事件
VRML中一般有两个事件:入事件“eventIn”和出事件“eventOut”,入事件是请求节点改变自己某个域值,而出事件是请求其他节点改变它的某个域值。
7
基于VRML的三维虚拟场景与二维地图互响应研究
5) 触发器
触发器是用户输入的入口,是事件产生的源泉,是实现三维场景人机交互的根本基础。触发器产生的事件可以通过路由到达目的节点从而引发新的事件或得到新的场景属性值。常用的触发器有接近传感器ProximitySensor、时间触发器TimeSensor、接触检测器TouchSensor、可见性检测器VisibilitySensor、平面检测器PlaneSensor[13]。
6) 脚本
脚本相当于用其他高级语言编写的用来控制VRML语言的接口。在VRML中可以用Script节点与Java或JavaScript来进行编程,从而可以创建生动的空间效果和良好的人机交互。
7) VRML立体空间坐标系
在VRML中三维坐标中,X轴水平指向右侧,Y轴垂直向上,Z轴指向用户。用户漫游时在虚拟场景中行走在X—Z面上。如图2.1所示。
Y
X
Z
图2.1 VRML坐标系
Fig. 2.1 VRML Coordinate System
2-2-4 VRML工作原理
VRML通过场景图数据结构来建立3D场景,这种数据结构是以SGI开发的Open Inventor 3D 工具包为基础的一种数据格式。VRML文件的解释、运行和显示通过浏览器实现,VRML如同HTML是一种ASCⅡ描述语言。
VRML的访问方式是基于C/S模式,服务器提供VRML文件以及视频声音等支持资源。客户通过网络下载准备访问的文件,通过本地平台安装的VRML浏览器交互式的访问虚拟场景。由于浏览器是本地平台提供的,从而实现了平台无关性[6]。
2-2-5 VRML编辑器和浏览器
VRML源文件是ASCⅡ格式,可以用计算机提供的NotePad来编写,保存为扩展名为.wrl 或.wrz的文件。由ParallelGraphics公司开发的VRML语言专用编辑器VrmlPad功能比较强大,有以下特性:
1) 智能自动标识
8
河北工业大学硕士学位论文
编辑VRML文件时能够根据上下文关系及其在场景图中的位置给出合适的VRML标识文本的列表以供选择。VRML标识文本包括:关键字、PROTO原型定义名称、节点名称、域的名称、域类型、SFNode节点和MFNode节点的子域、标准VRML脚本对象及其属性和方法的名称。
2) 动态错误检测
VrmlPad编辑器可以在用户编辑VRML时动态实时的检测语法是否正确、域值是否在适当范围内、节点是否重复定义以及域名或路由是否匹配。
3) 语法强调显示
支持对VRML语法包括关键词、域和节点的类型进行强调显示。
4) 场景树图可视化
节点代码能够根据场景图的结构展开或收起以方便编辑,可以在结构视图中选择要编辑的节点域。
5) 同时编辑多文件
在一个VrmlPad中可以同时对多个VRML文件进行复制、剪切、粘贴等操作,并可以方便查找替换文本。两个窗口能够浏览同一文件的不同部分。根据当前打开的文件很容易找到并编辑相关联的VRML文件。
6) 文件管理便利
利用Resource View Window资源查看窗浏览编辑文件。同时资源中某个文件重命名时,相关的文件链接会同时自动更新保持一致性。
7) 自动化操作与自定义脚本操作
VrmlPad允许开发者通过外部应用程序界面使用Java、C、C++、Visual Basic、Delphi等语言进行控制。另外高级用户可通过建立插件、VBScript、JavaScript宏命令在VrmlPad环境中执行自定义的任务[12]。VrmlPad工作界面如图2.2所示。
图2.2 VrmlPad工作界面
Fig. 2.2 VrmlPad Work Interface
9
基于VRML的三维虚拟场景与二维地图互响应研究
目前VRML浏览器种类很多,常见的有Microsoft VRML Viewer、Cosmo Player和Cortona VRML Client。
1) Microsoft VRML Viewer
Microsoft VRML Viewer是Windows98自带的,无需相应的HTML文件可以直接浏览VRML 文件创建的虚拟场景。计算机需要安装IE或Navigator,然后安装能够浏览VRML功能的外挂程序,即可浏览VRML文件。
2) Cosmo Player
Cosmo Player由SGI公司开发,支持IE3.0或Netscape2.0以上版本,浏览流畅不会产生跳动感觉。该浏览器中内置了Intel的RSX(Realistic Sound Experience)技术,立体声效果更加逼真,比Microsoft VRML Viewer更专业。
3) BS Contact VRML/X3D
德国Bitmanagement公司推出的BS Contact浏览器具有较好的器兼容性和很多实用的特色功能,如游戏控制、放入主体、能够很好支持3D显示。另外该公司专门针对三维立体显示开发的插件BS Contact Steer 7.0版本有多种立体显示模式。普遍认为该浏览器显示速度最快,因此高端开发用户最好选用BS Contact VRML/X3D浏览器。
4) Cortona VRML Client
Cortona VRML Client由ParallelGraphics公司研发,支持MPEG、流媒体,MIDI和WAV等多种音频、Flash动画。它提供了walk、fly和study三种漫游方式,便于用户自行浏览。Goto按钮可以选中特定的场景点进行放大近距离观看。Cortona VRML Client 4.0工作界面如图2.3。
图2.3 Cortona VRML Client 4.0工作界面
Fig. 2.3 Cortona VRML Client 4.0 Work Interface
10
河北工业大学硕士学位论文
§2-3 小结
本章阐述了虚拟现实技术的概念特点和四种分类模式;以BOX长方体节点为例介绍了VRML的节点,并对形成交互动画的事件、路由和触发器进行了介绍。VRML是一种ASCⅡ描述语言,在浏览器中解释、运行和显示,基于C/S模式进行访问,服务器提供VRML文件以及相关联的视频声音等资源。VrmlPad编辑器有动态错误检测、语法强调显示、多文档同时编辑、场景图树的可视化显示等特性。常见的VRML浏览器有Microsoft VRML Viewer、Cosmo Player、BS Contact 和Cortona VRML Client。
11
基于VRML的三维虚拟场景与二维地图互响应研究
12
第三章三维虚拟场景生成技术研究
§3-1 三维虚拟场景建模技术
在虚拟现实技术中,首先要解决场景建模技术。虚拟场景建构的精细度直接影响着用户的
沉浸感和真实感。场景过于简单用户感觉不真实,场景过于复杂会影响交互性和实时性。目前主要有基于几何模型的建模技术、基于图像绘制的建模技术和基于几何模型和图像混合建模技术三种建模技术。
3-1-1 基于几何模型的建模技术
几何模型是虚拟现实建模技术的基础。基于几何模型的建模技术(Graphic-Based Modeling and Rendering —GBMR)充分利用计算机图形学技术进行虚拟环境的建模和绘制,要求手工设定模型参数,用基本几何模型进行虚拟场景构造,然后进行纹理映射、光亮度计算以及渲染。
虚拟环境中的物体包含形状和外观两个方面,设计时首先对真实世界进行抽象,为场景中的所有物体建立立体模型和光照等特点描述,然后确定视点及观察方向,经过一系列处理形成虚拟场景。几何模型表面材质的纹理映射、光照的处理是图形渲染需要解决的主要问题。为了更具逼真性,要在物体的表面生成纹理,目前使用较多的是纹理映射方法。在建模时考虑光照到物体表面产生的反射等现象来解决现实中明暗不一的问题。
基于几何模型的建模技术的虚拟场景精细度高,便于视点控制和转换,从而可以全方位不同角度进行浏览,运用纹理映射技术和光照处理技术达到逼真的虚拟效果。其缺点是必须提前掌握建筑物各组成部分的位置以及大小,过程复杂工作量大,构造复杂场景时模型数据量很多,影响后续的实时绘制过程。
3-1-2 基于图像绘制的建模技术
基于图像绘制的建模技术(Image-Based Modeling Rendering—IBMR)通过预先采集到的图像集来构建数据模型,表现场景的形状和外观,然后根据用户浏览观察参数来确定图像数据的合成参数组合形成虚拟场景。在计算机图形中利用实景图像最典型的例子是纹理映射技术,从而可以获得传统绘制技术中难得的真实感和细节层次[15]。
通过对两种建模技术的介绍可以看出:与GBMR相比较,IBMR具有以下四方面优点:
1) 建模简单:IBMR无需为场景中的物体建立几何模型,只需要把现有的数据图像组织联系起来,不需要所有几何细节。用户只需要拍摄照片做一些交互操作,因此不必在建模上耗费大量的精力。
2) 绘制快速:不需要进行繁琐计算,绘制时间不受场景复杂度的限制。由于绘制速度快,可以在低档计算机上构建虚拟场景,无需高档专用的图形硬件。
3) 逼真性好:所有景物的形状、光照、材质和纹理都是来自拍摄的照片,不是通过模型计
河北工业大学硕士学位论文
算生成光照和纹理图像,因此虚拟场景具有更好的逼真效果。
4) 计算量小:基于几何的方法需要建立完整精确的表达,建模时要对整个场景进行计算和存储。IBMR技术只需要离散图像。
同时IBMR也有以下三方面的缺点:
1) 使用数码相机或摄像机图像采样的数量多少、采样模式和样本均匀性等会给建模带来难度影响精度。
2) IBMR是利用图片来进行建模的,所以数据量很大,如何合理有效压缩是一个急需研究解决的问题。
3) 图片系统组织时互相的遮盖或空缺会使场景出现重叠或空洞。
3-1-3 几何模型和图像混合建模技术
在构造一个既具备实时交互能力,并有环境逼真度的虚拟场景时,应该扬长避短,要尽量避免几何模型的大量计算,同时满足实时交互性的要求。混合建模技术的基本思想是先利用IBMR构造虚拟场景获得逼真的视觉效果,同时利用GBMR来进行实体构建,从而可以增强虚拟场景真实感和实时交互性,增强用户沉浸感。混合建模技术集结了IBMR和GBMR的优点,但在实施过程中存在很多技术问题,因此混合建模技术还处于研究探索阶段[11,15]。
§3-2 VRML虚拟小区构建过程研究
3-2-1 虚拟小区房子的设计
由于楼房造型比较复杂,因此运用3DSMAX进行建模导出为.wrl格式的文件,在VrmlPad 中编辑导入的.wrl文件。以fangzi2为例。
…
DEF fangzi2 Transform {
translation 4.353 -11.35 -54.55
rotation 1 0 0 -1.571
scale 4.131 4.131 4.131
children [
Shape {
appearance Appearance {
material Material {
diffuseColor 1 1 1
ambientIntensity 0.532
specularColor 0.49 0.49 0.49
shininess 0.62
13
基于VRML的三维虚拟场景与二维地图互响应研究
transparency 0
}
}
geometry DEF fangzi2 {
…
}
]
}
VRML中,创建一个比较复杂的场景时要使用多个坐标系,而且必须使用原始的坐标系。
在使用多个坐标系时,通过平移或旋转原始坐标系来获得新的坐标系。Transform是坐标变换节点并可以嵌套成员节点。将多个房子组织成虚拟小区场景中楼群的过程中需要用到Transform节点。translation 4.353 -11.35 -54.55是将fangzi2在原来VRML坐标系x,y,z轴方向上非别平移4.353个单位、-11.35个单位、-54.55个单位,成为新坐标系。rotation 1 0 0 -1.571,是以x轴为旋转轴将fangzi2在新坐标系中根据右手螺旋法则在负方向上旋转1.571弧度。Shape是外形节点封装几何造型。appearance域封装fangzi2的外观,其中Material材质域节点中diffuseColor 1 1 1设置fangzi2周围的漫反射光色,ambientIntensity 0.532用来对fangzi2进行镜面反射光色设定。specularColor 0.49 0.49 0.49、shininess 0.62、transparency 0分别设置材料镜面反射光色、材料表面的亮度和材料的透明度。geometry域封装fangzi2大小等参数。
fangzi2在Cortona VRML Client 4.0中运行的结果如图3.1所示。
图3.1 Cortona VRML Client 4.0工作界面
Fig. 3.1 Cortona VRML Client 4.0 Work Interface
3-2-2 在虚拟小区中添加光照效果
使用光源节点为虚拟小区场景添加光照效果,从而使虚拟场景明暗不一更具逼真性。在VRML中,把光源按照其发射光线的方向分为点光源、平行光源和聚光光源三种。但VRML中的光源不是一个真实存在的实体造型,而是根据所发出的的光线假想出来的空间中一个点或者14
河北工业大学硕士学位论文
一个面,所以在VRML中不能观察到光源的存在,只能观察到光源产生的效果。
点光源(PointLight)从空间中某一特定点向周围发射光线,其产生的光照效果是照亮周围空间中物体面对着光源方向的部分。点光源的特点是发射的光线在空间中任何方向上都有。
平行光源(DirectionLight)发出的光线互相平行且指向同一个方向,所以可以认为平行光源的形状是一个平面。平行光源的特点是方向性好,只朝一个方向传播。和点光源不同的是,平行光源不需要指定光源空间位置,只需指定发射方向。
聚光光源(SpotLight)发出的光线从空间中某一点出发,朝向某个确定的方向。它所有光线集中在空间的一个圆锥体上,光源的位置位于圆锥体的锥尖,因此也称为锥光源。
点光源开销小,虚拟小区场景中加入点光源。下面是在虚拟小区场景中使用点光源Light01。
DEF Light01 PointLight {
location 218.7 226.9 281.9
intensity 1
color 1 1 1
radius 966
on TRUE
}
location 218.7 226.9 281.9将点光源Light01设在VRML坐标系X值为218.7、Y值为226.9和Z值为281.9的位置。intensity 1将点光源Light01亮度设为最亮。color 1 1 1将光线颜色设为白光。radius 966将Light01照射范围半径设为966个VRML单位。光源的个数和位置决定着虚拟小区场景整体的明暗效果,同时也影响着场景加载的速度,因此为了达到比较理想的光照效果,又不影响场景的加载速度,通过在虚拟小区场景中逐步添加光源进行光照实验,在虚拟小区中加入四个点光源可达到比较理想的效果。
图3.2.1加入2个点光源图3.2.1加入3个点光源图3.2.1加入4个点光源图3.2 加入点光源
Fig.3.2 Add PointLight
15
基于VRML的三维虚拟场景与二维地图互响应研究
3-2-3 虚拟小区的初始视点
视点(Viewpoint)是浏览者在三维场景中处于某一个特定空间位置和朝向。浏览器通过计算视点和整个空间中造型的相对位置来呈现相应的景观[16]。
DEF vp1 Viewpoint {
position -48 -12.74 -10.73
orientation 0.03594 -0.998 0.05267 -4.337
fieldOfView 0.928
description "vp1"
}
浏览器以vp1的方位和角度所能观看道的范围对虚拟小区进行初始化。position -48 -12.74 -10.73视点位于(-48,-12.74,-10.73)。orientation 0.03594 -0.998 0.05267 -4.337设定了浏览者视线的朝向。fieldOfView 0.928指定了浏览者能够观看到的角度为0.928弧度. 通过vp1视点可以俯瞰虚拟小区场景如图3.3所示。
图3.3 场景俯视图
Fig. 3.3 Top View Scene
§3-3 VRML虚拟小区场景漫游
虚拟场景中漫游的实时交互性主要体现在:当用户视点发生改变时,虚拟现实系统能够快速呈现当前视点范围内的场景;当用户通过键盘鼠标等输入设备对场景中的景物进行操作时,场景能够做出相应的变化反馈给用户[17]。虚拟场景漫游方式按照实现方式可分为自动漫游、交互式漫游和目的漫游。在场景中浏览的过程是用户视点位置和朝向在虚拟场景中变化的过程。
视变换是指从虚拟场景三维坐标系到视坐标的变换,这种变换有两种方式:平行投影和透视投影。在平行投影中,物体坐标沿平行线变换到视平面;在透视投影中,物体坐标汇聚到视点位置的直线变换到视平面。透视投影是最常用的投影方式。例如将视点位置设在坐标系Z v轴16
河北工业大学硕士学位论文
Z pp ,投影平面设在Z vp 处与Z v 轴垂直。如图3.4所示。
17
图3.4 透视投影
Fig. 3.4 Perspective Projection
设(x 1,y 1,z 1)是投影线上的任意一点,可得投影直线方程:
u z z z
z y
y y x x x pp =??=??=??11100
(3.1)
由直线方程(3.1)可以推出、xu x x ?=1yu y y ?=1、u z z z z pp )(1??=。 当时,投影线穿过投影面的那一点处是vp z z =1z
z z z u pp vp ??=
,将带入上式得到投影变换可以得到:
u )(
(
z
z d x z
z z z x x pp p pp vp pp p ?=??=和(
(
z
z d y z
z z z y y pp p pp vp pp p ?=??=,其中即视平面到
视点的距离,得到透视投影变换齐次矩阵(3.2)。
vp pp p z z d ?=()1
000
01000010
1h h vp p
vp pp p h p
pp p x x y y z d z z d z z h d z d ??????
????????????
=???????
???????????
????
(3.2)
其中pp p
z z h d ?=
,此时p h x x h =,p h y y h =。
3-3-1 自动漫游
自动漫游实质是虚拟小区中的动画,对于导航路线的指定、运动控制和视点控制利用触发器和插值器实现。在论文系统实验中主要利用VRML 的viewpoint 节点直接控制视点的方向,同时借助TimeSensor 时间传感器和PositionInterpolator 插补器节点实现虚拟小区场景自动漫游。路径的选择可以由给定的坐标决定,也可以设计专门的数据文件用以存放路径位置的关键点坐标。
Z v
正在阅读:
坚持作文600字02-04
托福作文_模板_词汇_句型_新东方笔记05-18
员工奖罚制度12-12
学校食堂食品安全管理制度03-09
湘教版科学五年级上册实验教案03-04
社会实践报告,(4)08-22
商品质量验收标准05-18
北师大版四年级品社期末测试卷06-18
丰县教育局领导班子会议纪要01-28
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 二维
- 三维
- 响应
- 场景
- 基于
- 虚拟
- 地图
- 研究
- VRML
- 高中生物 专题3 植物的组织培养技术 课题1 菊花的组织
- 互联网+包装设计行业研究报告
- 市政道路排水管道报验资料表格全套08规范1_secret
- 车辆出入库电气控制系统设计
- 混凝土结构分部工程质量验收记录
- 房地产团购活动执行方案
- 民族团结进步创建活动自查报告精选版
- 2022年秋季北邮《Java技术》期末考试复习题
- 年产xx台低压电器项目可行性研究报告
- 三年级三位数加减法进退位专项练习题A打印版
- 冀教版三年级科学下册第二单元测试题及答案
- 在线订餐系统的ER图与逻辑图
- 部编版小学三年级上册语文第10课《在牛肚子里旅行》课文原文及教
- 支教老师个人工作总结
- 2022年庆国庆作文:国庆见闻500字
- 2015软装宣言29张摄影作品向世界告知艺术的力量
- 初中七年级语文上册期末专题复习名著导读练习训练及答案
- 计算机学生实习周记范文2篇
- 企业核心竞争力与企业关键人才课后测试
- 山西省祁县中学2022学年高二语文下学期第三次月考试题(无答案)