设为首页
加入收藏
联系我们
公告:欢迎光临范文论文吧、如果您喜欢本站,请您多多向您的朋友推荐,相信有您的支持我们会做得更好! 今天是
您当前位置: 范文论文吧 >> 免费论文 >> 计算机论文 >> 当前信息
站内搜索

栏目导航
计算机论文 电子商务论文
法律论文 经济论文
会计论文 金融论文
教育论文 工商管理论文
行政管理论文 企业管理论文
酒店管理论文 工程造价论文
桥梁建筑论文 国际贸易论文
商场营销论文 医学论文
药学论文 经济学论文
质量管理论文 物流管理论文
成本管理论文 工资管理论文
薪酬管理论文 德育论文
师德论文 英语论文
物理论文 化学论文
语文论文 数学论文
政治论文 地理论文
历史论文 科技论文
毕业论文写作 毕业论文范文
毕业论文格式 教学论文
相关文章
热门文章

利用OpenGL实现内插算法可视化

作者:计算机应用论文_计算机论文_工学论文  来源:范文论文吧  发布时间:2008-5-6 13:02:20  发布人:admin

减小字体增大字体

 摘  要   OpenGL是一种交互式计算机图形系统,具有绘制三维图形的功能,能高效地编写出可操纵图形硬件的程序,支持三维可视化的实现。本文以OpenGL为基础,对可视化技术进行研究,重点讨论了内插算法,结合OpenGL中视点的定义,通过OpenGL的函数来实现。
    关键词  OpenGL  可视化  内插算法
 

1  引言

    为了便于对算法实现进行测试和效果分析,我们依据图1进行离散点采样。在图1中,地形面积为 ,其等高线分布如图所示,A点和B点为两座山的顶峰,其中A点高程值为3.6,B点高程值为2.3。我们将采样得到的离散点按照一定的规则存放在*.dem的文件中,通过读取文件中的数据来获取离散点的高程值。我们通过采样10或20个点生成 的DEM格网模型。
图1 测试地形等高线图

2  内插算法的可视化的实现

2.1  读取文件中离散点数据

    离散点数据包括平面位置和高程两种信息,可以直接在野外通过全站仪或者GPS、激光测距仪等进行测量,也可以间接地从航空影像或者遥感图象以及既有地形图上得到。具体采用何种数据源和相应的测量技术,一方面取决于这些源数据的可获得性,另一方面也取决于DEM的分辨率、精度要求、数据量大小和技术要求等。
    对于离散点的数据,往往是很大的,我们只有按照一定数据结构存储在*.dem文件中,才能便于管理和修改。在程序中通过读取文件,可以得到任意一个文件中的地形信息。为了测试的需要,依据图1中的等高线我们可以采集到一些特征点的三维信息。例如,我们采集10个点的信息,将其存入文件中,其结构如下所示:
10   0.0  0.0  0.0  10.0 10.0 10.0 10.0 0.0  0.0  3.6  3.0  7.1  3.6  7.1  3.0  2.3  5.5  5.5  1.4  5.7  8.0  1.0  8.0  8.0  0.5  9.0  2.0  1.3  6.0  1.2  1.0  5.0  4.0  1.0  1.0  7.2  2.0  2.0  2.0  0.3 
    在实例中每个数据按照5个字符来存储。第一个数据为采样离散点的总数,第二到第九个数据分别为所选地形左下、左上、右上、右下点的平面X和Y的坐标,第十和第十一个数据为地形的最小高程值和最大高程值,余下的数据每三个为采样离散点的三维坐标X、Y和Z,共有十个。
    在LoadFileData类中,需要先定义如下:
public int DataNum; //离散点的总数
public double[,] DataPoint=new double [50,3]; //离散数据点的三维坐标
int readDemPosition;  // 读取位置
string DemFileContent;  //DEM文件内容
public struct Point
{
public double x;
   public double y;
}
public struct DEMStruct
{
public Point  LeftBottom;
public Point  LeftTop;
      public Point  RightTop;
        public Point  RightBottom;
        public double MinElevation;
        public double MaxElevation;
}
    public DEMStruct DemDataStruct;//存储*.dem文件中前十一个数据
    同时在主程序中,还需要调用如下两个读取int型和double型的函数:
private int readInt()
     {
         string tmps ;
         tmps = DemFileContent.Substring(readDemPosition,5);
         readDemPosition += 5;
         return ( Convert.ToInt32(tmps));
     }
     private double readDouble()
     {
         string tmps;
         tmps = DemFileContent.Substring(readDemPosition,5);
         readDemPosition += 5;
         return (Convert.ToDouble(tmps));
    
}
    通过读取文件中的数据,我们可以很容易的得到地图的四边、地图中心点坐标和最大与最小高层差,以便在绘制地形时确定屏幕的显示位置和鼠标控制的缩放和移动比例。

2.2  利用OpenGL实现算法的可视化

    Open GL是Open Graphics Library 的缩写,它是SGI公司开发的一套高性能图形处理系统,是图形硬件的软件接口,意为开放的图形库。通过OpenGL程序员可以创建交互式的目前已成为业界标准。 OpenGL被设计成独立于硬件,独立于窗口系统的,在运行各种操作系统的各种计算机上都可用,并能在网络环境下以客户/服务器模式工作,是专业图形处理、科学计算等高端应用领域的标准图形库。
  
转贴于 范文论文吧 http://www.fwlw8.com

[1] [2]  下一页

         
∷相关范文评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
搜索关键词:范文、论文、小说、手机、总结、报告、演讲稿、发言稿、试题、试卷、高考、英语、大学英语三级成绩查询、大学英语四级成绩查询、大学英语六级成绩查询、计算机等级考试、计算机3级成绩查询、计算机4级成绩查询、大学招生、研究生招生、招生信息、招生政策、创业贷款、情书范文、祝福短信、搞笑短信、自我介绍、自我评价等!
免责声明
1、本站部分内容是转载自其它站点或其它媒体,其版权归原文作者、版权声明者、或原文存放站点所有,如果需要转载或引用,请注明原文出处及连接。
2、本站的所有内容不得用于商业目的,使用者应对其行为承担一切后果,本站不负任何责任。
3、如果本站有涉及您版权的内容请点此[告知我们], 我们会尽快作出相处理。

Copyright © 2006- 范文论文吧 All Rights Reserved
本站部分资源出自其他站点或媒体、版权归原创作者所有、本站仅作学习参考、如有涉及您版权的内容请[来信告知]
营业证号: 黔ICP备06004583号