找论文网 > 计算机论文 > 计算机应用 >

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

为了便于我们后期的LOD地形简化,我们一般要将地形绘制成三角格网的形式。在绘制三角形时,由于地形不可能都是规则的长方形或正方形,考虑到一般地形的多样性和复杂性,不能够将点简单的连线。根据三角形的四种形式,每个构成三角形的点都先按照四边形的方式进行划分成四个点(如图2)。

 
图2 三角形四种情况下点的的划分

4
    在图中,三角形中必有一个点被两个编号所代表,然后按照1-2-4-1-3-4的顺序进行连接,必然能绘制出四种情况中的任何一种三角形。通过上述操作,可以实现程序能运用到所有地形的显示。

    程序代码如下:
private void DrawTriangle
(Point3D Point1, Point3D Point2, Point3D Point3, Point3D Point4 )
         {
     GL.glBegin(GL.GL_TRIANGLES);//开始绘三角形
     GL.glVertex3d(Point1.x, Point1.y, Point1.z);//从1起笔
     GL.glVertex3d(Point2.x, Point2.y, Point2.z);//画到2
     GL.glVertex3d(Point4.x, Point4.y, Point4.z); //画到4
     GL.glVertex3d(Point1.x, Point1.y, Point1.z); //画到1
     GL.glVertex3d(Point3.x, Point3.y, Point3.z); //画到3
     GL.glVertex3d(Point4.x, Point4.y, Point4.z); //画到4
     GL.glEnd();//完成一个三角形的绘制
}
    通过上述操作,可以将图2的点视图转化为三角形格网试图(如图3)。

 
(a)加权平均内插数学模型
(b)多面函数内插数学模型
(c)最小二乘内插数学模型
图3 利用搜索圆实现地形的三角形格网视图
3  结论
     在现实中,我们需要生成的地形往往是很庞大,很复杂的,因此不能够仅利用某一种算法和某一种搜索方式生成全部的地形。对于大范围的复杂地形,就必须先对地形按起伏程度进行区域分块,对不同的区域选择合适的算法和搜索方式。
参考文献
[1] Donald Hearn ,M.Pauline Baker .Computer Graphics [M].电子工业出版社,1998
[2] Edwward Angel.  OpenGL:A Primer Second Edition[M]. 北京:清华大学出版社,2005
[3 ] Dave Shreiner,Mason Woo等 OpenGL Programming Guide(Fourth Edition[M].)北京:人民邮电出版,2005
[4] 刘建永, 王源等. 战场环境信息学[M]. 理工大学工程兵工程学院 2002
[5] 张立强等. 三维地形数据的简化和空间分析的研究[J].  系统仿真学报, 2004.3

共2页: 上一页 [1] 2


一种结合混沌密码理论的彩色图像水印算法
SQL Server 2005数据加密技术应用研究
工商管理 | 工科论文 | 财务管理 | 管理学 | 公共管理 | 财政税收 | 证券金融 | 会计审计 | 计算机 | 法律论文 | 医药学 | 汉语言文学
社会论文 | 工科论文 | 理科论文 | 文化论文 | 艺术论文 | 文学论文 | 哲学论文 | 政治论文 | 英语论文 | 写作指导 | 计算机应用
www.zlunwen.com 找论文网 ® 版权所有 网站地图