欢迎来到天天文库
浏览记录
ID:21925233
大小:58.50 KB
页数:5页
时间:2018-10-25
《基于opengl 的高程图研究与应用 》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于OpenGL的高程图研究与应用【关键词】高程图LODOpenGL三维地形1引言本设计主要工作是首先对系统进行需求分析;其次阐述了结构化程序设计的基本思想;然后在需求分析的基础上,详细描述了整体设计过程,包括数据结构的设计、功能模块的设计,最后用C语言编程实现;最后对系统的功能进行测试及结果分析。实现基于高度图的地形建模技术,采用OpenGL图像绘制语言实现地形的真实感绘制及交互式漫游,实现一个用户可以交互操作的地形绘制程序。2三维地形建模本文设计并实现一个基于高程图技术的地形绘制系统。该系统具有的功能如下:掌握基
2、于高度图的地形建模技术,采用OpenGL绘制语言实现地形的真实感绘制及交互式漫游,实现一个用户可以交互操作的地形绘制程序。首先,应该初始化OpenGL环境,包括生成绘制描述表,一些全局控制变量的初始赋值,光照位置和渲染、颜色方式初始化,地形X格数据初始化,纹理图片的加载,纹理方式选择,平滑和渲染方式的选择。只有初始化适当,程序才能后续绘制。我们还应该设置一个计时器,目的是为了漫游时实时进行地形视角的更新。计时器可以设置为每隔20ms触发一次,每次触发时的回调函数负责更新视角位置,视角运动速度,视角前进方向,并以此刷新
3、场景。设置计时器语句如下:SetTimer(1,20,NULL);接下来是初始化地形数据,由于算法是是采用X格化地形,X格地形数据用二维矩阵来存放,所以初始化地形数据就是给地形矩阵分配空间并初始化。文/刘盛意王志鹏陈癸伶在计算机图形学领域,三维高程图显示是一个重要的研究方向。地形三维建模及可视化技术是是三维地理信息系统重要研究内容,它能使地理信息更直观、更形象地展现在人们面前。本文主要采用的是OpenGL来对高程图进行绘制,在未来的二次图像重建技术方向有广阔的应用前景。因此,研究如何快速实现地形的建模以及三维可视化就
4、有非常重要的意义。摘要一般采用俯瞰视角,这样才能尽可能接近真实地,自然地观看到地形的全貌。接下来便是建立四叉树,后来的绘制和纹理贴图都是基于这棵树,这棵树即要绘制的地形。刚才初始化的地形数据,被用来在绘制地形,每当按下空格键,便会产生新的地形,实际上是产生新的地形参数,然后这些参数被实时调用,来绘制新的地形。有了实时地形数据之后,便是绘制地形,简单的可以理解为把X格上各个点或者说相邻的点建立联系,进行平滑处理,高程颜色分类。最重要的是,四叉树本身是递归树,所以在进行X格数据处理时,是递归进行的,当处理的X格元尺寸小到
5、一定程度就不再进行递归,而是直接当做最小单位来处理。对于距离客观世界的观察视角比较远的X格元,递归的尺寸界限适当调高,这样其实就是LOD技术的实际应用了。当线框模式的地形绘制完成后,整个地形就已经呈现出来了,凹凸不平的特点得以呈现,而且接缝处进行了平滑。但还不真实,更重要的是,还没有是实现高程图。最后的纹理贴图实现了这两方面。根据不同的高度层,分别进行纹理贴图处理,高海拔的地方,贴图颜色就浅些,低海拔的地区,就用绿色渲染。这样渲染出来的效果,基本接近真实地貌,而且非常具有观赏性。3OpenGL高程图实现与应用采用四叉
6、树作为地形绘制的数据结构。四叉树(QuadTree)是一种很有名的树状数据结构。四叉树划分,是通过递归的方法,将一个矩形区域不断地进行一分为四的划分,直到某一种条件得到满足为止。多分辨率地形模型的四叉树构建过程为:把整个地形作为根节点,从这个根节点出发,检查根节点是否满足某种分割条件,若不满足,则不分割,并作为叶子节点保存;否则,递归地把根节点不断地分割成相等的四个子节点区域,直到不能再分割为止。最后,将所有叶子节点绘制渲染。分割的深度越大,得到的分辨率就会越高,即分割深度每提高一层,采样密度提高一倍。在用来描述地形
7、的数据结构中,四叉树非常有效。具体操作过程如下:(1)初始化地形的最大、最小高度以及地形的X格间距;(2)打开一幅位图,计算出位图的高度和宽度,以及地形的水平、垂直X格数,找出位图的最大灰度值与最小灰度值;在这一步骤中,需要注意的是,如果位图图像的宽或高有冗余(也就是位图的高度、宽度不是给定的X格间距的整数倍),则必须剪裁掉冗余的部分,然后在重新计算实际用到的位图图像的宽和高;(3)建立位图的灰度值与地形高程的线型映射关系;(4)依据X格交点的灰度值以及线型映射关系,求出对应于该点的地图的高程值;并将其存储到两维数组
8、中;(5)计算出各个顶点的法线,利用OpenGL的显示技术。绘制地形的三角形面片。本设计的程序,可以绘制不同地貌,不同海拔高度的地形,模拟范围非常广。图1、2是几种典型的地貌模拟图。对于即将到来的研究,有几个有趣的趋势已经确定。其中,有希望的方向可以归纳如下:第一,性能和交互性的程序方法将继续改善,往往意味着对GPU的并行编程。第二,有了上述的
此文档下载收益归作者所有