基于PC机的三维地图制作
基于P C机的三维地图制作 高 世海赵韶平王晓剑 ( 第二炮兵工程学院,西安 7 1 0 0 2 5) 摘 要: 本文 介绍了O p e n G L 的 基本工 作 机 制, 并 详细 论 述了 基于P C 机 制作 三维真实 感地图的基本原理和过程。 实践证明, 利用本方法开发三维地图不仅速度快, 而且真 实感效果好口 关镶词: D T M , O o e n G L , 纹理映射, 真实感地图 I引言 由 于 地形 是自 然 界 最复 杂的 景物, 其三 维真 实 感 地图的 绘 制一 直是 国内 外计 算机 图形学领域关注的热点。 随着计算机技术和相关学 科理论的发展, 三维电子地图的制 作已经历了线划地图、实体型 ( 模拟灰度 地图、 三维真实感地图三个发展阶段.。 线 划地图,实体型地图虽然具育一定的立体感效果,但内容单调, 信息量不足,实用性 也不够强。 而三维真实感地图能高度逼真地反映外部真实世界, 相对于传统纸制地图 和计算机生成的线划地图、 实体型地图, 它具有以 下优点: ( 1 )可视化程度高三 维真实感地图用面状的颜色 变化或灰度变化来代替线的疏密表示, 不仅从空间上与实 际地形保持精确的几何关系, 而且从色彩, 灰度, 阴影及表面纹理等方面与实际地形 保持一致; ( 2) 使用方便 可实现左右上下移动、 变换角度观察等功能; ( 3 )存 储和查询方便; ( 4 )可实 时生成。 由于通常所用地图的数 据量极大, 三维真实感地图的生成对汁 算机的图形处理能 力提出了很高的要求。这些工作原来通常只能在三维图形工作站或大型计算机上完 成:但其昂贵的价格使大量用户望而却步。因此基于普通P C 机快速生成高度真实感 的三维地图是计算机图形领域的一个挑战性课 题,具有里要的经济和军事应用价值。 三维真 实感 地图的 制作 是在O p e n G L 和V i s u a l C 十 十 5 . 0 平台 下 开发的 。 2 性能卓越的三维图形开发平台 V C + + 5 .。 具 有 功 能 强 大 , 可 视 化 编 程 能 力 强 , 界 面 友 好 等 特点 。 而O p M G L 是 近 几年发展起来的一个性能卓越的三维图形标准,它是在S G I , M i c r o s o ft和I n t e l 等多 家世界闻名的计算机大公司的倡导下, 以S G I 的G L三维图形库为基础制定的一个通 用 共 享 的 开 放 式 三 维 图 形 标 准 口 前 几 年 , O p e n G L 只 能 在 具 有U N IX 操 作 系 统的 各 种 昂 贵的工 作站 上使 用、 现 在, 随 着计 算机 技 术的 发 展,P C 机 与工 作站的 性能日 趋 接 近,M i c r o s o ft 公 司已 把O p e n G L 动 态 链 接库 挂到W i n d o w s N T 和W i n d o w s 9 5 中, 并 把O p e n G L 图 形 库封 装在V i s u a l C 十 十2 . 0 及以 上 版本中 , 使 广 大P C 机 用户可以 利 用 O p e n G L 快速 开发高 质 量6 1 三维图 形 。下 面 是O p e n G L 基 本工 作 机制 流程图: 4 4 4 图 1 O p e n G L 基 本工 作 流程图 与大 多 数图 象A P I ( A p p li e d P r o g r a m I n t e r f a c e 磷似,O p e n G L 把 所 接受 的 数据 分 成 几 何数 据 和图 象数 据二类。 这些 数 据可以 通过O p e n G L 所特 有的 显 示 列 表 D i s p l a y L i s t )进行图形操作和图 象操作,显示列表把所要操作的图形数据送至内存再进行操 作, 大 大 加快了 图 象操 作 速度;O p e n G L 把 几何 数 据 通过几 何 运算 再 进行 顶点 操 作 和 图原组装, 其中的几何运算操作是一个十分庞大和复杂的过程。 因为三维图 形的实时 绘制需要实时地对三维物体的 位置作出反应, 所以 这个过程也是图形优化的重要突破 点 ;O p e n G L 的 纹 理操作 是O p e n G L 的 重要 部分 , 纹理 操作 使 三维 场景 十分 逼真, 这 正是高级真实感地图绘制所需要的。 由于纹理操作是图 象运算, 涉及图象的每个象素, 其运算量相当庞大,因此, 为实现快速绘制, 解决纹理运算是当务之急,图 象硬件厂 商也把纹理硬件运算作为优先任务; 栅格化操作是把图原分解成象素的过程, 分解的 基本思路是面片分解法, 一般是将图原分解最小的图 形单元 一 三角形面片, 因为三 角形面片的象素分解算法简单,节省时间。片原最后送到帧缓存中进行绘制。 本开 发 平台的 硬 件配 置为P e n t i u m 1 3 3 微 机 十 O p e n G L 三维图 形 加 速卡 ( 北京 黎明 公司的A G C - 3 D G L 3 0 0 5 X ) , 软 件 采用W i n d o w s 4 5 + V C + + 5 .0 + 伽e n G L 平台。 3 三维真实感地形图生成 3 . 1数据格式 地形图 生 成 所用的 原 始数 据为D T M ( D i g i t a l T e r r a i n M o d e l ) 数 据。D T M数 据 是用一系列等间隔的地形高程值来表示。 它代表一块方形网 格地形, 格网 交叉点就是 对应地面某点的高程值。这些点的X,Y值可从方形区域的行列号和间踞值中推算 出来。D T M数据的 基本格式如图2 ( a ) 所示 ( a ) D T M 大 地 坐 标 系 ( b )3 D观 察 坐 标 系 图2 坐标 系对应关系 欢 忿 :翔. i 网笔 咨 近 似定 义。 其 中,R G B 值 的 范围 是 1 0 . 0 , 1 .0 1 . 其 颜色 关 系如E 4 所示: 萝 。 黑 0 , o , a 又止二到 。 红 1 , 0 , 0黄t , t , o 图4 材质R G B 颜色关系 根据传统的地图学理论,地形的表示还可以用分层设色的方法进行表示,即用不 同 颜色表示不同的高度。动态地形环境中 分层设色的效果如图3 所示。 3 .6 使 用纹理映射 纹 理映射技术是真实感技术的一个重要方面。 地形表面的纹理具有颜色和几何纹 理的双重属性。 实际应用中 所使用的纹理有平面象素地图 和遥感图, 也可以 使用分形 计算求解得到的模拟纹理等。 本 文依 据纹 理映射 算 法, 采 用严密的 数 学 映 射 关系, 将 平面 地图 和 矢量 地 物叠 加 到三维地形图中, 从而实现了我军现已大量使用的平面地图的 三维可 视化, 使我军的 地图可视化水平达到新的高度。 而照片纹理能最为真实地表现客观世界的面貌。 遥感 图象是对地面景象的一种真实记录, 它所含的信息量丰富, 现势性好。 因此, 将遥感 图象作为一种真实的纹理图象, 采用纹理映 射算法生成地形表面的三维实景图, 使三 维真实 感地图显示出与实地一致的纹理特征。 这样就可以很好地 仿真客观世界。 纹理 映射效果如图s 、图6 所示。 图5原始三维地形图 图迭加纹理的地形图 4地物模型建立 在虚拟地形环境的建立过程中,地物的 建立也是十分重要的内 容, 在比较小的比 例尺 的 虚拟 地形 环境中 , 地物可以 象地图 中 那 样 用形 象的 符 号表 示, , 也可以 用纹理 贴 图的 方法; 在局部 地区比 例尺比 较大的 虚 拟地 形 环境中 , 地 物则 需 要 按一 定的 相 对 比 例, 以 十分 真实的 模 型出 现。 为了 使得 虚 拟 地形 环 境系 统更 加 实 用, 往往 需要 考虑 模型数据量从而使得一般的计算机系统能 够实现虚拟环境的模拟, 因 此地物模型的建 立 要求 在 模 型数 据量尽 量少的 前提下 表示 地 物的 特征。 本 节主 要 说明 地 物模 型的基 本 4 4 7 , 模型 数据的 建立过 程。 4 . 1 小比 例尺地物模型 的建立过 程 小比 例尺地 物模型 生要 是依 据数字 高 程模型 所 对应地区 的 航空 像片 或地形图 来 获取 坐 标数据。 在小比 例尺 虚拟 地形 环 境中, 地 物以 一 种形 象的 具 有特征的 符号 表示, 因 此, 在D E M作 为高 程控 制 的 前提, 地物 模型 数 据只 要是 地 物的 基本 位置 坐标 即可, 在 地物 模型绘 制过 程中, 根 据已 定 义的 地 物的 色 彩、 线 程、 填 充 类型等 绘制 地物 模型口 因 此, 小比 例 尺地 物棋型 的 基本 数 据 结构 是地 物的 坐 标 和地 物的 属性. 地 物的 坐标产 生可以 用 十分 简 单的 地 物一 数 字高 程 模型 位置 对 应于每 个数字 化 地物平面坐标点的高程来实现。 地物坐标的产生过程如图7 所示: kk13tikT - 超1l #T _ , * v itk j 到一 t - ;1sCI ik, DEM 9 C DEM Mxt131t h 图 7地物坐标产生流程 4 .2局部地区地物模 型的 建立 局部 地区的 地物 模型 一般 为实 物 模型, 如 街区、 桥 梁、 汽车、 丛 林等。 如果 要 直接通过三维建模或编程来开发, 需要大量相关学科的知识, 将很复杂烦琐, 不是一 般编 程者所能 轻松完成的 。 这些 地物模 型的 建立需 要专门 的 模型建 立软 件,如3 D S t u d i o 、A u t o C A D、S o ft h n a g e 、W a v e fr o n t 等, 而一 般的G I s 软件 和方法 则不能 建 立。 在虚拟地形环境建立过程中, 可以采用把G I s 与这些建模软件相结合的方法, 并 使用一种 A P I 应用程序界面。以下是一些常用的模型标准化及其相应的建模软件: 一一llJ、口. F U F O R M T F O R J汉 IO Z A R侣 正 口 m m 氏 加目 曰 徽 王 出 盯 切 0蕊 汕 匀 汀 I O 以 Y 月 几 刀 圈亡 S G I 的J ) 召 口 0 7 月 祖月 J J 班 习巨 即 哟旧 月 O t INi t b 祀了 月 幻 决 以服 叱断 1 F 翻汤 I M 旧 M以 。口 洲 U N 日 n 田 泌盯叩撇 图8 常用的棋型格式名及 其建模软件 图9地物棋型 本文探索了一种地物模型的建立方法。以飞 机为例: 用3 D S 建立飞 机模型, 然后 利用 转换 软件, 将其 转化 为 适于O p - G L 中 处 理的 显 示 表。 在需 要地 物时, 通过调 用 显示表显示该飞机模型。 此方法为三维真实感图形的生成提供了一种新的途径。 5地物 叠加 通过前面真实的D T I v i 不仅有了 地形表面的高程数据,而且还 应有叠加在地形表 面的各种人工和自 然地物。 人工和自 然地物就其几何形状, 分为线状地物, 如交通网, 河流等;面状地物,如 湖泊、建筑、 居民 地等;以 及点状地物, 、 如塔、井等。 在R S G S 的D T M上叠加地物要完成两个匹配: ( 1 ) 地 物数据 在x - Y 平面 上与D T M格 节点 的 匹 配; ( Z )地物数据点高程与D T M格网节点高程的匹配。 地物数据可以 是栅格数据或矢量数据。如果是矢量数据, 则在叠加前先进行光栅 化 处 理。 地 物数 据在Y 一 平面上 与D T I M格网 节点 匹 配时 可 采用距 离 近似 原则 : 若 地 物 数 据点 在X - Y 平面 上的 值