你的位置:论文发表 >> 论文下载 >> 计算机论文 >> 计算机理论 >> 详细内容 在线投稿

基于OpenGL 的高程图研究与应用

浏览308次 时间:2017年5月11日 09:12

【关键词】高程图 LOD OpenGL 三维地形

1 引言

本设计主要工作是首先对系统进行需求

分析;其次阐述了结构化程序设计的基本思想;

然后在需求分析的基础上,详细描述了整体设

计过程,包括数据结构的设计、功能模块的设

计,最后用C 语言编程实现;最后对系统的

功能进行测试及结果分析。

实现基于高度图的地形建模技术,采用

OpenGL 图像绘制语言实现地形的真实感绘制

及交互式漫游,实现一个用户可以交互操作的

地形绘制程序。

2 三维地形建模

本文设计并实现一个基于高程图技术的

地形绘制系统。该系统具有的功能如下:掌握

基于高度图的地形建模技术,采用OpenGL

制语言实现地形的真实感绘制及交互式漫游,

实现一个用户可以交互操作的地形绘制程序。

首先,应该初始化OpenGL 环境,包括

生成绘制描述表,一些全局控制变量的初始赋

值,光照位置和渲染、颜色方式初始化,地形

网格数据初始化,纹理图片的加载,纹理方式

选择,平滑和渲染方式的选择。只有初始化适

当,程序才能后续绘制。

我们还应该设置一个计时器,目的是为

了漫游时实时进行地形视角的更新。计时器可

以设置为每隔20ms 触发一次,每次触发时的

回调函数负责更新视角位置,视角运动速度,

视角前进方向,并以此刷新场景。设置计时器

语句如下:

SetTimer(1, 20, NULL);

接下来是初始化地形数据,由于算法是

是采用网格化地形,网格地形数据用二维矩阵

来存放,所以初始化地形数据就是给地形矩阵

分配空间并初始化。

/刘盛意 王志鹏 陈癸伶

在计算机图形学领域,三维

高程图显示是一个重要的研究方

向。地形三维建模及可视化技术

是是三维地理信息系统重要研究

内容, 它能使地理信息更直观、

更形象地展现在人们面前。本文

主要采用的是OpenGL 来对高程图

进行绘制,在未来的二次图像重

建技术方向有广阔的应用前景。

因此, 研究如何快速实现地形的

建模以及三维可视化就有非常重

要的意义。

摘 要

一般采用俯瞰视角,这样才能尽可能接近真实

地,自然地观看到地形的全貌。

接下来便是建立四叉树,后来的绘制和

纹理贴图都是基于这棵树,这棵树即要绘制的

地形。

刚才初始化的地形数据,被用来在绘制

地形,每当按下空格键,便会产生新的地形,

实际上是产生新的地形参数,然后这些参数被

实时调用,来绘制新的地形。

有了实时地形数据之后,便是绘制地形,

简单的可以理解为把网格上各个点或者说相邻

的点建立联系,进行平滑处理,高程颜色分类。

最重要的是,四叉树本身是递归树,所以在进

行网格数据处理时,是递归进行的,当处理的

网格元尺寸小到一定程度就不再进行递归,而

是直接当做最小单位来处理。对于距离客观世

界的观察视角比较远的网格元,递归的尺寸界

限适当调高,这样其实就是LOD 技术的实际

应用了。

当线框模式的地形绘制完成后,整个地

形就已经呈现出来了,凹凸不平的特点得以呈

现,而且接缝处进行了平滑。但还不真实,更

重要的是,还没有是实现高程图。最后的纹理

贴图实现了这两方面。根据不同的高度层,分

别进行纹理贴图处理,高海拔的地方,贴图颜

色就浅些,低海拔的地区,就用绿色渲染。这

样渲染出来的效果,基本接近真实地貌,而且

非常具有观赏性。

3 OpenGL高程图实现与应用

采用四叉树作为地形绘制的数据结构。

四叉树(Quad Tree)是一种很有名的树状数

据结构。四叉树划分,是通过递归的方法,将

一个矩形区域不断地进行一分为四的划分,直

到某一种条件得到满足为止。多分辨率地形模

型的四叉树构建过程为:把整个地形作为根节

点,从这个根节点出发,检查根节点是否满足

某种分割条件,若不满足,则不分割,并作为

叶子节点保存;否则,递归地把根节点不断地

分割成相等的四个子节点区域,直到不能再分

割为止。最后,将所有叶子节点绘制渲染。分

割的深度越大,得到的分辨率就会越高,即分

割深度每提高一层,采样密度提高一倍。在用

来描述地形的数据结构中,四叉树非常有效。

具体操作过程如下:

1)初始化地形的最大、最小高度以及

地形的网格间距;

2)打开一幅位图,计算出位图的高度

和宽度,以及地形的水平、垂直网格数,找出

位图的最大灰度值与最小灰度值;在这一步骤

中,需要注意的是,如果位图图像的宽或高有

冗余( 也就是位图的高度、宽度不是给定的网

格间距的整数倍),则必须剪裁掉冗余的部分,

然后在重新计算实际用到的位图图像的宽和

高;

3)建立位图的灰度值与地形高程的线

型映射关系;

4)依据网格交点的灰度值以及线型映

射关系,求出对应于该点的地图的高程值;并

将其存储到两维数组中;

5) 计算出各个顶点的法线, 利用

OpenGL 的显示技术。绘制地形的三角形面片。

本设计的程序,可以绘制不同地貌,不

同海拔高度的地形,模拟范围非常广。图1

2 是几种典型的地貌模拟图。

对于即将到来的研究,有几个有趣的趋势

已经确定。其中,有希望的方向可以归纳如下:

第一,性能和交互性的程序方法将继续改善,

往往意味着对GPU 的并行编程。第二,有了

上述的算法作为支撑,在大数据下基于多种传

感器的二次图像重建技术将成为可能。

参考文献

[1] 徐拥军. 基于Google Earth 的高程图制

作方法[J]. 中国西部科技,2010(04).

[2] 贺菁. 基于高程图的光学成像模型[J].

计算机工程,2008(01).

[3] 闫飞. 基于拓扑高程模型的室外三维环

境建模与路径规划 [J]. 自动化学报,

2010(11).

[4] 宋春玉. 基于Google Earth 绘制中小比

例尺高程图可行性研究[J]. 自动化学

,2013(06).

作者单位

大连东软信息学院电子工程系 辽宁省大连市

116000

1:远距离整体视图

2:高海拔地区视图

98 • 电子技术与软件工程 Electronic Technology & Software Engineering

上一篇 下一篇

论文发表与咨询

论文发表 写作指导 职称论文 毕业论文 客服联系方式:
投稿信箱:lunww@126.com
在线咨询客服QQ:站点合作85782530
在线咨询客服QQ:站点合作82534308
联系电话:18262951856
点击进入支付宝支付(支付宝认可网络诚信商家)
点击进入财付通支付(财付通认可网络诚信商家)
点击进入支付方式---->>>>

论文发表 诚信说明

论文发表 论文投稿 热点图片