欢迎来到天天文库
浏览记录
ID:18589944
大小:287.04 KB
页数:8页
时间:2018-09-19
《基于人机工程学的联轴器防护设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于三角网生长法的Delaunay三角网生成算法***************【摘要】论文简要介绍了Delaunay三角网的性质以及基本生成算法,并重点介绍了三角网生长法的基本原理和算法步骤,并通过设计合理的数据结构,对算法进行实现。对算法进行分析并提出通过构建格网索引,进一步提高三角网生成效率。【关键词】三角网生长法扩展TIN格网索引1.引言数字地形模型DTM(DigitalTerrainModel)是指对地形表面形态属性信息的数字表达,是带有空间位置特征和地形属性特征的数字描述[1]。DTM是GIS的基础数
2、据来源,可用于土地利用现状的分析、合理规划及洪水险情预报等。DTM地形属性为高程时称为数字高程模型(DEM)。DEM主要的三种表示模型为规则格网模型、等高线模型、不规则三角网模型(TriangularIrregularNetwork简称TIN)。数字化等高线模型不适合计算坡度或制作地貌渲染图等地形分析,规则格网数据结构简单,计算方便;但存在数据冗余,数据采集较麻烦,难以表达复杂地形等缺陷。TIN即能够避免平坦地形时数据冗余,也能表达复杂地形,可以根据任意地形特征点表示DEM,因此被广泛应用。Delaunay三角
3、剖分能最大程度的接近等边三角形,避免狭长三角形,并且能保持三角网的唯一性,使其成为生成TIN的最佳选择。本论文将简要介绍和比较几种常用的Delaunay三角网生成算法(逐点插入法,三角网生长法,分割合并算法等),并且对三角网生长法算法原理进行研究分析和程序实现。2.Delaunay三角网的性质Delaunay三角网中的三角形必须满足以下几个性质:(1)空圆特性每一个Delaunay三角形的外接圆不包括Delaunay三角网中的任何其他点。(1)最大最小角特性在三角剖分中,Delaunay三角网的所有三角形的最小
4、角之和最大。即使得Delaunay三角形最大程度接近等边三角形。(2)唯一性对于一组离散点,若不存在四点共圆的情况,离散点构成的Delaunay三角网是唯一的。1.Delaunay三角网生成算法介绍Delaunay三角网的生成常用算法有逐点插入法,分割合并算法,三角网生长法。生成三角网的算法不同在于初始三角网的生成以及三角网的扩展方法。3.1逐点插入法逐点插入算法的基本思想是,在包含所有数据点的多边形中建立初始三角形,然后将余下的点进行逐一插入,查找该点所在的三角形,将该点与三角形的三顶点进行连接,生成三个新的
5、三角形,用LOP算法优化三角网确保其成为Delaunay三角网。所谓LOP优化算法是为了生成的三角形符合Delaunay三角形的空圆特性,最大最小角性,唯一性。其主要做法为:(1)将两个具有公共边的三角形合并成一个四边形(2)用空圆特性检查三角形,若四边形的第四点(除检查三角形的三点外)若在三角形的外接圆之内,就对四边形对角线进行对调处理。若不在,则不做处理。3.2分割合并算法分割合并算法的基本思想是把点集进行划分到足够小,使其易于生成三角网,用LOP算法对子集进行优化,保证其成为Delaunay三角网,最后合
6、并子集生成最终的三角网。3.3三角网生长法三角网生长法的基本思想是先建立初始三角形,然后以初始三角形的三条边作为种子,分别“生长”出新的三角形,将新的三角形的三边又作为种子,依次生长新三角形。生长的新三角形必须是Delaunay三角形,故得满足空圆特性和最大最小角特性,因此按照这两个特性来生长Delaunay三角形。具体算法原理,算法步骤,算法实现以及改进将在后续详细讲述。3.4几种算法的比较逐点插入算法和分割合并算法都较之三角网生长法,效率高。三角网生长法,虽每次都是生成Delaunay三角形,但是每次都得遍
7、历剩余的所有点,搜索到符合条件的第三点。因此效率不高,故可以通过改进其点的搜索策略来提高其生成效率。逐点插入法,在三角网生成后期,随着点数的增多,其会使得三角形生成速率大大降低。分割合并思想较之前面两种算法最好,但是其精髓在于如何合理分块,如何快速有效得进行子网合并和优化。除了上述三种生成算法,还有凸包法,分治算法等,具体可以参照相关文献。1.三角网生成算法4.1算法原理三角网生长算法是在生成的初始三角形的基础上扩展三角网,初始三角形通过选择最短边和与最短边构成最大角的点构成第一个三角形,然后取第一个三角形的三
8、条边按照Delaunay三角网的特性进行扩展三角网。4.2算法实现对于算法的程序实现,主要需要考虑如何设计合理的数据结构,算理清法步骤,掌握程序语言。以下将从数据结构,算法步骤以及程序问题逐一进行阐述。4.2.1数据结构算法的实现以及算法的执行效率与设计的数据结构有密切的关系,一个良好的数据结构有利于对数据进行高效的管理(存储和检索),从而提高算法的执行效率。(1)离散点结构离散点主要
此文档下载收益归作者所有