欢迎来到天天文库
浏览记录
ID:24805090
大小:49.50 KB
页数:4页
时间:2018-11-14
《利用opengl实现内插算法可视化》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、利用OpenGL实现内插算法可视化摘要OpenGL是一种交互式计算机图形系统,具有绘制三维图形的功能,能高效地编写出可操纵图形硬件的程序,支持三维可视化的实现。本文以OpenGL为基础,对可视化技术进行研究,重点讨论了内插算法,结合OpenGL中视点的定义,通过OpenGL的函数来实现。关键词OpenGL可视化内插算法1引言为了便于对算法实现进行测试和效果分析,我们依据图1进行离散点采样。在图1中,地形面积为,其等高线分布如图所示,A点和B点为两座山的顶峰,其中A点高程值为3.6,B点高程值为2.3
2、。我们将采样得到的离散点按照一定的规则存放在*.dem的文件中,通过读取文件中的数据来获取离散点的高程值。我们通过采样10或20个点生成的DEM格网模型。图1测试地形等高线图2内插算法的可视化的实现2.1读取文件中离散点数据离散点数据包括平面位置和高程两种信息,可以直接在野外通过全站仪或者GPS、激光测距仪等进行测量,也可以间接地从航空影像或者遥感图象以及既有地形图上得到。具体采用何种数据源和相应的测量技术,一方面取决于这些源数据的可获得性,另一方面也取决于DEM的分辨率、精度要求、数据量大小和技术
3、要求等。对于离散点的数据,往往是很大的,我们只有按照一定数据结构存储在*.dem文件中,才能便于管理和修改。在程序中通过读取文件,可以得到任意一个文件中的地形信息。为了测试的需要,依据图1中的等高线我们可以采集到一些特征点的三维信息。例如,我们采集10个点的信息,将其存入文件中,其结构如下所示:100.00.00.010.010.010.010.00.00.03.63.07.13.67.13.02.35.55.51.45.78.01.08.08.00.59.02.01.36.01.21.05.04.
4、01.01.07.22.02.02.00.3在实例中每个数据按照5个字符来存储。第一个数据为采样离散点的总数,第二到第九个数据分别为所选地形左下、左上、右上、右下点的平面X和Y的坐标,第十和第十一个数据为地形的最小高程值和最大高程值,余下的数据每三个为采样离散点的三维坐标X、Y和Z,共有十个。在LoadFileData类中,需要先定义如下:publicintDataNum;//离散点的总数publicdouble[,]DataPoint=nePosition;//读取位置stringDemFileC
5、ontent;//DEM文件内容publicstructPoint{publicdoublex;publicdoubley;}publicstructDEMStruct{publicPointLeftBottom;publicPointLeftTop;publicPointRightTop;publicPointRightBottom;publicdoubleMinElevation;publicdoubleMaxElevation;}publicDEMStructDemDataStruct;//存
6、储*.dem文件中前十一个数据同时在主程序中,还需要调用如下两个读取int型和double型的函数:privateintreadInt(){stringtmps;tmps=DemFileContent.Substring(readDemPosition,5);readDemPosition+=5;return(Convert.ToInt32(tmps));}privatedoublereadDouble(){stringtmps;tmps=DemFileContent.Substring(readD
7、emPosition,5);readDemPosition+=5;return(Convert.ToDouble(tmps));}通过读取文件中的数据,我们可以很容易的得到地图的四边、地图中心点坐标和最大与最小高层差,以便在绘制地形时确定屏幕的显示位置和鼠标控制的缩放和移动比例。2.2利用OpenGL实现算法的可视化OpenGL是OpenGraphicsLibrary的缩写,它是SGI公司开发的一套高性能图形处理系统,是图形硬件的软件接口,意为开放的图形库。通过OpenGL程序员可以创建交互式的应用
8、程序,实现具有逼真效果的三维图形图像。由于其开放性和高度的可重用性,目前已成为业界标准。OpenGL被设计成独立于硬件,独立于窗口系统的,在运行各种操作系统的各种计算机上都可用,并能在网络环境下以客户/服务器模式工作,是专业图形处理、科学计算等高端应用领域的标准图形库。为了便于我们后期的LOD地形简化,我们一般要将地形绘制成三角格网的形式。在绘制三角形时,由于地形不可能都是规则的长方形或正方形,考虑到一般地形的多样性和复杂性,不能够将点简单的连线。根据三角形的四种形式
此文档下载收益归作者所有