版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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/database manage sy
5、stem ,有的又称b/s)结构。在服务器端,储存有电子交通图的各类数据(如方位、距离、三维图形等)。而在客户端只需要通过ie浏览器与服务器端建立网络连接就可以查询到自己所需要立体的直观形象的数据。本系统根据中南林学院株洲校区的地理地形、地物,将整个校园通过三维建模工具(如3ds max)建立三维模型,再导成虚拟现实文件(*.wrl),并将文件各项数据归类输入数据库。在服务器端通过编写asp程序与数据库连接建立地点、路径查询系统。在客户端,通过浏览器将交通图线路查询请求发送至服务器,服务器端的asp程序通过调用数据库的数据动态生成虚拟现实场景,并将该场景发送至客户端浏览器上
6、。客户就可以通过鼠标控制场景的移动、漫游等等交互动作。同时通过在三维场景中点击等操作,可以获得所点击物体的相关信息。比如,点击行政楼,激发asp程序,得到行政楼内各个办公室的相关信息。实现从二维到三维和三维到二维的随意切换。作为中南林学院对外交流的一个窗口,三维电子交通图可以帮助浏览者更全面地了解学校的整体情况,特别是对那些从未到过中南林学院株洲校区的人们来说,身临其境的通过网络参观中南林学院株洲校区将会给他们留下深刻的印象。让我用自己的智慧描绘出交互式的3D中南林学院株洲校区校园,在即将毕业离校之际给抚育我四年的母校献一份厚礼。2 三维电子交通图开发技术2.1 开发工具功能特性简介 虚拟现实
7、概述 “虚拟现实”已经是人们经常听到、看到的一个词语。虚拟现实的英文全称为Virtual Reality(VR),它随着计算机图形学、仿真、人工智能、网络技术应运而生。 虚拟现实就是用高科技的手段构造出来的一种人工环境。它具有模仿人的视觉、听觉、触觉等感知功能的能力,具有使人亲身体验沉浸在这种虚拟环境中并与之相互作用的能力。虚拟现实的最终目的是建立和谐的人机环境。 关于虚拟现实技术,美国科学家伯第亚(G.Burdea)有一精辟的论述。他在1993年的世界电子学年会上所发表的虚拟现实系统及其应用一文中,提出虚拟现实的三角形”(图1),简明地表达了虚拟现实技术的基本特征。它们是用三个”I”表示,即
8、Immersion(沉浸)Interaction(交互)Imagination(构想)。根据虚拟现实技术的三角形,人与虚拟现实环境的关系可以这样来描述:人能沉浸在虚拟现实环境中,并与它发生交互作用,从定性与定量综合集成的环境中得到感性和理性的认识,从而激发人的创造性思维。这三个”I”体现了人的感受在整个系统中是最重要的,强调了人在虚拟现实系统中的主导作用。Immersion沉浸Interaction交互Imagination构想图1虚拟现实技术三角形 一个典型的虚拟现实环境是由人和虚拟现实系统两大部分组成的,而虚拟现实系统又由三部分构成。它们是基于先进传感器的人机接口,高性能的计算机系统和面向
9、虚拟现实的软件系统。这三部分构成一个使参与者处于一个具有身临其境的沉浸感具有完善的交互能力的信息环境。人机接口高性能计算机系统虚拟现实软件系统人 图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的虚拟物体的实现方法: 用VRML语言直接编写 这种方法是采用VRM
11、L脚本语言进行编程,利用VRML的节点技术(Node technology)来定义虚拟场景中的对象,包括三维模型、摄像机、纹理映射、材质、色彩,以及对象几何体的平移、旋转、缩放等。使用VRML中的路由编程,赋予场景的交互。 其文本方式的编辑器VRMLPAD是最好的VRML编程环境。 VRML创建的虚拟现实场景中的坐标系统 VRML文件显示的是三维空间的物体,生成的物体放置在一个符合右手螺旋法则的三维坐标系中,可以将这个坐标系看成是程序的总体的坐标系,国际标准规定:物体从+Z轴方向投影在一个+X轴向右、+Y轴向上的二维坐标系
12、统中,+Z轴朝外,人的眼睛即观察点的坐标为(0 0 10),人的眼睛朝原点看去,这是缺省时的观察位置及观察方向 一些VRML程序中的节点可以使多个物体组成一个节点组,节点组可以放置在空间的任意地方,也可以在程序中移动或旋转节点组的坐标,一个大节点组里可以有小节点组,小节点组里可以有小小节点组,每个节点组拥有一个坐标系,称为这个组的局部坐标系。 VRML的节点技术 VRML的造型功能很强,通过其节点的构造,就可以创建出一个复杂充满动感的世界,节点是构成VRML文件的基
13、本构件,用来描述造型的属性,节点包括域和描述其属性的域值。但是单一的节点只能描述造型、颜色、光照、纹理、视点等。这样的单一节点并不能满足创建场景的需要。节点根据其功能可以分为组节点和子节点。将不同的造型组织在一起的节点称为组节点。这样VRML构造整个场景可以通过各个子节点的组合和组节点的再组合构成。 VRML的路由技术 VRML的另一个重要的特点是其交互性。所谓交互,就是客户端执行某项操作,计算机可以响应其操作事件。在VRML文件中有许多节点中都有输入、输出接口,其实这些接口都是事件。在两个节点之间存在着路由,事件可以通过相应的路由从一
14、个节点传到另一个节点。还可以通过添加脚本对这些事件与路由进行编程,这样能产生更加鲜明的交互性,使所创建的场景更生动逼真。 VRML创建虚拟场景中的基本造型2.2.2 用工具软件生成 在三维建模工具中造型,然后导出VRML97格式的文件。如:3DMAX MAYA等软件。还有一些创建VRML场景的专用软件。如ISB、ISA、Cosmoworlds。使用这些专用的软件编程量比较小,很难控制导出的VRML文件的大小。在初期建模的工作中就是使用这些工具软件来开发的。ParallelGraphics 公司的VRML专业建模工具Internet Space Builder
15、 (ISB)是一个初学者极易上手的虚拟现实场景专用制作软件,完全可以创制出理想的虚拟场景。这是一个“只要你想像得到的,你都可以做得到的”软件。很方便地创建3D场景和纹理映射,并且可以在因特网上发布。只要通过标准的VRML2.0浏览器就可以观看ISB创建的场景。可视化VRML建模开发工具ISB工作界面如图:2.2.3 客户端浏览器插件目前VRML的浏览器软件种类很多,如BLUXXUN 、WorldView 、Live3D等等,现在介绍客户端插件使用Cortona VRML Client 4.0。 软件界面Cortona VRML Client提供了三种主要的浏览模式:WALK、FLY和STUDY
16、。你可以点击竖直工具栏上的按钮来选择不同的浏览模式。每个浏览模式都可能有一些选项:PLAN(水平移动),PAN(垂直移动),TURN(空间旋转),和ROLL(平面旋转)。浏览模式的结合以及它们的选项决定了使用者替身的运动和方向。使用者可以使用鼠标、键盘或者鼠标和键盘来进行浏览。使用鼠标在3D空间中移动:第一步,选择一种浏览模式。第二步,在主显示窗口中按住鼠标左键。第三步,按住鼠标左键不放,移动鼠标。鼠标的移动方向决定了使用者替身在虚拟空间里的移动方向。第四部,释放鼠标左键,停止运动。注意:移动鼠标的距离决定了使用者替身移动的速度。停止移动鼠标后,使用者替身会继续移动,直到使用者释放鼠标左键。按
17、住SHIFT、CTRL或者SHIFT+CTRL可以加快使用者替身的移动速度。2.3 网络开发环境基础 ASP动态网页语言简介Microsoft Active Server Pages 即我们所称的 ASP ,其实是一套微软开发的服务器端脚本环境, ASP 内含于 IIS 3.0 和 4.0 之中 , 通过 ASP 我们可以结合 HTML 网页、 ASP 指令和 ActiveX 元件建立动态、交互且高效的 WEB 服务器应用程序。有了 ASP 你就不必担心客户的浏览器是否能运行你所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通 HTML 中的脚本程序。当程序执行完毕后,服务器仅将
18、执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。 以下罗列了 Active Server Pages 所独具的一些特点: (1) 使用 VBScript 、 JScript 等简单易懂的脚本语言,结合 HTML 代码,即可快速地完成网站的应用程序。 (2)无须 compile 编译,容易编写,可在服务器端直接执行。 (3)使用普通的文本编辑器,如 Windows 的记事本,即可进行编辑设计。 (4)与浏览器无关 (Browser Independence), 用户端只要使用可执行 HTML 码的浏览器,即可浏览 Active Server Pages 所设计
19、的网页内容。 Active Server Pages 所使用的脚本语言 (VBScript 、 Jscript) 均在 WEB 服务器端执行,用户端的浏览器不需要能够执行这些脚本语言。 (5)Active Server Pages 能与任何 ActiveX scripting 语言相容。除了可使用 VBScript 或 JScript 语言来设计外,还通过 plug-in 的方式,使用由第三方所提供的其他脚本语言,譬如 REXX 、 Perl 、 Tcl 等。脚本引擎是处理脚本程序的 COM(Component Object Model) 物件。 (6)Active Server Pages
20、的源程序,不会被传到客户浏览器,因而可以避免所写的源程序被他人剽窃,也提高了程序的安全性。 (7) 可使用服务器端的脚本来产生客户端的脚本。 (8)物件导向( Object-oriented )。 (9)ActiveX Server Components(ActiveX 服务器元件 ) 具有无限可扩充性。可以使用 Visual Basic 、 Java 、 Visual C+ 、 COBOL 等编程语言来编写你所需要的 ActiveX Server Component 。 ASP 的奇妙之处真是不胜枚举,下面就请各位系好安全带,我将带领大家进入 ASP 的梦幻世界。 首先,让我们来看看运行 A
21、SP 所需的环境: 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 正如前文所述,与一般的程序不同, .asp 程序无须编译, ASP 程序的控制部份,是使用 VBScript 、 JScript 等脚本语言来设计的,当执行 ASP 程序时,脚本程序将一整套命令发送给脚本
22、解释器 ( 即脚本引擎 ) ,由脚本解释器进行翻译并将其转换成服务器所能执行的命令。当然,同其他编程语言一样, ASP 程序的编写也遵循一定的规则,如果你想使用你所喜爱的脚本语言编写 ASP 程序,那么你的服务器上必须要有能解释这种脚本语言的脚本解释器。当你安装 ASP 时,系统提供了两种脚本语言: VBsrcipt 和 JScript ,而 VBscript 则被作为系统默认的脚本语言。 ASP 本身并不是一种脚本语言,它只是提供了一种使镶嵌在 HTML 页面中的脚本程序得以运行的环境。但是,要学好 ASP 又必须掌握它的语法和规则。ASP 程序其实是以扩展名为 .asp 的纯文本形式存在于
23、 WEB 服务器上的,你可以用任何文本编辑器打开它, ASP 程序中可以包含纯文本、 HTML 标记以及脚本命令。你只需将 .asp 程序放在 WEB 服务器的虚拟目录下(该目录必须要有可执行权限),就可以通过 WWW 的方式访问 ASP 程序了。要学好 ASP 程序的设计,必须掌握脚本的编写,那么究竟什么是脚本呢?其实脚本是由一系列的脚本命令所组成的,如同一般的程序,脚本可以将一个值赋给一个变量,可以命令 WEB 服务器发送一个值到客户浏览器,还可以将一系列命令定义成一个过程。要编写脚本,你必须要熟悉至少一门脚本语言,如 VBScript 。脚本语言是一种介乎于 HTML 和诸如 JAVA
24、、 Visual Basic 、 C+ 等编程语言之间的一种特殊的语言,尽管它更接近后者,但它却不具有编程语言复杂、严谨的语法和规则。如前所述 ASP 所提供的脚本运行环境可支持多种脚本语言,譬如: JScript 、 REXX 、 PERL 等等,这无疑给 ASP 程序设计者提供了广泛的发挥余地。 ASP 的出现使得广大 WEB 设计者不必在为客户浏览器是否支持而担心,实际上就算你 在同一个 .asp 文件中使用不同的脚本语言,你都无须为此担忧,因为所有的一切都将在服务器端进行,客户浏览器得到的只是一个程序执行的结果,而你也只需在 .asp 中声明使用不同的脚本语言即可。 ASP与VRML结
25、合 使用ASP动态生成VRML文件 VRML文件的扩展名不一定是.wrl。浏览器识别VRML内容的方法不是通过.wrl这个扩展名。在ASP文件中我们只要在文件的开头生成一个合适的扩展MIME类型。就可以使用ASP文件动态调用数据库中的文件生成VRML文件。这样,通过一个包含VRML代码的ASP文件就可以生成多个VRML文件,减少了建模等基础工作的工作量,同时也增强了VRML文件的保密性。 VRML通过ASP程序调用数据库数据在ASP脚本文件中结合VRML技术,从而在虚拟现实环境下实现ASP动态网页的方法。如果充分利用ADO数据访问模型,就可以让网页访问者在模拟空间中随时访问数据库的内容。Web
26、语言VRML 用来描述一个目标对象是如何呈现在 Web 上的。 和HTML一样, VRML也是可由浏览器解释的描述语言, 只不过VRML 不是描述成一个Page 的格式, 而是描述成3D环境和目标的布局。 HTML和VRML的差别与建筑物的蓝本和它的模型的差别是同一个道理。在建立VRML模型时利用了Anchor工具,这样在用户选择相应建筑物时将链接到指定的ASP文件,并根据参数的不同由ASP文档负责实现数据库的查询和显示。因为设计思想很明确,根据实际经验,可以不设置Anchor工具,而是直接修改WRL文件,这一修改工作在任何一个编辑环境中都可以完成,需要注意的是由于VRML模型的参数较多,一定
27、要注意前后正确的匹配。3 三维电子交通图的开发与实现3.1 可行性分析 现有系统及资源分析 (1)学校现已有大型平面图(均有以JPG和DFX格式存储的电子文档) (2)学校网站已经允许校外用户访问,同时学校拥有自己的服务器 技术可行性分析除了采用VRML(Virtual Reality Modeling Language)即虚拟现实建模语言建立真实世界的场景模型或三维世界的场景建模语言,也具有平台无关性。三维电子交通图还采用了当今比较流的B/S/DBMS(Browser/Web/Server/Database Manage System ,有的又称B/S)结构,它是基于InternetIntr
28、anet的结构模型,即前台客户端采用浏览器,中间件服务器为Web服务器,后台为数据库服务器。此种结构由客户端在 Web页面发出请求至 Web Server,再由 Web Server向数据库服务器发出请求,而最后中间服务器接收到数据库服务器的应答后,最终返回给客户端的仍然是页面形式。这样实现了客户端不直接和数据库服务器发生关系,保证了数据的安全性。 操作可行性虚拟现实建模语言,是一种网络上使用的三维场景描述语言,其解释器利用ActiveX技术结合在我们所上网用的浏览器中,我们要观看VRML语言所编的虚拟场景,就必须安装VRML的PLUG-IN。主要的插件有ParallelGraphics公司的
29、Cortona VRML Client、blaxxun Client和Cosmo Player。对硬件的最低要求为486以上处理器,32MB以上内存。所以适用于普遍用户 开发工具的使用 开发的软件: VrmlPad v2.0 vrml语言编辑器 Photoshop 6.0 图像处理软件 Internet Space Builder 三维建模生成工具 Dreamweaver 6.0 ASP动态网站开发工具 开发的硬件: 联想商用机 开天4600(处理器-奔腾 内存-128MB 硬盘-40GB 显卡-TNT2 )索尼数码相机、尼康数码相机、联想扫描仪根据现有设备条件,已经达到了平台操作的基本要求
30、计划实施序号内容起止日期天数时间比例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准备答辩书,交指导老师核对5月31日-6月5日6天11%3.2 三维电子交通图需求分析 三维电子交通图要达到的第一个要求是比传统交通图多了一维,即三维。第二个要求是比传统交通图储存的信息数据量更大,三维电子交通图通过实时调用数据库中的信息达到这样的要求。中南林学院
31、株洲校区三维电子交通图采用虚拟现实建模语言VRML建立三维场景及其场景内的交互,储存在数据库中的路径信息,可以被动态的显示在场景中,而在用户浏览三维电子交通图时,可以随时调出电子交通图中建筑物等的相关信息。这种直观、信息量大的电子交通图,非二维传统交通图所能比拟的。我们可以根据自己的喜好,犹如坐在游览车中一样选择不同的交通路线游览,也可以无拘无束的在虚拟的交通图场景中畅游。在游览过程中可以通过点击场景中的建筑或其他实体,得到与之相关的信息。3.3 三维电子交通图总体设计 三维电子交通图系统结构及功能示意图浏览者虚拟现实文件WRL路线节点信息场景实体信息 三维电子交通图所涵盖区域 考虑到人力物力
32、所及,交通图所涵盖的区域定为株洲校区的教学区学生生活区。如图中所示: 道路及节点设置 参考GIS-T(交通地理信息系统,Geograghic Information Systems for Transportation)数据模型,同时结合虚拟现实建模语言VRML的编程特点,将校区内的道路进行合理划分,通过设定节点为实现路径查询提供了前提。划分结果如图: 场景中主要建筑物实体 (1)校门 (2)教学主楼 (3)林学楼 (4)森工楼 (5)建工楼 (6)第二教学楼(含阶梯教室) (7)体育馆 (8)图书馆 (9)操场 (10)学生宿舍(1-13栋) (11)学生食堂(新、旧食堂) ASP数据库结构
33、(1)路径信息表KeyColumn NameData TypeSizeAllow Nullyes记录号integer节点char500yes节点周围实体char500yes(2)场景实体信息表KeyColumn NameData TypeSizeAllow NullYes记录号Integer实体Char500yes实体属性Char500yes3.4 三维电子交通图的具体实现 场景及模型的建立场景制作流程:任务分析>创建环境>素材采集>构造模型>调入纹理>调入声音>碰撞检测>场景生成 任务分析 看清图纸,先对环境有整体的了解,明确各个部分的相对尺寸和位置
34、,然后根据“从整体到局部”的原则安排虚拟环境的构造过程,制定建模方案,同时明确人机交互的内容,为后期的交互编程打下基础。 创建环境ISB中使用了精细的坐标系统,可以实现精确定位,为了避免在虚拟场景中游览时出现实体比例不符的情况,必须将 ISB坐标中1个VRML单位对应用实际环境中的1米,如果在VRML环境中将成人男性的身高设定为1.7米,则在ISB中的Guides应设定为1.76Unit。具体设定如图: 素材采集制作虚拟现实场景模型的素材包括了实际物品的尺寸、外观图形照片等。除了尺寸外,实际物品的外观照片是建立模型的最大前提。照片素材不但可以帮助建模,还是模型表面纹理的重要来源。基于照片素材以
35、上的两个特性,在采集的时候就有了特殊的要求,实景照片拍摄要求是:1. 每个建筑物应该要求至少从三个不同角度拍摄的照片,要求单一照片内包括该建筑物顶点数亦多。2. 建筑物正面应该单独拍照。3. 有条件可以在楼房顶部拍摄其他建筑物。4. 建筑物间单独拍照。5. 道路或者向内延伸场景拍摄正面照片。6. 单个建筑物照片放置在同一文件夹内照片采集的工具最好是内置闪存大的数码相机,普通相机只会增加制作成本及人力成本。在这次设计中,我所采用的数码相机有尼康Coolpix 990,索尼DSC-P71及奥林巴斯数码相机,均达到了以上要求。 构造模型根据“从粗略到精细”的原则创建世界中的物体构造模型的工作是在IS
36、B中完成的,在 VRML空间中有很多几何造型,基本的几何造型有长方体、球体、圆锥体和圆柱体,如图所示,我们使用ISB将这些基本造型经拖放、拉伸、组合、镂空等操作,就可以够造出一个虚拟现实中的实体。VRML编辑器ISB中缺省的模型都是立方体。如果,对形体有特殊的要求,还可以在在形体编辑器中将缺省的立方体修改成需要的形状,模型的一切属性包括位置、尺寸、光照、运动、变形等都可以在ISB的集成环境中设置完成。在形状编辑器通过定义点和面来构造各种不同的形状:用户首先定义关键点,然后使用关键点构筑各种形状的平面片,形状编辑器中不支持曲面,一切曲面片都是通过平面逼近的,形状编辑器中可以设置片面的颜色,同时也
37、可以设定环境光和对比度。由于ISB中没有如同3DSMAX一样精确的尺寸定义,尺寸完全依靠鼠标拖动的精确度来保证。但是我们可以灵活的修改道具(Porperties)>Plan中的Gird和Guides来辅助我们构造尺寸更为精确的模型。 调入纹理冷峻的现实不容忽视,能使用的多边形数目有限。很多PC机所能处理的多边形不超过2 000个。如果使用的多边形数目达到上限,就很难保证可接受的交互帧频。为了吸引最广太的观众当设计规划VRML场景时要时刻考虑到这一点。如果可能,用尽量少的多边形建立起引人人胜的模型。实际上,能够用简单的模型表达出一个物体特征比用复杂的形体更高明。炉火纯青、宴寥数笔的太写惫比
38、精雕细刻的工笔重彩更为传神。简化模型和纹理往往能极大改善演示效果。贴图的使用,能极大地增加VRML作品的真实感,如一个飞机模型,简单的材质会使它像个塑料玩具,如果贴补上复杂的机械纹路,再加上锈迹斑斑的金属图案,那看起来就和真的一样。不过贴补图的制作要求你会使用一些平面处理软件,如Photoshop,Painter 等,当然贴图要尽可能简单,能以256色表达,千万不要动用真彩色图案,因为它会大大增加渲染时间。使用纹理方式代替多边形方式往往耗费较小而且有可能取得有趣和细微的效果。用纹理构成一个标志加到建筑物的正面,比渲染一个由几百个多面体构成的模型容易得多,而且看起来也较逼真。虽然大型纹理降低视觉
39、效果,但加一个小的纹理到一个平面多边形比画大量多边形方便得多。例如,一层铺砌的地面是一种增加视觉趣昧的很容易的方法。图象编辑器专门处理虚拟环境中所需的纹理,首先在图象编辑器中调入所要使用的纹理的图象文件,可以在此环境中进行必要的编辑,切换到世界编辑器中,打开纹理窗口,拖动纹理到所需要的面片上即可。声音是人们用来传递信息最方便、最熟悉的方式,而且携带的信息量大、精细、准确。由于ISB中没有声音节点的添加指令,所以我们必须转到VRMLpad中通过输入代码的方法来实现场景中各种背景音乐和音效。VRML中的声音节点主要有AudioClip节点和Sound节点,其中AudioClip小节点用于引人一个外
40、部的声音文件,并且规定这个声音文件在VRML空问中的播放参数;而Sound节点则是定义一个空间声源的诸如声源空间位置这样的参数,AudioClip节点通常是作为Sound节点的source域的域值出现。添加声音代码的实例:#VRML V2.0 utf8Group children Sound source AudioClip url "willtell.mid"loop TRUE maxFront 20minFront 10maxBack10minBack10 碰撞检测 碰撞检测是通过对“体”的检测来实现的。在VRML2.0中场景实体默认行为是实心的,浏览器会检查观察者和场
41、景中的几何体之间的碰撞,这意味着当用户试图穿过实体时将发生碰撞。在大多数情况下,这是必须的,但是在一些情况下,你需要穿过一些实体,比如水。这就需要一种方法来屏蔽碰撞检测。VRML2.0提供了Collision节点,一个群组节点,它可以控制一组子节点的Collision属性的开关,默认情况是开。这个节点的代码是: #VRML V2.0 utf8Transform Children Collision Collide FALSEChildren Shape 模型转换 ISB中支持AUTOCAD的DXF文件,对于复杂形体的生成,可以通过AUTOCAD来实现,在ISB中调入即可,调入方式为:File-
42、>open->在弹出的打开对话框中将文件类型变为AotuCAD DXF Files然后选择要打开的DXF文件即可。 ISB中的形体也可以输出成为DXF格式的文件。这样就给数据重用和减少工作量带来了便利。 场景生成如果想要创建一个诸如虚拟城市这样复杂的虚拟空间时用一个单独的VRML文件来完成是不现实,主要会有下面的一些问题:首先调试一个过于庞大复杂的VRML文件是极其困难的,一个很小的语法错误就将引起一系列不可预料的结果产生;如果整个虚拟城市都被放在一个VRML文件中供浏览者在网上浏览,将会使下载和浏览速度大大的降低,因为通常浏览器读入一个VRML文件后才开始显示其创建的场景或造型;
43、另外在实际开发过程中,把用不同的VRML文件生成方法所生成的VRML集中到一个文件中不但很麻烦,也是没有必要的。 使用Inline节点就可以解决上面所说的问题,首先将一个较大的VRML场景分为几个部分,分别用一个相应的VRML文件创建,然后用Inline节点将这些VRML文件集合到一个VRML文件中,就可以实现所要创建的虚拟世界。通常的做法是将总的VRML文件中只设置整个虚拟空间的背景和大气效果等特性,然后用Inline节点将各个空间造型引入到这个文件中来。在ISB中,我们可以将模型库(Object Galleries)的模型用鼠标拖到场景设计器中组合成一个场景,或者拖动到模型设计器中生成一个
44、新的模型。但是多个场景的组合,在ISB中是实现不了的,我们可以使用ISB的配套软件ISA(Internet Scene Assembler)来实现,或者通过在VRMLpad中编写代码来实现。在VRML 2.0中内联节点(Inline),它与其他面向对象编程语言中的Include非常相似。通过该节点,我们可以在一个VRML文件中从WWW网上的任意地方读取VRML造型文件,组合成一个新的VRML文件:#VRML V2.0 utf8inline url “other.wrl” #用来指定一个VRML文件的URL地址列表bboxCenter 0 0 0 #指定了引入的VRML文件所创建的空间造型的空间
45、位置bboxSize 1 1 1 #指定了这个Inline节点内联框架的大小 人机交互的实现 在场景中添加动态效果,使一个几何体能够根据用户动作做出反应,实现人机交互,可以使虚拟现实世界更具有真实感,这是VRML2.0 最突出的特征,也是与三维动画的最主要区别。在VRML中,检测器(Sensor)是交互能力的基础。检测器节点有九种。在场景中,检测器节点一般是以其他节点的子节点的身份而存在的,它的父节点称为可触发节点,触发条件和时机由检测器节点类型确定。最常见的变化是视点的变化,在虚拟现实世界中,当我们拖动鼠标或按动箭头键时(按照VRML术语,称为航行),虚拟世界就会旋转或者缩放,这实际上是在调
46、整我们的视点位置或视角。在虚拟场景的重要位置可以定义视点节点(Viewpoint),它们是VRML作者给用户推荐的上佳观赏方位,我们可以做到是用户通过触发开关节点来切换视点。当我们把触发(用鼠标箭头按动几何体)和视点切换这两件事情联系起来,就是VRML中的事件传递。在场景图中,除节点构成的层次体系外,还有一个“事件体系”,事件体系由相互通讯的节点组成。能够接收事件的节点都应具有事件入口(eventIn),发送事件的节点应有事件出口(eventOut),事件出口和事件入口通过路径(Route)相连,这就是VRML文件中除节点以外的另一基本组成部分:ROUTE语句。ROUTE语句把事件出口和事件入
47、口联系在一起,从而构成事件体系。 自动门 在三维电子交通图中,校门是自动开关的,当我们在场景中的化身向门靠近一定距离的时候,门就会自动打开,当离开有一定距离的时候,门又会自动关闭。在这个交互效果中,使用到了邻近检测器(ProximitySensor)。当化身进入和退出ProximitySensor检测区的时候,检测器发出isAction事件,把这个事件出口通过路由(route),让门接收感知器传递过来的入事件,达到自动门的目的。 ROUTE Left2close.value_changed TO Left2.translation ROUTE Left4close.value_changed
48、TO Left4.translation ROUTE Left3close.value_changed TO Left3.translation ROUTE Left6close.value_changed TO Left6.translation ROUTE Left5close.value_changed TO Left5.translation ROUTE area.exitTime TO opentime.stopTime ROUTE area.exitTime TO closetime.startTime ROUTE Left6open.value_changed TO Left6.
49、translation ROUTE Left5open.value_changed TO Left5.translation ROUTE Leftheadopen.value_changed TO Lefthead.translation ROUTE area.enterTime TO opentime.startTime ROUTE area.enterTime TO closetime.stopTime ROUTE closetime.fraction_changed TO Leftheadclose.set_fraction ROUTE closetime.fraction_change
50、d TO Left1close.set_fraction ROUTE closetime.fraction_changed TO Left2close.set_fraction ROUTE closetime.fraction_changed TO Left3close.set_fraction ROUTE closetime.fraction_changed TO Left4close.set_fraction ROUTE closetime.fraction_changed TO Left5close.set_fraction ROUTE closetime.fraction_change
51、d TO Left6close.set_fraction ROUTE Left1open.value_changed TO Left1.translation ROUTE Left2open.value_changed TO Left2.translation ROUTE Left3open.value_changed TO Left3.translation ROUTE Left4open.value_changed TO Left4.translation ROUTE Left1close.value_changed TO Left1.translation ROUTE Leftheadc
52、lose.value_changed TO Lefthead.translation ROUTE opentime.fraction_changed TO Leftheadopen.set_fraction ROUTE opentime.fraction_changed TO Left1open.set_fraction ROUTE opentime.fraction_changed TO Left2open.set_fraction ROUTE opentime.fraction_changed TO Left3open.set_fraction ROUTE opentime.fractio
53、n_changed TO Left4open.set_fraction ROUTE opentime.fraction_changed TO Left5open.set_fraction ROUTE opentime.fraction_changed TO Left6open.set_fraction 自动漫游自动漫游是三维电子交通图的关键技术,如果没有自动漫游技术,三维电子交通图充其量也就比平面图多了一维而已。由于有了自动漫游技术,三维电子交通图就有了质的飞跃!在三维电子交通图中,所有的自动游览路线均以校门口的一点为起始点。在这一点上设置有一个方形的几何体,当我们点击该几何体,我们就会沿着预
54、先设定好的路线在校园里游览了。在这项技术中,我们用到了PositionInterpolator节点。PositionInterpolator节点允许对三维空间的一个坐标点进行动画关键帧的插值操作。建立插值器时,为动画的不同完成比率设置相应的坐标值(最好包括开始值和结束值)。 其关键代码是:DEFview1 Viewpoint DEFtime1 TimeSensor cycleInterval 10 DEFposinpt1 PositionInterpolator key 0,1 keyValue 20 10 1,10 20 10 Group children DEF tchsensor Tou
55、chSensor Transform children Shape geometry Box translation 0 8 0 DEF controller Script directOutput TRUE field SFInt32 bindnum 0 field SFNode vview1 USE view1 url "javascript: function initialize() vview1.set_bind =true; function viewswitch(value) if(vview1.isBound) vview1.set_bind =true; else
56、vview1.set_bind =true; "ROUTE tchsensor.touchTime TO time1.startTimeROUTE time1.fraction_changed TOposinpt1.set_fractionROUTE posinpt1.value_changed TOview1.position在VRMLpad的Routing Map中,我们可以很清楚的了解到事件传递的方向,如图所示: 导航图技术在三维电子交通图中加入导航图技术,我们可以了解我们在三维场景中的位置,亦可以通过二维图快速到达场景中的某一位置,二维与三维的协作和互动,使得三维电子交通图使用起来更加灵活、方便。在导航图技术中,使用到了ProximitySensor 节点,这个节点能够在一定的区域里感知到观察者的接近,所以它也叫做接近传感器。当观察者进入感知区域时,检测器节点会使用出时间isActive来输出TRUE值,并使用出事件enterTime来输出当前的绝对时间。反之,则检测器会输出isAtive出事件输出FALSE,并且通过出事件exitTime输出当前的绝对时间。在VRML文件中,我们定义好接近检测器
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 车辆管理制度5
- 车辆出租合同十篇
- 电梯维修保养制度
- 附件2 长江三角洲区域地方标准申报项目信息表
- 2025《鸿门宴》中项羽优柔寡断性格形成的原因课件
- 光电技术考试试题及答案
- 脊椎按摩师考试题及答案
- 学校信访维稳与矛盾纠纷排查化解方案
- 2025年临床执业医师《内科》测试题
- 医疗机构民法典医疗损害责任培训试题及答案
- 美国伊朗军事课件
- 劳动课行李箱收纳课件
- 2025至2030年中国高端餐饮行业市场全景调研及投资规划建议报告
- 口腔颌面外科典型病例分析
- 公物仓管理办法
- 外墙风管施工方案(3篇)
- 中考英语1600词汇(背诵版)
- 大数据赋能企业财务分析的效率提升路径
- TD/T 1033-2012高标准基本农田建设标准
- 阳光房安装施工合同协议
- 浙商银行不良资产管理办法
评论
0/150
提交评论