三维校园电子地图
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三维校园电子地图(上)
访问734次
作者:李纳璺陈金龙阮方舟
1引言
随着计算机技术,特别是计算机图形学、三维仿真技术以及虚拟现实技术的飞速发展,传统的
二维电子地图被注入了新的活力,三维电子地图正成为电子地图发展的一个重要方向。传统的二维
电子地图只能以图形和符号的方式来呈现一张地图,这种方式往往不能直观清晰的表示出地图所在
位置的地理环境;采用三维电子地图的方式,建立场景的仿真模型,把现实场景进行虚拟再现,真实、互动、情节化的特点是虚拟现实技术独特的魅力所在。
如何设计一个仿真度高,并且具备虚拟漫游和智能导航的三维地图引擎,成为三维电子地图研究领域的一个热点问题。本文研究的设计的三维电子地图引擎系统,设计了模型动态加载接口,并具备智能导航和虚拟漫游引擎,实现了三维校园仿真电子地图。它为校园规划建设、游客观光导航、学校对外宣传等方面提供了一个智能化的平台,为广大系统用户提供了极大的便利。开展虚拟校园三维地图仿真引擎系统及相关课题的研究适应了信息社会发展的趋势,具有重要的理论和现实意义。
本文对从DirectX技术着手,采用Microsoft Visual C#编程语言结合三维图形开发包(Managed DirectX SDK August 2007)在.net框架中构建的三维校园电子地图程序。该程序实现了桂林电子科技大学的(东区)的三维校园电子地图的功能。除此之外,在可视化的基础上实现了一些虚拟现实的交互操作和空间分析,如:校园景物的查看、校园路径导航、三维动态漫游校园等;给需要了解桂林电子科技大学校园地理信息的用户提供了极大方便。
2 本课题研究的内容
本课题是一个使用Managed DirectX的三维图形技术实现的一个三维校园电子地图程序,该程序是在.net框架下建立完成,开发语言为当今最流行的高级语言Microsoft Visual C#。它是以桂林电子科技大学东校区为实景,进行了校园虚拟仿真,建立了具备观光浏览与智能导航为一体的多媒体三维校园电子地图程序。
本课题主要是研究了三维建模技术在程序中的导入技术、三维模型的优化、虚拟现实技术、Floyd 算法实现的智能导航技术、Alpha混合与Alpha测试技术、三维场景中的光照技术、XML技术、用户交互控件技术等等。这些技术将全部应用到三维校园电子地图程序当中,最终展示出集视觉、听觉、用户智能交互于一体的校园仿真三维地图。
3 开发环境与相关技术简介
3.1 Managed DirectX与托管代码版DirectX 9.0语言支持
(1) Managed DirectX
DirectX 是一系列低级的应用程序接口(APIs),它用于创建游戏和其他高执行效率的多媒体程序。它包括对高效的2D和3D图形、音效和音乐、输入设备、力反馈设备、多媒体流和多人游戏的网络通信程序。三维校园电子地图程序的三维环境漫游引擎的构建就是使用Managed DirectX 9.0的图形
处理技术来完成的。
(2) 托管代码版DirectX 9.0语言支持
在DirectX 9.0下,开发者在使用托管代码的时候,能够利用DirectX的多媒体功能和硬件加速。托管代码版DirectX 9.0允许访问大多数原始的非托管DirectX功能。下面是被DirectX 9.0和DirectX 9.0 SDK支持的托管代码语言:
Microsoft Visual C#
Microsoft Visual Basic .NET
Microsoft Visual C++
Microsoft JScript .NET
在三维校园电子地图程序中,采用的是Microsoft Visual C# 2.0、 Microsoft DirectX Software Development Kit(SDK) August2007来开发。
(3) Managed DirectX包含的组件
托管代码版DirectX 9.0 由以下主要组件构成。
(1) Direct3D Graphics 提供了一个单一的API,你能使用它进行3-D图形编程。
(2) DirectDraw 提供直接的低级访问显存和高速渲染。
(3) DirectInput 提供对于多种输入设备的支持,包括对力反馈技术的完全支持。
(4) DirectPlay 提供多人网络游戏的支持。
(5) DirectSound 提供播放和捕捉预录制数码采样的支持。
(6) Audio Video Playback 允许回放和简单控制音频/视频媒体。
(4) Managed DirectX的优点
通过消除COM 组件对象模型的互通层,托管代码版DirectX 9.0改善了执行性能。托管代码能减少代码体积和提升工作效率。继承于强大易用的Microsoft .NET Framework 公共类型的接口更加直观。托管代码也把你从处理很多内存管理的任务中解放了,这些任务比如释放对象。
Managed DirectX还提供了简单的3D程序框架,三维校园电子地图就是基于这个框架而开发的一个3D应用程序。使用Managed DirectX很大程度上减少了繁重的初始化操作。由于代码运行
于 Microsoft .NET 虚拟机之上,开发的语言为Microsoft Visual C#,所以程序能够自动回收垃圾,避免了内存的泄露,还降低了代码复杂度,便于Web接口的开发。
3.2三维坐标系与几何图形学
在使用DirectX开发三维校园电子地图程序之前,首先要对3D图形学的数学基础有一定的了解,根据三维校园电子地图程序的需求,需要掌握以下几个方面的知识点:
(1) 向量以及向量的运算;(2) 3D坐标系;(3) 面和顶点法线;(4) 3D物体的构成。
(由于篇幅有限,加上难度不大,以上4点在此不作详细介绍。关于Floyd最短路径算法原理,Alpha混合与测试原理,三维场景中的光照技术类型请读者参考相关书籍):
4 系统总体设计
三维校园电子地图程序是把桂林电子科技大学东区的校园实景虚拟再现,除能够实现普通地图的功能以外,还能够进行三维的景点观光和智能路径导航等功能。系统总体开发流程框架如图4-1所示: