基于OpenGL的三维地形图显示方法和应用

基于OpenGL的三维地形图显示方法和应用

ID:38124047

大小:661.43 KB

页数:3页

时间:2019-05-27

基于OpenGL的三维地形图显示方法和应用_第1页
基于OpenGL的三维地形图显示方法和应用_第2页
基于OpenGL的三维地形图显示方法和应用_第3页
资源描述:

《基于OpenGL的三维地形图显示方法和应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、石油天然气学报(江汉石油学院学报)2005年10月第27卷第5期JournalofOilandGasTechnology(J1JPI)Oct12005Vol127No15#585#基于OpenGL的三维地形图显示方法和应用郭立波(长江大学地球科学学院,湖北荆州434023)赵海燕(北京联合大学继续教育学院,北京100724)王新海(长江大学地球科学学院,湖北荆州434023)[摘要]为了实现有真实感的三维地形图,讨论了在OpenGL支持下的编程原理和步骤,以及如何利用OpenGL函数库实现三维地形图的显示,并在VC610环境下得到实现。[关键词

2、]OpenGL;三维;地形图;映射;投影[中图分类号]TE19[文献标识码]A[文章编号]10009752(2005)05058502在三维绘图蓬勃发展的过程中,计算机公司推出了大量的三维绘图软件包。其中SGI公司推出的OpenGL,作为一个性能优越的图形应用程序设计界面(API)异军突起,取得了很大的成就。它以高性能的交互式三维图形建模能力和易于编程开发,得到了Microsoft,IBM,DEC,Sun,HP等大公司的认同。因此,OpenGL已经成为一种三维图形开发标准,是从事三维图形[1]开发工作的必要工具。基于OpenGL可以很方便地实现

3、地形三维透视投影变换,建立光照模型,以及消隐图1OpenGL进行地形显示的基本框架和裁剪,最终实现地形图的三维显示(图1)。1地形模型的映射地形模型的映射实际上是一个转化过程,是把数字高程模型转化成为OpenGL的基本格式。目前数字高程模式的表达主要有3种:不规则三角网(TIN),规则格网(GRID)和等值线。前面2种是应用最广泛的结构形式。但是这些结构形式OpenGL本身是不能识别的,所以首先要把DEM用OpenGL原语描述出来,转化成OpenGL可以识别的图形函数。OpenGL本身提供了点、线、多边形等基本的建模原语,利用这些原语还可以把地

4、形模型数据表示成点形的、线形的以及多边形的原语序列。三角形是最小的图形基元,基于三角形面片的各种几何算法最简单、最可靠,构成的系统性能最优。另外,由于OpenGL只能够处理凸多边形,因此,选用三角[2]形来构造地面模型。下面是对于不规则三角网(TIN)表达的数据直接用OpenGL原语的描述:glBejin(GL1TRIANGLES);glVertex(x1,y1,z1);glVertes(x2,y2,z2);glVertes(x3,y3,z3);glEnd();2三维真实感地形的生成在OpenGL环境下,经过一系列的变换以及光照处理,浓淡阴影处

5、理,就可以生成具有真实感的三维地形。在用OpenGL绘制三维地形模型和进行纹理映射前,需要设置相关的景观参数值。这些参数[收稿日期]20050728[基金项目]中国石油天然气集团公司石油科技中青年创新基金项目(05E7046)。[作者简介]郭立波(1979),男,2001年大学毕业,硕士生,现从事地理信息系统方面的科研与教学工作。#586#石油天然气学报(江汉石油学院学报)2005年10月包括光源性质(镜射光、漫射光和环境光)、光源方位(距离和方向)、颜色模式(索引或RGBA)、明[3]暗处理方式(平缓处理或平面处理)、纹理映射方式等等。此外,

6、还要设定视点位置和视线方向。地形图是采用DEM数据生成的,DEM数据用一系列等间距的地形高程值来表示,代表一块方形网格地形,网格交叉点就是对应地面某点的高程值。各点的X,Y值可从方形区域的行列号和间距值中推算出来。遥感图像是对地面景象的一种真实记录,所含的信息量丰富、现势性好。因此,采用纹理映射算法将遥感图像映射到三维地形表面,将产生与实地一致的纹理特征。在OpenGL环境下遥感图像和数字地形相套合时,地形与遥感影像的配合是关键。为了获取较为逼真的视觉效果,配准方案可采取数字地形向遥感图像配准,通过控制点,建立匹配方案,将数字地形由大地坐标系转

7、到影像坐标系中。另一配准方案是将遥感影像经重采样等处理获得和数字地形相应的新影像,此方案不足之处是重采样处理中颜色量化可能失真,影响最后的三维效果,但影像的生成速度较快。通常,为了避免纹理映射复杂的纹理坐标计算,提高纹理映射的计算速度和效率,直接采用经过微分纠正的正射影像作为纹理影像,地面坐标和纹理坐标间的对应关系变得十分简单。OpenGL进行纹理映射的基本步骤是:定义纹理,纹理控制,说明纹理的隐映射方式和定义三维模型顶点的纹理坐标与几何坐标,绘制场景。此外,三维地形要适当的显示出来,还要进行投影变换和视口变换。投影变换是生成三维模型的重要基础

8、,一般分为透视投影和正射投影,投影的方式选择显示的内容和用途。视口是指计算机屏幕中的[2]矩形区域,视口变换的目的是将三维空间坐标映射为计算机屏幕上的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。