三维校园电子地图
如何设计一个仿真度高, 并且具备虚拟漫游和智能导航的 三维地图引擎, 成为三维电子地图研究领域的一个热点问题。 本文通过研究设计的三维电子地图引擎系统, 设计了模型动态 加载接口, 并具备智能导航和虚拟漫游引擎, 实现了三维校园 仿真电子地图。 它为校园规划建设、 游客观光导航、 学校对外 宣传等方面提供了一个智能化的平台, 为广大系统用户提供了 极大的便利。 开展虚拟校园三维地图仿真引擎系统及相关课题 的研究适应了信息社会发展的趋势, 具有重要的理论和现实意 义。
在开发三维校园电子地图之前, 首先要对校园的各方面数 据进行收集, 由于大量的建筑数据以及校园平面景观布局图纸 可以从校方直接获取, 也可以通过实地取材和互联网资源来获 取相关数据。
校园建筑的模型比例数据、 贴图数据、 布局位置全部是通 过实地取材得来, 由于学校东区面积比较大, 建筑复杂多样, 导致数据采集工作量很大, 用了近两个星期, 使用数码相机在 校园各个角落获取数码照片近 10000 张, 将校园所有景观囊括 在内。 建筑轮廓基本是从高层楼顶拍摄, 然后通过照片的对比 和组合得到建筑的实际外形和轮廓数据, 通过互 联网的 Google 卫星图获取建筑之间的比例数据以及平面布局数据, 通过照片 的剪切获取景物的纹理贴图数据。 4.2 二维平面图的制作
为了控制好二维平面图的比例和相关建筑的位置精确, 本 系 统 使 用 了 Google 卫 星 照 片 来 做 底 图 作 为 二 维 平 面 图 的 绘 制 参 考 。 然 后 再 使 用 AutoCAD 2007 来 绘 制 线 条 , 这 样 便 能 达 到 精确绘制的目的。
底 图 是 通 过 Google 卫 星 照 片 拼 接 而 成 , 首 先 在 电 脑 上 安 装 Google_Earth_BZXV.exe。 在 搜 索 框 中 输 入 大 学 的 位 置 : 25° 17'5.05" N, 110°19'53.89" E 以获 取校 园 的 卫 星 照 片 。 为 了 得
本课题主要是研究了三维建模技术在程序中的导入技术、 三 维 模 型 的 优 化 、 虚 拟 现 实 技 术 、 Floyd 算 法 实 现 的 智 能 导 航 技 术 、 Alpha 混 合 与 测 试 技 术 、 三 维 场 景 中 的 光 照 技 术 、 XML
技术、 用户交互控件技术等等。 这些技术将全部应用到三维校 园电子地图程序当中, 最终展示出集视觉、 听觉、 用户智能交 互于一体的校园仿真三维地图。
Hale Waihona Puke 2009. 13 63到清晰的底图, 获取图片是采取分次获取, 然后使用 Photoshop 合并成一张完整的高校东区校园底图, 如图 2 所示。
有 了 这 张 平 面 地 图 , 就 能 够 使 用 3DMAX 导 入 *.dwg 文 件 作为底图参照, 然后绘制出等比例的校园 3D 模型。 4.3 三维模型的建立
1 引言
随着计算机技术, 特别是计算机图形学、 三维仿真技术以 及虚拟现实技术的飞速发展, 传统的二维电子地图被注入了新 的活力, 三维电子地图正成为电子地图发展的一个重要方向。 传统的二维电子地图只能以图形和符号的方式来呈现一张地 图, 这种方式往往不能直观清晰地表示出地图所在位置的地理 环境。 采用三维电子地图的方式, 建立场景的仿真模型, 把现 实场景进行虚拟再现, 真实、 互动、 情节化的特点是虚拟现实 技术独特的魅力所在。
62 2009. 13
GRAPHICS PROGRAM
图形图像处理
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 总体设计
三维校园电子地图程序是把高校东区的校园实景虚拟再 现, 除了能够实现普通地图的功能以外, 还能够进行三维的景 点观光和智能路径导航等功能。 系统总体开发流程框架如图 1 所示。
图 1 系统总体开发流程框架
构建一个三维校园电子地图系统需要按照以下几个关键步 骤来进行程序的开发:
(1) 数据采集: 获取校园的相关建筑数据以及地理环境信 息。
地形模型建立: 整个东区校园的地形样式比较丰富, 由山 坡、 河流、 以及高低不同的坡面, 这个地形的模型制作加大了 难度。 在校园东区地形的创作中, 把整个学校当作一个区域, 按 照 CAD 地 图 建 立 一 个 大 平 面 , 然 后 在 这 个 大 平 面 上 切 割 出 许许多多个小面, 再通过多边形修改器来分区修改这些小面。 在地形中, 比 较 矮 小 的 坡 度 (如 : 路 边 沿 等 ) 则 不 进 行 3D 建 模, 而是使用贴图取而代之, 这样将会最大程度上减小程序的 开销。 在实时虚拟系统中, 它们应该使用尽可能少的面, 获得 尽可能少的面的方法是在建立模型时使用合适的方式, 当把贴 图赋给实时模型时, 也应该使用最少的面。 所以这类模型在建 立时主要用二维的模型结合透明贴图来创造出三维的模型效 果, 即用贴图来代替细节模型。 得出高低不同的坡面以及河流 等模型, 最终完成的地形图如图 4 所示。
除此之外, 在可视化的基础上实现了一些虚拟现实的交互 操作和空间分析, 如: 校园景物的查看、 校园路径导航、 三维 动态漫游校园等, 给需要了解校园地理信息的用户提供了极大 方便。
2 研究内容
本 课 题 是 一 个 使 用 Managed DirectX 的 三 维 图 形 技 术 实 现 的 一 个 三 维 校 园 电 子 地 图 程 序 , 该 程 序 是 在.NET 框 架 下 建 立 完 成 , 开 发 语 言 为 当 今 最 流 行 的 高 级 语 言 Microsoft Visual C#。 它是以某高校校区为实景, 进行校园虚拟仿真, 建立了具备观 光浏览与智能导航为一体的多媒体三维校园电子地图程序。
三维校园电子地图
李纳璺 陈金龙 阮方舟
摘 要: 从 DirectX 技术着手, 采用 Microsoft Visual C# 结合三维图形开发包在.NET 框架下, 构建了三维校园电子地图程序。 通过对校区真实场景转换到三维虚拟场景的引擎构建, 实现了 三维校园的虚拟漫游和智能导航功能。 关键词: 电子地图; 天空盒; 地图引擎; DirectX
(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, 能 使 用 它 进 行 3D 图形编程。 2) DirectDraw 提供直接的低级访问显存和高速渲染。 3) DirectInput 提供对于多种输入设备的支持, 包括对力反 馈技术的完全支持。 4) DirectPlay 提供多人网络游戏的支持。
3 开发环境
3.1 Managed DirectX 与托管代码版 DirectX 9.0 语言支持 (1) Managed DirectX DirectX 是 一 系 列 低 级 的 应 用 程 序 接 口 (APIs), 它 用 于 创
建 游 戏 和 其 他 高 执 行 效 率 的 多 媒 体 程 序 。 它 包 括 对 高 效 的 2D 和 3D 图形、 音 效 和 音 乐 、 输 入 设 备 、 力 反 馈 设 备 、 多 媒 体 流 和多人游戏的网络通信程序。 三维校园电子地图程序的三维环 境漫游引擎的构建就是使用 Managed DirectX 9.0 的图形处理 技 术来完成的。