虚拟校园VRML本科毕业设计.doc

上传人:laozhun 文档编号:4031274 上传时间:2023-04-01 格式:DOC 页数:33 大小:767.50KB
返回 下载 相关 举报
虚拟校园VRML本科毕业设计.doc_第1页
第1页 / 共33页
虚拟校园VRML本科毕业设计.doc_第2页
第2页 / 共33页
虚拟校园VRML本科毕业设计.doc_第3页
第3页 / 共33页
虚拟校园VRML本科毕业设计.doc_第4页
第4页 / 共33页
虚拟校园VRML本科毕业设计.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《虚拟校园VRML本科毕业设计.doc》由会员分享,可在线阅读,更多相关《虚拟校园VRML本科毕业设计.doc(33页珍藏版)》请在三一办公上搜索。

1、1 前言现时的交通图有纸制交通图、电子交通图(其中又分为单机、网络两种形式),其表现形式均为二维平面,作为交通管理的最佳手段的T-GIS技术,也一直都停留在二维平面的阶段,其他辅助手段如模型、动画等给人提供的信息也是有限的。而在现实中,我们给人指路时多用描述该地的环境或建筑特征的方式,让迷路者脑海里有个模糊的影像。二维交通图显然不能达到这种直观表现环境的要求。目前,智能交通系统(Intelligent Transportation Systems, ITS)的发展已经对信息处理及管理技术提出了更高的要求,作为缓解现代城市交通问题的有效技术手段,交通地理信息系统(Geographic Infor

2、mation Systems for Transportation,GIS-T)不但可以存储、管理和更新城市交通网络的空间数据库,辅助城市交通线路规划、交通管理,而且更重要的是,通过与GPS技术、无线通讯、互联网络、虚拟现实等高新技术的有机结合所构建的实时三维交通仿真系统,在GIS的数据操作及空间分析技术的辅助下,可以建立广泛的实时数字交通信息用户服务体系,实现全数字化交通信息的实时发布、存储与检索,为城市交通管理、车辆的人工及智能导航、客货运输调度及居民出行等提供有效的技术支持。世界的网络技术及应用正处于高速发展阶段,把三维技术应用到网络上已经成为时代的趋势。新一代的Web语言VRML (V

3、irtual Reality Modeling Language),是一个三维造型和渲染的图形描述语言。用VRML我们可以创造一个能进入、能参与的虚拟世界。VRML2.0的新标准被广泛地用于Internet上创建虚拟三维空间,利用VRML可以随意创建任何虚拟的物体。像建筑物、城市、山脉、飞船、星体等对象。当然,也可以在虚拟空间中添加声音、动画。使之更加生动,更接近真实,使网上虚拟空间与浏览者的交互更加接近生活。VRML解决了三维动画程序数据量大而难以在网上传输的问题。交通模拟仿真网络化也成为了可能。虚拟现实应用之一的智能交通仿真系统,要求所表达的信息量要大,同时要结合现代交通实时变换的特征。A

4、SP(Microsoft Active Server Pages)动态网页语言编写的动态网页程序可以方便、快捷的访问数据库,对数据库进行实时更新。VRML结合ASP,可以实现虚拟现实中对数据库数据的调用。本文所讨论的是三维电子交通图的实现,以中南林学院株洲校区为蓝本,模拟城市道路网,实现简单的地点与线路查询。中南林学院株洲校区三维电子交通图展现给人们的是包含中南林学院株洲校区教学区和学生生活区现有的主要建筑和绿化景观,能够实时查询、动态交互的立体电子交通地图网站。其采用了当今比较行得b/s/dbms(browser/web/server/databasemanagesystem,有的又称b/s

5、)结构。在服务器端,储存有电子交通图的各类数据(如方位、距离、三维图形等)。而在客户端只需要通过ie浏览器与服务器端建立网络连接就可以查询到自己所需要立体的直观形象的数据。本系统根据中南林学院株洲校区的地理地形、地物,将整个校园通过三维建模工具(如3dsmax)建立三维模型,再导成虚拟现实文件(*.wrl),并将文件各项数据归类输入数据库。在服务器端通过编写asp程序与数据库连接建立地点、路径查询系统。在客户端,通过浏览器将交通图线路查询请求发送至服务器,服务器端的asp程序通过调用数据库的数据动态生成虚拟现实场景,并将该场景发送至客户端浏览器上。客户就可以通过鼠标控制场景的移动、漫游等等交互

6、动作。同时通过在三维场景中点击等操作,可以获得所点击物体的相关信息。比如,点击行政楼,激发asp程序,得到行政楼内各个办公室的相关信息。实现从二维到三维和三维到二维的随意切换。作为中南林学院对外交流的一个窗口,三维电子交通图可以帮助浏览者更全面地了解学校的整体情况,特别是对那些从未到过中南林学院株洲校区的人们来说,身临其境的通过网络参观中南林学院株洲校区将会给他们留下深刻的印象。让我用自己的智慧描绘出交互式的3D中南林学院株洲校区校园,在即将毕业离校之际给抚育我四年的母校献一份厚礼。2 三维电子交通图开发技术2.1 开发工具功能特性简介2.1.1 虚拟现实概述 “虚拟现实”已经是人们经常听到、

7、看到的一个词语。虚拟现实的英文全称为Virtual Reality(VR),它随着计算机图形学、仿真、人工智能、网络技术应运而生。 虚拟现实就是用高科技的手段构造出来的一种人工环境。它具有模仿人的视觉、听觉、触觉等感知功能的能力,具有使人亲身体验沉浸在这种虚拟环境中并与之相互作用的能力。虚拟现实的最终目的是建立和谐的人机环境。 关于虚拟现实技术,美国科学家伯第亚(G.Burdea)有一精辟的论述。他在1993年的世界电子学年会上所发表的虚拟现实系统及其应用一文中,提出虚拟现实的三角形”(图1),简明地表达了虚拟现实技术的基本特征。它们是用三个”I”表示,即Immersion(沉浸)Intera

8、ction(交互)Imagination(构想)。根据虚拟现实技术的三角形,人与虚拟现实环境的关系可以这样来描述:人能沉浸在虚拟现实环境中,并与它发生交互作用,从定性与定量综合集成的环境中得到感性和理性的认识,从而激发人的创造性思维。这三个”I”体现了人的感受在整个系统中是最重要的,强调了人在虚拟现实系统中的主导作用。Immersion沉浸Interaction交互Imagination构想图1虚拟现实技术三角形 一个典型的虚拟现实环境是由人和虚拟现实系统两大部分组成的,而虚拟现实系统又由三部分构成。它们是基于先进传感器的人机接口,高性能的计算机系统和面向虚拟现实的软件系统。这三部分构成一个使

9、参与者处于一个具有身临其境的沉浸感具有完善的交互能力的信息环境。人机接口高性能计算机系统虚拟现实软件系统人 图2 虚拟现实系统构成2.1.2 基于WBE的虚拟现实建模语言(VRML)新一代的Web语言VRML (Virtual Reality Modeling Language),是一个三维造型和渲染的图形描述语言。用VRML我们可以创造一个能进入、能参与的虚拟世界。VRML2.0的新标准被广泛地用于Internet上创建虚拟三维空间,利用VRML可以随意创建任何虚拟的物体。像建筑物、城市、山脉、飞船、星体等对象。当然,也可以在虚拟空间中添加声音、动画。使之更加生动,更接近真实,使网上虚拟空间

10、与浏览者的交互更加接近生活。 其次,VRML具有平台无关的特点,即VRML的访问方式是基于B/S结构的,其中SERVER端提供VRML文件以及其文件所用到的资源,如声音、图像、动画等。客户端可以通过网络下载希望访问的文件,并可以通过本地平台上的VRML浏览器生成虚拟现实场景。VRML文件的数据量小,他和HTML一样是用ACSII文本格式来描述场景。这一特点是它保证在各种平台上通用的同时也降低了数据量的传输,从而在网络上可以很方便地实现虚拟现实。2.2 基于VRML的虚拟物体的实现方法:2.2.1 用VRML语言直接编写 这种方法是采用VRML脚本语言进行编程,利用VRML的节点技术(Node

11、technology)来定义虚拟场景中的对象,包括三维模型、摄像机、纹理映射、材质、色彩,以及对象几何体的平移、旋转、缩放等。使用VRML中的路由编程,赋予场景的交互。 其文本方式的编辑器VRMLPAD是最好的VRML编程环境。2.2.1.1 VRML创建的虚拟现实场景中的坐标系统 VRML文件显示的是三维空间的物体,生成的物体放置在一个符合右手螺旋法则的三维坐标系中,可以将这个坐标系看成是程序的总体的坐标系,国际标准规定:物体从+Z轴方向投影在一个+X轴向右、+Y轴向上的二维坐标系统中,+Z轴朝外,人的眼睛即观察点的坐标为(0 0 10),人的眼睛朝原点看去,这是缺省时的观察位置及观察方向

12、一些VRML程序中的节点可以使多个物体组成一个节点组,节点组可以放置在空间的任意地方,也可以在程序中移动或旋转节点组的坐标,一个大节点组里可以有小节点组,小节点组里可以有小小节点组,每个节点组拥有一个坐标系,称为这个组的局部坐标系。2.2.1.2 VRML的节点技术VRML的造型功能很强,通过其节点的构造,就可以创建出一个复杂充满动感的世界,节点是构成VRML文件的基本构件,用来描述造型的属性,节点包括域和描述其属性的域值。但是单一的节点只能描述造型、颜色、光照、纹理、视点等。这样的单一节点并不能满足创建场景的需要。节点根据其功能可以分为组节点和子节点。将不同的造型组织在一起的节点称为组节点。

13、这样VRML构造整个场景可以通过各个子节点的组合和组节点的再组合构成。2.2.1.3 VRML的路由技术VRML的另一个重要的特点是其交互性。所谓交互,就是客户端执行某项操作,计算机可以响应其操作事件。在VRML文件中有许多节点中都有输入、输出接口,其实这些接口都是事件。在两个节点之间存在着路由,事件可以通过相应的路由从一个节点传到另一个节点。还可以通过添加脚本对这些事件与路由进行编程,这样能产生更加鲜明的交互性,使所创建的场景更生动逼真。2.2.1.4 VRML创建虚拟场景中的基本造型 在虚拟现实中也和正常世界一样有圆形、方形、圆锥形、圆柱形。这些基本造型在VRML表示为Cone(圆锥形)、

14、Cylinder(圆柱形)、Box(方形)。 虽然VRML程序的主体是节点语句,当然它还有文件头,一些复杂的程序还有路由语句。我们可以用任何的文本编辑器编辑上面的程序,如利用Windows的记事本、写字板、和其他一些文本的编辑器都可以创建VRML文件。但要注意的是,VRML中是分大小写的,第一行的第一列必须是#,不能有空格。程序在存盘时,文件的扩展名必须为 “*.wrl”(world的缩写)。下面是一个简单的虚拟造型:#VRML V2.0 utf8 #定义说明为VRML2.0文件Shape #说明创建一个空间appearance Appearance #定义造型外观、颜色和表面纹理,其值在括号

15、中material Material #指定外观材料属性,如为NULL表示发光白色材料diffuseColor 0.8 0.8 0.8 #表示所采用的材料RGB颜色,其值由0.0至1.0三个浮点值表示emissiveColor 0.0 0.0 0.0 #表示RGB发光色,色彩由0.0至1.0之间三个浮点值表示shininess 0.2 #控制材料光泽,其值由0.0至1.0之间一个浮点值表示specularColor 0.0 0.0 0.0 #指定镜面反射光线的RGB颜色,其值由0.0至1.0三个浮点值表示transparency 0.0 #表示透明度,其值由0.0至1.0之间一个浮点值表示te

16、xture NULL #指定造型的纹理映像,这里没有指定,所以用NULL来表示缺省值TextureTransform NULL #如果使用了造型纹理,用此来表示纹理坐标,这里因没指定,故用缺省值geometry Cone #指定造型外观为圆锥形bottomRadius 1.0 #指定一个以y方向为轴,以原点为中心的锥体底部半径height 2.0 #指定圆锥形在y方向的高度side TRUE #指定是否要创建圆锥的锥面,如为TRUE,则创建,否则用FALSH表示bottom TRUE #指定是否要创建圆锥的底面,如为TRUE,则创建,否则用FALSH表示(注:符号#在VRML文件中为注释的意思

17、) 从上面的例子可以看出,在VRML中的语法是很好理解的,可以利用函数直接在虚拟场景中创建对象,并可以定义、修改我们所创建对象的属性。通过这样的方法,就可以在虚拟的世界中建立大量的符合要求的对象。当然,几何对象是最基础的,其他还包含了如灯光、摄像机、雾等对象。在安装了VRML浏览器的插件后,就可以直接在浏览器中观看经过解释执行的代码,输出如下图所示。 2.2.2 用工具软件生成 在三维建模工具中造型,然后导出VRML97格式的文件。如:3DMAX MAYA等软件。还有一些创建VRML场景的专用软件。如ISB、ISA、Cosmoworlds。使用这些专用的软件编程量比较小,很难控制导出的VRML

18、文件的大小。在初期建模的工作中就是使用这些工具软件来开发的。ParallelGraphics 公司的VRML专业建模工具Internet Space Builder (ISB)是一个初学者极易上手的虚拟现实场景专用制作软件,完全可以创制出理想的虚拟场景。这是一个“只要你想像得到的,你都可以做得到的”软件。很方便地创建3D场景和纹理映射,并且可以在因特网上发布。只要通过标准的VRML2.0浏览器就可以观看ISB创建的场景。可视化VRML建模开发工具ISB工作界面如图:2.2.3 客户端浏览器插件目前VRML的浏览器软件种类很多,如BLUXXUN 、WorldView 、Live3D等等,现在介绍

19、客户端插件使用Cortona VRML Client 4.0。 软件界面Cortona VRML Client提供了三种主要的浏览模式:WALK、FLY和STUDY。你可以点击竖直工具栏上的按钮来选择不同的浏览模式。每个浏览模式都可能有一些选项:PLAN(水平移动),PAN(垂直移动),TURN(空间旋转),和ROLL(平面旋转)。浏览模式的结合以及它们的选项决定了使用者替身的运动和方向。使用者可以使用鼠标、键盘或者鼠标和键盘来进行浏览。使用鼠标在3D空间中移动:第一步,选择一种浏览模式。第二步,在主显示窗口中按住鼠标左键。第三步,按住鼠标左键不放,移动鼠标。鼠标的移动方向决定了使用者替身在虚

20、拟空间里的移动方向。第四部,释放鼠标左键,停止运动。注意:移动鼠标的距离决定了使用者替身移动的速度。停止移动鼠标后,使用者替身会继续移动,直到使用者释放鼠标左键。按住SHIFT、CTRL或者SHIFT+CTRL可以加快使用者替身的移动速度。2.3 网络开发环境基础2.3.1 ASP动态网页语言简介Microsoft Active Server Pages 即我们所称的 ASP ,其实是一套微软开发的服务器端脚本环境, ASP 内含于 IIS 3.0 和 4.0 之中 , 通过 ASP 我们可以结合 HTML 网页、 ASP 指令和 ActiveX 元件建立动态、交互且高效的 WEB 服务器应用

21、程序。有了 ASP 你就不必担心客户的浏览器是否能运行你所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通 HTML 中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。 以下罗列了 Active Server Pages 所独具的一些特点: (1) 使用 VBScript 、 JScript 等简单易懂的脚本语言,结合 HTML 代码,即可快速地完成网站的应用程序。 (2)无须 compile 编译,容易编写,可在服务器端直接执行。 (3)使用普通的文本编辑器,如 Windows 的记事本,即可进行编辑设

22、计。 (4)与浏览器无关 (Browser Independence), 用户端只要使用可执行 HTML 码的浏览器,即可浏览 Active Server Pages 所设计的网页内容。 Active Server Pages 所使用的脚本语言 (VBScript 、 Jscript) 均在 WEB 服务器端执行,用户端的浏览器不需要能够执行这些脚本语言。 (5)Active Server Pages 能与任何 ActiveX scripting 语言相容。除了可使用 VBScript 或 JScript 语言来设计外,还通过 plug-in 的方式,使用由第三方所提供的其他脚本语言,譬如 R

23、EXX 、 Perl 、 Tcl 等。脚本引擎是处理脚本程序的 COM(Component Object Model) 物件。 (6)Active Server Pages 的源程序,不会被传到客户浏览器,因而可以避免所写的源程序被他人剽窃,也提高了程序的安全性。 (7) 可使用服务器端的脚本来产生客户端的脚本。 (8)物件导向( Object-oriented )。 (9)ActiveX Server Components(ActiveX 服务器元件 ) 具有无限可扩充性。可以使用 Visual Basic 、 Java 、 Visual C+ 、 COBOL 等编程语言来编写你所需要的 A

24、ctiveX Server Component 。 ASP 的奇妙之处真是不胜枚举,下面就请各位系好安全带,我将带领大家进入 ASP 的梦幻世界。 首先,让我们来看看运行 ASP 所需的环境: Microsoft Internet Information Server version 3.0/4.0 on Windows NT Server Microsoft Peer Web Services Version 3.0 on Windows NT Workstation Microsoft Personal Web Server on Windows 95/98 正如前文所述,与一般的程序不同

25、, .asp 程序无须编译, ASP 程序的控制部份,是使用 VBScript 、 JScript 等脚本语言来设计的,当执行 ASP 程序时,脚本程序将一整套命令发送给脚本解释器 ( 即脚本引擎 ) ,由脚本解释器进行翻译并将其转换成服务器所能执行的命令。当然,同其他编程语言一样, ASP 程序的编写也遵循一定的规则,如果你想使用你所喜爱的脚本语言编写 ASP 程序,那么你的服务器上必须要有能解释这种脚本语言的脚本解释器。当你安装 ASP 时,系统提供了两种脚本语言: VBsrcipt 和 JScript ,而 VBscript 则被作为系统默认的脚本语言。 ASP 本身并不是一种脚本语言,

26、它只是提供了一种使镶嵌在 HTML 页面中的脚本程序得以运行的环境。但是,要学好 ASP 又必须掌握它的语法和规则。ASP 程序其实是以扩展名为 .asp 的纯文本形式存在于 WEB 服务器上的,你可以用任何文本编辑器打开它, ASP 程序中可以包含纯文本、 HTML 标记以及脚本命令。你只需将 .asp 程序放在 WEB 服务器的虚拟目录下(该目录必须要有可执行权限),就可以通过 WWW 的方式访问 ASP 程序了。要学好 ASP 程序的设计,必须掌握脚本的编写,那么究竟什么是脚本呢?其实脚本是由一系列的脚本命令所组成的,如同一般的程序,脚本可以将一个值赋给一个变量,可以命令 WEB 服务器

27、发送一个值到客户浏览器,还可以将一系列命令定义成一个过程。要编写脚本,你必须要熟悉至少一门脚本语言,如 VBScript 。脚本语言是一种介乎于 HTML 和诸如 JAVA 、 Visual Basic 、 C+ 等编程语言之间的一种特殊的语言,尽管它更接近后者,但它却不具有编程语言复杂、严谨的语法和规则。如前所述 ASP 所提供的脚本运行环境可支持多种脚本语言,譬如: JScript 、 REXX 、 PERL 等等,这无疑给 ASP 程序设计者提供了广泛的发挥余地。 ASP 的出现使得广大 WEB 设计者不必在为客户浏览器是否支持而担心,实际上就算你 在同一个 .asp 文件中使用不同的脚

28、本语言,你都无须为此担忧,因为所有的一切都将在服务器端进行,客户浏览器得到的只是一个程序执行的结果,而你也只需在 .asp 中声明使用不同的脚本语言即可。2.3.2 ASP与VRML结合2.3.2.1 使用ASP动态生成VRML文件 VRML文件的扩展名不一定是.wrl。浏览器识别VRML内容的方法不是通过.wrl这个扩展名。在ASP文件中我们只要在文件的开头生成一个合适的扩展MIME类型。就可以使用ASP文件动态调用数据库中的文件生成VRML文件。这样,通过一个包含VRML代码的ASP文件就可以生成多个VRML文件,减少了建模等基础工作的工作量,同时也增强了VRML文件的保密性。2.3.2.

29、1 VRML通过ASP程序调用数据库数据在ASP脚本文件中结合VRML技术,从而在虚拟现实环境下实现ASP动态网页的方法。如果充分利用ADO数据访问模型,就可以让网页访问者在模拟空间中随时访问数据库的内容。Web语言VRML 用来描述一个目标对象是如何呈现在 Web 上的。 和HTML一样, VRML也是可由浏览器解释的描述语言, 只不过VRML 不是描述成一个Page 的格式, 而是描述成3D环境和目标的布局。 HTML和VRML的差别与建筑物的蓝本和它的模型的差别是同一个道理。在建立VRML模型时利用了Anchor工具,这样在用户选择相应建筑物时将链接到指定的ASP文件,并根据参数的不同由

30、ASP文档负责实现数据库的查询和显示。因为设计思想很明确,根据实际经验,可以不设置Anchor工具,而是直接修改WRL文件,这一修改工作在任何一个编辑环境中都可以完成,需要注意的是由于VRML模型的参数较多,一定要注意前后正确的匹配。3 三维电子交通图的开发与实现3.1 可行性分析3.1.1 现有系统及资源分析 (1)学校现已有大型平面图(均有以JPG和DFX格式存储的电子文档) (2)学校网站已经允许校外用户访问,同时学校拥有自己的服务器3.1.2 技术可行性分析除了采用VRML(Virtual Reality Modeling Language)即虚拟现实建模语言建立真实世界的场景模型或三

31、维世界的场景建模语言,也具有平台无关性。三维电子交通图还采用了当今比较流的B/S/DBMS(Browser/Web/Server/Database Manage System ,有的又称B/S)结构,它是基于InternetIntranet的结构模型,即前台客户端采用浏览器,中间件服务器为Web服务器,后台为数据库服务器。此种结构由客户端在 Web页面发出请求至 Web Server,再由 Web Server向数据库服务器发出请求,而最后中间服务器接收到数据库服务器的应答后,最终返回给客户端的仍然是页面形式。这样实现了客户端不直接和数据库服务器发生关系,保证了数据的安全性。3.1.3 操作可

32、行性虚拟现实建模语言,是一种网络上使用的三维场景描述语言,其解释器利用ActiveX技术结合在我们所上网用的浏览器中,我们要观看VRML语言所编的虚拟场景,就必须安装VRML的PLUG-IN。主要的插件有ParallelGraphics公司的Cortona VRML Client、blaxxun Client和Cosmo Player。对硬件的最低要求为486以上处理器,32MB以上内存。所以适用于普遍用户3.1.4 开发工具的使用 开发的软件: VrmlPad v2.0 vrml语言编辑器 Photoshop 6.0 图像处理软件 Internet Space Builder 三维建模生成工

33、具 Dreamweaver 6.0 ASP动态网站开发工具 开发的硬件: 联想商用机 开天4600(处理器-奔腾 内存-128MB 硬盘-40GB 显卡-TNT2 )索尼数码相机、尼康数码相机、联想扫描仪根据现有设备条件,已经达到了平台操作的基本要求3.1.4 计划实施序号内容起止日期天数时间比例1搜集资料,制定方案计划4月15日-4月19日5天9%2构建校园的主要场景模型4月20日-5月10日22天42%3实现虚拟校园道路规划设置5月11日-5月17日7天13%4实现线路自动游览5月18日-5月21日4天8%5网站制作5月22日-5月25日4天8%6书写论文5月26日-5月30日5天9%7准

34、备答辩书,交指导老师核对5月31日-6月5日6天11%3.2 三维电子交通图需求分析 三维电子交通图要达到的第一个要求是比传统交通图多了一维,即三维。第二个要求是比传统交通图储存的信息数据量更大,三维电子交通图通过实时调用数据库中的信息达到这样的要求。中南林学院株洲校区三维电子交通图采用虚拟现实建模语言VRML建立三维场景及其场景内的交互,储存在数据库中的路径信息,可以被动态的显示在场景中,而在用户浏览三维电子交通图时,可以随时调出电子交通图中建筑物等的相关信息。这种直观、信息量大的电子交通图,非二维传统交通图所能比拟的。我们可以根据自己的喜好,犹如坐在游览车中一样选择不同的交通路线游览,也可

35、以无拘无束的在虚拟的交通图场景中畅游。在游览过程中可以通过点击场景中的建筑或其他实体,得到与之相关的信息。3.3 三维电子交通图总体设计3.3.1 三维电子交通图系统结构及功能示意图浏览者虚拟现实文件WRL路线节点信息场景实体信息3.3.2 三维电子交通图所涵盖区域 考虑到人力物力所及,交通图所涵盖的区域定为株洲校区的教学区学生生活区。如图中所示:3.3.3 道路及节点设置 参考GIS-T(交通地理信息系统,Geograghic Information Systems for Transportation)数据模型,同时结合虚拟现实建模语言VRML的编程特点,将校区内的道路进行合理划分,通过设

36、定节点为实现路径查询提供了前提。划分结果如图: 3.3.3 场景中主要建筑物实体 (1)校门 (2)教学主楼 (3)林学楼 (4)森工楼 (5)建工楼 (6)第二教学楼(含阶梯教室) (7)体育馆 (8)图书馆 (9)操场 (10)学生宿舍(1-13栋) (11)学生食堂(新、旧食堂)3.3.4 ASP数据库结构(1)路径信息表KeyColumn NameData TypeSizeAllow Nullyes记录号integer节点char500yes节点周围实体char500yes(2)场景实体信息表KeyColumn NameData TypeSizeAllow NullYes记录号Inte

37、ger实体Char500yes实体属性Char500yes3.4 三维电子交通图的具体实现3.4.1 场景及模型的建立场景制作流程:任务分析创建环境素材采集构造模型调入纹理调入声音碰撞检测场景生成3.4.1.1 任务分析 看清图纸,先对环境有整体的了解,明确各个部分的相对尺寸和位置,然后根据“从整体到局部”的原则安排虚拟环境的构造过程,制定建模方案,同时明确人机交互的内容,为后期的交互编程打下基础。3.4.1.2 创建环境ISB中使用了精细的坐标系统,可以实现精确定位,为了避免在虚拟场景中游览时出现实体比例不符的情况,必须将 ISB坐标中1个VRML单位对应用实际环境中的1米,如果在VRML环

38、境中将成人男性的身高设定为1.7米,则在ISB中的Guides应设定为1.76Unit。具体设定如图:3.4.1.3 素材采集制作虚拟现实场景模型的素材包括了实际物品的尺寸、外观图形照片等。除了尺寸外,实际物品的外观照片是建立模型的最大前提。照片素材不但可以帮助建模,还是模型表面纹理的重要来源。基于照片素材以上的两个特性,在采集的时候就有了特殊的要求,实景照片拍摄要求是:1. 每个建筑物应该要求至少从三个不同角度拍摄的照片,要求单一照片内包括该建筑物顶点数亦多。2. 建筑物正面应该单独拍照。3. 有条件可以在楼房顶部拍摄其他建筑物。4. 建筑物间单独拍照。5. 道路或者向内延伸场景拍摄正面照片

39、。6. 单个建筑物照片放置在同一文件夹内照片采集的工具最好是内置闪存大的数码相机,普通相机只会增加制作成本及人力成本。在这次设计中,我所采用的数码相机有尼康Coolpix 990,索尼DSC-P71及奥林巴斯数码相机,均达到了以上要求。3.4.1.4 构造模型根据“从粗略到精细”的原则创建世界中的物体构造模型的工作是在ISB中完成的,在 VRML空间中有很多几何造型,基本的几何造型有长方体、球体、圆锥体和圆柱体,如图所示,我们使用ISB将这些基本造型经拖放、拉伸、组合、镂空等操作,就可以够造出一个虚拟现实中的实体。VRML编辑器ISB中缺省的模型都是立方体。如果,对形体有特殊的要求,还可以在在

40、形体编辑器中将缺省的立方体修改成需要的形状,模型的一切属性包括位置、尺寸、光照、运动、变形等都可以在ISB的集成环境中设置完成。在形状编辑器通过定义点和面来构造各种不同的形状:用户首先定义关键点,然后使用关键点构筑各种形状的平面片,形状编辑器中不支持曲面,一切曲面片都是通过平面逼近的,形状编辑器中可以设置片面的颜色,同时也可以设定环境光和对比度。由于ISB中没有如同3DSMAX一样精确的尺寸定义,尺寸完全依靠鼠标拖动的精确度来保证。但是我们可以灵活的修改道具(Porperties)Plan中的Gird和Guides来辅助我们构造尺寸更为精确的模型。3.4.1.5 调入纹理冷峻的现实不容忽视,能

41、使用的多边形数目有限。很多PC机所能处理的多边形不超过2 000个。如果使用的多边形数目达到上限,就很难保证可接受的交互帧频。为了吸引最广太的观众当设计规划VRML场景时要时刻考虑到这一点。如果可能,用尽量少的多边形建立起引人人胜的模型。实际上,能够用简单的模型表达出一个物体特征比用复杂的形体更高明。炉火纯青、宴寥数笔的太写惫比精雕细刻的工笔重彩更为传神。简化模型和纹理往往能极大改善演示效果。贴图的使用,能极大地增加VRML作品的真实感,如一个飞机模型,简单的材质会使它像个塑料玩具,如果贴补上复杂的机械纹路,再加上锈迹斑斑的金属图案,那看起来就和真的一样。不过贴补图的制作要求你会使用一些平面处

42、理软件,如Photoshop,Painter 等,当然贴图要尽可能简单,能以256色表达,千万不要动用真彩色图案,因为它会大大增加渲染时间。使用纹理方式代替多边形方式往往耗费较小而且有可能取得有趣和细微的效果。用纹理构成一个标志加到建筑物的正面,比渲染一个由几百个多面体构成的模型容易得多,而且看起来也较逼真。虽然大型纹理降低视觉效果,但加一个小的纹理到一个平面多边形比画大量多边形方便得多。例如,一层铺砌的地面是一种增加视觉趣昧的很容易的方法。图象编辑器专门处理虚拟环境中所需的纹理,首先在图象编辑器中调入所要使用的纹理的图象文件,可以在此环境中进行必要的编辑,切换到世界编辑器中,打开纹理窗口,拖

43、动纹理到所需要的面片上即可。3.4.1.6.调入声音声音是人们用来传递信息最方便、最熟悉的方式,而且携带的信息量大、精细、准确。由于ISB中没有声音节点的添加指令,所以我们必须转到VRMLpad中通过输入代码的方法来实现场景中各种背景音乐和音效。VRML中的声音节点主要有AudioClip节点和Sound节点,其中AudioClip小节点用于引人一个外部的声音文件,并且规定这个声音文件在VRML空问中的播放参数;而Sound节点则是定义一个空间声源的诸如声源空间位置这样的参数,AudioClip节点通常是作为Sound节点的source域的域值出现。添加声音代码的实例:#VRML V2.0 u

44、tf8Group children Sound source AudioClip url willtell.midloop TRUE maxFront 20minFront 10maxBack10minBack103.4.1.7 碰撞检测 碰撞检测是通过对“体”的检测来实现的。在VRML2.0中场景实体默认行为是实心的,浏览器会检查观察者和场景中的几何体之间的碰撞,这意味着当用户试图穿过实体时将发生碰撞。在大多数情况下,这是必须的,但是在一些情况下,你需要穿过一些实体,比如水。这就需要一种方法来屏蔽碰撞检测。VRML2.0提供了Collision节点,一个群组节点,它可以控制一组子节点的Col

45、lision属性的开关,默认情况是开。这个节点的代码是: #VRML V2.0 utf8Transform Children Collision Collide FALSEChildren Shape 3.4.1.8 模型转换 ISB中支持AUTOCAD的DXF文件,对于复杂形体的生成,可以通过AUTOCAD来实现,在ISB中调入即可,调入方式为:File-open-在弹出的打开对话框中将文件类型变为AotuCAD DXF Files然后选择要打开的DXF文件即可。 ISB中的形体也可以输出成为DXF格式的文件。这样就给数据重用和减少工作量带来了便利。3.4.1.9 场景生成如果想要创建一个诸

46、如虚拟城市这样复杂的虚拟空间时用一个单独的VRML文件来完成是不现实,主要会有下面的一些问题:首先调试一个过于庞大复杂的VRML文件是极其困难的,一个很小的语法错误就将引起一系列不可预料的结果产生;如果整个虚拟城市都被放在一个VRML文件中供浏览者在网上浏览,将会使下载和浏览速度大大的降低,因为通常浏览器读入一个VRML文件后才开始显示其创建的场景或造型;另外在实际开发过程中,把用不同的VRML文件生成方法所生成的VRML集中到一个文件中不但很麻烦,也是没有必要的。 使用Inline节点就可以解决上面所说的问题,首先将一个较大的VRML场景分为几个部分,分别用一个相应的VRML文件创建,然后用Inline节点将这些VRML文件集合到一个VRML文件中,就可以实现所要创建的虚拟世界。通常的做法是将总的VRML文件中只设置整个虚拟空间的背景和大气效果等特性,然后用Inline节点将各个空间造型引入到这个文件中来。在ISB中,我们可以将模型库(Object Galleries)的模型用鼠标拖到场景设计器中组合成一个场景,或者拖动到模型设计器中生成一个新的模型。但是多个场景的组合,在ISB中是实现不了的,我们可以使用ISB的配套软件ISA(Internet Scene Assembler)来实现,或者通

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号