欢迎来到论文网! 识人者智,自知者明,通过生日认识自己! 生日公历:
网站地图 | Tags标签 | RSS
论文网 论文网8200余万篇毕业论文、各种论文格式和论文范文以及9千多种期刊杂志的论文征稿及论文投稿信息,是论文写作、论文投稿和论文发表的论文参考网站,也是科研人员论文检测和发表论文的理想平台。lunwenf@yeah.net。
您当前的位置:首页 > 科技论文 > 科技小论文

三维地形的可视化技术

时间:2011-04-26  作者:秩名

论文导读:OpenGL指的是开放图形程序库(OpenGraphicsLibrary),是由SiliconGraphicsIncorporated(SGI公司)为其图形工作站IRIS开发的一种快速、高质量的3D图形软件,是近几年发展起来的一个性能卓越的三维图形平台。在建立的三维地形模型中运用的是不规则三角网TIN(TriangularIrregularNet)。正投影中无论视点到视景体的距离多远,经过投影后物体的大小总是不变的,因此在三维地形可视化中采用透视投影。
关键词:OpenGL,三维地形,可视化

 

1基本概念

1.1 OpenGL

OpenGL指的是开放图形程序库(Open Graphics Library) , 是由Silicon Graphics Incorporated (SGI 公司) 为其图形工作站IRIS 开发的一种快速、高质量的3D 图形软件,是近几年发展起来的一个性能卓越的三维图形平台。OpenGL 规范由ARB (OpenGL Architecture ReviewBoard ,OpenGL 结构评审委员会) 负责管理,充分保证了它的独立性、开放性、前瞻性和跨平台性。它被集成到Unix 、Windows2000 、Windows XP 等窗口操作系统中,已被广泛应用于G / CAM/ G 、地质、航空、医学图像处理、广告、艺术造型、电影后期制作等领域。OpenGL 由120 多个功能强大的图形函数组成,它集成了所有几何建模、图形变换、光源设置、材质设置、纹理映射、运动模糊、像素操作、融合、反走样技术、雾化等复杂的计算机图形学算法。开发人员可以利用这些函数对整个三维图形轻松进行渲染,这些都为在微机上实现高品质、交互式三维图形开发提供了良好的便利条件。为了利用C++Builder 的强大功能来实现对OpenGL三维图形的绘制,Windows提供了OpenGL32.DLL 和GLU32.DLL 动态链接库, C++Builder本身没有包含GL库,但是这些GL(openg132.Lib)、辅助库(glaux. 1ib) 和实用库(glu32. 1ib)经过转换工具impib.exe转换都是可以自己加到C++Builder 库中,开发者可以在多种硬件平台及操作系统下方便地利用这个图形库,使我们方便地编程,简单、快速地生成美观、漂亮的复杂的三维彩色图形,并且OpenGL 在网络上工作时,显示图形的计算机(客户机) 可以不是运行图形程序的计算机(服务器) ,客户机与服务器可以是不同类型的机器,只要两者服从相同的协议。

1.2 数字地面模型及构网技术

数字地面模型(DTM) 是描述地面特征空间分布的有序数值阵列。它以抽象的数字阵列表示地貌起伏、地表形态,计算机可以从中直接、快速、准确识别,进行数据处理。数字地面模型通常分为规则数模、半规则数模、不规则数模3 大类。在建立的三维地形模型中运用的是不规则三角网TIN ( Triangular Irregular Net) 。这是因为在同样的地形条件下达到同等高程内插精度时,该类数模所需的原始地形点的数量远少于其他类型数模所需的已知点数。生成三角网DTM 的关键是构网技术,作者依据的是Delaunay 构网原则,因为它是目前最优的三角网构网原则。Delaunay 三角形定义为:组成三角网的每个三角形不包含数据点集中除构成该三角形三顶点以外的任何其他点,即Delaunay 三角网能最大限度地保证网中三角形满足近似等边(角) 性。对于任意给定的离散数据点集,三角网的网形是唯一的。

2 C++Builder下OpenGL 的编程框架

在以C++Builder为平台运用OpenGL绘图软件包进行三维地形可视化研究的过程中,应用了如下的编程框架:

(1) 构造OpenGL 窗口的风格;

(2) 设置支持OpenGL 的像素格式;

(3) 创建OpenGL 的绘图描述表,并将其设置为当前绘图描述表;

(4) 初始化OpenGL 的绘制环境,例如光照模型、颜色和深度缓冲区的设置;

(5) 添加Windows 消息处理函数,例如鼠标、窗口、键盘消息,在这些消息处理函数中,就包含OpenGL 的绘制命令;

(6) 在应用程序结束并撤销视窗时,删除绘制描述表。

最后,应把OpenGL32.1ib 、glu32.1ib 和glaux.lib 3 个静态库加入到应用程序中,它们可以支持开发者对100 多个OpenGL 图形函数的调用。

在以C++Builder为平台运用OpenGL绘图的另一种方法就是安装第三方控件,利用第三方控件(TOpenGlAppPanel)就不用再构造OpenGL 窗口的风格、设置支持OpenGL的像素格式、创建OpenGL 的绘图描述表,并将其设置为当前绘图描述表、在应用程序结束并撤销视窗时,删除绘制描述表,使用起来就会很方便。

3 三维地形可视化的实现

3.1 建模技术

实现三维图形可视化首先要解决建模问题。目前建模方法主要有两种:

(1) 用AutoCAD 和3DMAX 等建模工具建立三维模型;

(2) 直接利用OpenGL 或VRML 等专用建模语言完成建模。

3.1.1 3DMAX 建模

3DStudio MAX 是专门的三维建模软件,功能强大,并且生成的3DS 文件是一种非常普遍的数据格式,用它建模可以大大缩短建模时间,但需要把3DS 文件转换成OpenGL 文件,以便于实现模的控制。转换的方法大致有两种:

(1) 利用3D Studio MAX 建立物体模型,并将其输出为*.3ds 格式的文件;通过编写的3DSLoad类直接读入工程中。

(2) 通过转换工具将模型转换成OpenGL的显示表形式,用OpenGL 命令进行编程控制。

使用模型转化工具View3DS.exe 生成OpenGL 程序,使用方法如下:在DOS 提示符下键命令: View3ds <filename.3ds > [_t] [_s] [_f] [_r] [_c] [_x]则在窗口中显示出模型。在窗口中单击左键,弹出一个菜单,点击生成C 语言代码菜单项,则生成两个文件:filename. h 和filename.g1 ,将filename. h很filename.g1 copy到当前工程的目录中,在初始化部分加入如下代码:model=GL#DS_initalize_modelname(),在模型绘制文件的开始部分加上如下代码:

查看相关论文专题
加入收藏  打印本文
上一篇论文:浅议勘测定界图测绘工作中的注意事项
下一篇论文:三维山体建模方法初探
科技论文分类
科技小论文 数学建模论文
数学论文 节能减排论文
数学小论文 低碳生活论文
物理论文 建筑工程论文
网站设计论文 农业论文
图书情报 环境保护论文
计算机论文 化学论文
机电一体化论文 生物论文
网络安全论文 机械论文
水利论文 地质论文
交通论文
相关科技小论文
最新科技小论文
读者推荐的科技小论文