文档介绍:利用OpenGL实现内插算法可视化
摘要penGL是一种交互式计算机图形系统,具有绘制三维图形的功能,能高效地编写出可操纵图形硬件的程序,支持三维可视化的实现。本文以penGL为根底,对可视化技术进展研究,重点讨论了内插算法,结合pele[50,3];//离散数据点的三维坐标
intreadDePsitin;//读取位置
stringDeFilentent;//DE文件内容
publistrutPint
{
publidublex;
publidubley;
}
publistrutDEStrut
{
publiPintLeftBtt;
publiPintLeftTp;
publiPintRightTp;
publiPintRightBtt;
publidubleinElevatin;
publidubleaxElevatin;
}
publiDEStrutDeDataStrut;//存储*.de文件中前十一个数据
同时在主程序中,还需要调用如下两个读取int型和duble型的函数:
privateintreadInt()
{
stringtps;
tps=(readDePsitin,5);
readDePsitin+=5;
return((tps));
}
privatedublereadDuble()
{
stringtps;
tps=(readDePsitin,5);
readDePsitin+=5;
return((tps));
}
通过读取文件中的数据,我们可以很容易的得到地图的四边、地图中心点坐标和最大与最小高层差,以便在绘制地形时确定屏幕的显示位置和鼠标控制的缩放和挪动比例。
penGL是penGraphisLibrary的缩写,它是SGI公司开发的一套高性能图形处理系统,是图形硬件的软件接口,意为开放的图形库。通过penGL程序员可以创立交互式的应用程序,实现具有逼真效果的三维图形图像。由于其开放性和高度的可重用性,目前已成为业界标准。penGL被设计成独立于硬件,独立于窗口系统的,在运行各种操作系统的各种计算机上都可用,并能在网络环境下以客户/效劳器形式工作,是专业图形处理、科学计算等高端应用领域的标准图形库。
为了便于我们后期的LD地形简化,我们一般要将地形绘制成三角格网的形式。在绘制三角形时,由于地形不可能都是规那么的长方形或正方形,考虑到一般地形的多样性和复杂性,不可以将点简单的连线。根据三角形的四种形式,每个构成三角形的点都先按照四边形的方式进展划分成四个点〔如图2〕。
图2三角形四种情况下点的的划分
4在图中,三角形中必有一个点被两个编号所代表,然后按照1-2-4-1-3-4的顺序进展连接,必然能绘制出四种情况中的任何一种三角形。通过上述操作,可以实现程序能运用到所有地形的显示。
程序代码如下:
priva