一种基于分区的Delaunay三角网生长算法制造技术

技术编号:15438418 阅读:135 留言:0更新日期:2017-05-26 04:20
本发明专利技术公开了一种基于分区的Delaunay三角网生长算法,包括确定离散点集的最小矩形包围盒,确定离散点在水平和垂直方向的平均距离,确定矩形环内离散点数范围,生成初始矩形环,完成离散点最小矩形包围盒的划分,基于矩形环集合进行初始构网,完成所有离散点的构网及优化生成的三角网。本发明专利技术数据运算处理效率高,数据处理过程客观公正,受人为因素影响小,同时一方面可有效的提高数据运算工作的工作效率,另一方面可有效的保证Delaunay三角网生成运算工作的计算精度,确保Delaunay三角网生成的工作效率和可靠性。

A Delaunay triangulation growth algorithm based on partitioning

The invention discloses a growth algorithm of Delaunay triangulation based on partition, including the smallest rectangle determined discrete point set of bounding box, determine the average distance of discrete points in horizontal and vertical direction, determine the rectangular ring within the range of discrete points, the initial rectangle ring, partition of discrete point minimum rectangular bounding box, rectangular ring set the initial network configuration based on the completion of all the discrete points of the triangle net structure and optimization of generation. The data processing efficiency is high, the data processing process objectively and impartially, less affected by human factors, and can improve the operation data of effective work efficiency, can effectively guarantee the accuracy of Delaunay triangulation algorithm on the other hand, to ensure the Delaunay triangulation of the work efficiency and reliability.

【技术实现步骤摘要】
一种基于分区的Delaunay三角网生长算法
本专利技术为一种基于分区的Delaunay三角网生长算法,主要涉及构网区域划分以及基于分区的逐渐构网
技术介绍
不规则三角网(Triangulatedirregularnetwork)作为对二维平面域内任意离散点集构网的一种图形表现手段和分析工具,具有几何结构良好、数据结构简单的特点,并且和规则格网相比对不规则区域数据点分布适应能力更强,因此在地学、有限元分析等领域得到了广泛的应用,而以上应用的关键就在于如何更好的对离散点进行三角剖分并构网,Delaunay三角网因其构网的唯一性和合理性使得其被应用在TIN的生成上。随着Delaunay三角剖分法的广泛应用,近几十年来该算法得到了广大学者的关注和研究,产生了许多成熟的三角网剖分算法,其中主流的算法有三角网分治算法、逐点插入算法、三角网生长算法。分治法通过将点集区域递归划分构建子网,而后进行子网合并生成最终的三角网,构网效率较高但是算法设计复杂且在递归过程中占用较多的内存,逐点插入算法主要在生成初始三角网的基础上,进行逐点插入的形式构建三角网,具有算法实现简单,占用内存少的特点,但是随着三角网的增多判断插入点所在的三角形就会占据大量的时间,因此构网效率并不高。三角网生长算法主要是基于基边寻找第三点构建三角网的过程,和分治算法相比实现简单,不用进行大量子网的递归生成与合并,和逐点插入法相比有着同样的缺点就是算法的实现效率不高特别是在离散点较多的时候,需要花费大量的时间检索合适的第三点。综上所述,为了提高构网作业的工作效率和保证构网的正确性,迫切需要开发一种改进的Delaunay三角网生长算法,以满足实际使用的需要。因此这里基于生长算法进行构网,并考虑如何减少花费在检索合适的第三点的时间,以提高生长算法构网的效率同时保证构网的正确性。
技术实现思路
本专利技术的目的是要提供一种基于分区的Delaunay三角网生长算法。为达到上述目的,本专利技术是按照以下技术方案实施的:一种基于分区的Delaunay三角网生长算法,包括如下步骤:第一步、确定离散点集的最小矩形包围盒,导入采集得到的n个离散点坐标形式如p(x,y)的点数据,存储在离散点集合中,设水平方向为X轴,水平向右为正方向,垂直方向为Y轴,垂直向上为正方向,比较离散点集合中所有点的x坐标值得到最小最大x分别为xmin、xmax,同时比较所有点的y坐标值得到最小最大y坐标值分别为ymin、ymax,根据xmin、xmax、ymin、ymax得到最小矩形包围盒四个角点的坐标值,分别为a(xmin,ymin)在左下角,b(xmax,ymax)在右上角,c(xmin,ymax)在左上角,d(xmax,ymin)在右下角;第二步、确定离散点在水平和垂直方向的平均距离,根据xmin与xmax差值的绝对值得到最小矩形包围盒在水平方向上的长度dx,ymin与ymax的差值的绝对值得到最小矩形包围盒在垂直方向上的长度dy,根据dx与dy的积得到最小矩形包围盒的面积S,面积和离散点数量的比值得到每个离散点所占据的平均面积,开平方后得到每个点占据的空间的长度,作为任意两点之间的平均距离d:设d为离散点在水平方向上的平均距离ax,根据dx和dy的比值,以及离散点在水平方向上的平均距离ax计算得到离散点在垂直方向上的平均距离ay:第三步、确定矩形环内离散点数范围,设n个离散点均匀分布在一个正方形区域内,将该正方形区域规则的划分为行和列即正方形区域由一系列的小正方形构成,生成的规则格网中的每个小正方形内包含一个离散点,每行或者每列包含个离散点,第二步中得到的d:离散点之间的平均距离即每个小正方形的边长长度,将第1行、第行、第1列、第列所在的区域的并集设为一个矩形环即规则格网的最外围,则该矩形环中包含约个离散点,和个离散点所在的小正方形相邻的内部小正方形的集合中的小正方形的数量将小于等于则由外到内依次计算和内部小正方形集合中的小正方形相邻的内部小正方形集合中小正方形的数量即离散点的数量,当n为偶数时最内部的小正方形集合中小正方形的数量即离散点的数量为4,当n为奇数时最内部的小正方形集合中小正方形的数量即离散点的数量为1,可知在行宽列宽都为一个离散点平均距离时,依次得到的内部小正方形集合中包含的离散点数最多为对于不规则分布的n个离散点的最小矩形包围盒,如果同样划分为行和列,按照上面同样的方法依次计算内部小矩形集合中小矩形的数量和所包含的离散点的数量,可知离散点的分布将极大地不均匀,因此为了保证划分后依次计算得到的内部小矩形集合中都包含一定数量的离散点,可知内部小矩形集合占据的区域内最多只能分布个离散点,才能保证其他的内部小矩形集合中有适当数量的离散点,因此设内部小矩形集合对应的区域的并集即一个矩形环中最多包含个离散点,为了方便基于分区的Delaunay三角网生长算法时间复杂度的计算,将最小离散点数设为第四步、生成初始矩形环,将最小矩形包围盒作为初始矩形环的外边界,ax、ay作为外边界内缩生成内边界时在水平方向和垂直方向上的步长,将外边界四个角点的x坐标值内缩一个水平方向上的步长,y坐标值内缩一个垂直方向上的步长,生成四个角点,四个角点顺时针构成初始矩形环的内边界,根据外边界四个角点的坐标值,比较得到外边界的最小和最大的x、y坐标值,分别为xextermin、xextermax、yextermin、yextermax,同理得到内边界四个角点的最小最大x、y坐标值,分别为xinnermin、xinnermax、yinnermin、yinnermax,取离散点集合中的一点p(x,y),若xextermin≤x<xinnermin或xinnermax<x≤xextermax,且yinnermax≤y<yextermax或yextermin≤y<yinnermin,则说明该点在初始矩形环内,遍历离散点集合中的所有离散点,重复以上离散点坐标值判断过程,得到所有在初始矩形环内的离散点,设缩放系数k,在0.25-2之间,k×ax作为内边界缩放时在水平方形上的步长,k×ay作为在垂直方向上的步长。若离散点数小于则将内边界四个角点的x坐标值内缩一个水平方形上的步长,y坐标值内缩一个垂直方向上的步长,若离散点数大于则将内边界四个角点的x坐标值外放一个水平方形上的步长,y坐标值外放一个垂直方向上的步长,初始矩形环的内边界角点坐标调整后,重复以上判断所有离散点是否在初始矩形环内的过程,计算初始矩形环包含的点数,若该点数在最小点数与最大点数之间,则符合条件。若不在最小点数与最大点数之间,则根据以上改变初始矩形环内边界坐标值的计算过程,在已改变的初始矩形环内边界角点坐标的基础上再次改变初始矩形环的内边界坐标值,判断在初始矩形环中的离散点的点数,重复以上过程,直至初始矩形环内的点数在最小点数与最大点数之间,生成初始矩形环,将其加载到矩形环集合中;第五步、完成离散点最小矩形包围盒的划分,将初始矩形环的内边界设为下一个将要生成的矩形环的外边界,根据第四步中生成矩形环内边界的过程生成该新矩形环的初始内边界,计算在当前新生成的矩形环内的离散点数,判断离散点数是否在最小点数和最大点数之间,若不在,则根据情况重复第本文档来自技高网
...
一种基于分区的Delaunay三角网生长算法

【技术保护点】
一种基于分区的Delaunay三角网生长算法,其特征在于,所述的基于分区的Delaunay三角网生长算法包括如下步骤:第一步、确定离散点集的最小矩形包围盒,导入采集得到的n个离散点坐标形式如p(x,y)的点数据,存储在离散点集合中,设水平方向为X轴,水平向右为正方向,垂直方向为Y轴,垂直向上为正方向,比较离散点集合中所有点的x坐标值得到最小最大x分别为x

【技术特征摘要】
1.一种基于分区的Delaunay三角网生长算法,其特征在于,所述的基于分区的Delaunay三角网生长算法包括如下步骤:第一步、确定离散点集的最小矩形包围盒,导入采集得到的n个离散点坐标形式如p(x,y)的点数据,存储在离散点集合中,设水平方向为X轴,水平向右为正方向,垂直方向为Y轴,垂直向上为正方向,比较离散点集合中所有点的x坐标值得到最小最大x分别为xmin、xmax,同时比较所有点的y坐标值得到最小最大y坐标值分别为ymin、ymax,根据xmin、xmax、ymin、ymax得到最小矩形包围盒四个角点的坐标值,分别为a(xmin,ymin)在左下角,b(xmax,ymax)在右上角,c(xmin,ymax)在左上角,d(xmax,ymin)在右下角;第二步、确定离散点在水平和垂直方向的平均距离,根据xmin与xmax差值的绝对值得到最小矩形包围盒在水平方向上的长度dx,ymin与ymax的差值的绝对值得到最小矩形包围盒在垂直方向上的长度dy,根据dx与dy的积得到最小矩形包围盒的面积S,面积和离散点数量的比值得到每个离散点所占据的平均面积,开平方后得到每个点占据的空间的长度,作为任意两点之间的平均距离d:设d为离散点在水平方向上的平均距离ax,根据dx和dy的比值,以及离散点在水平方向上的平均距离ax计算得到离散点在垂直方向上的平均距离ay:第三步、确定矩形环内离散点数范围,设n个离散点均匀分布在一个正方形区域内,将该正方形区域规则的划分为行和列即正方形区域由一系列的小正方形构成,生成的规则格网中的每个小正方形内包含一个离散点,每行或者每列包含个离散点,第二步中得到的d:离散点之间的平均距离即每个小正方形的边长长度,将第1行、第行、第1列、第列所在的区域的并集设为一个矩形环即规则格网的最外围,则该矩形环中包含约个离散点,和个离散点所在的小正方形相邻的内部小正方形的集合中的小正方形的数量将小于等于则由外到内依次计算和内部小正方形集合中的小正方形相邻的内部小正方形集合中小正方形的数量即离散点的数量,当n为偶数时最内部的小正方形集合中小正方形的数量即离散点的数量为4,当n为奇数时最内部的小正方形集合中小正方形的数量即离散点的数量为1,可知在行宽列宽都为一个离散点平均距离时,依次得到的内部小正方形集合中包含的离散点数最多为对于不规则分布的n个离散点的最小矩形包围盒,如果同样划分为行和列,按照上面同样的方法依次计算内部小矩形集合中小矩形的数量和所包含的离散点的数量,可知离散点的分布将极大地不均匀,因此为了保证划分后依次计算得到的内部小矩形集合中都包含一定数量的离散点,可知内部小矩形集合占据的区域内最多只能分布个离散点,才能保证其他的内部小矩形集合中有适当数量的离散点,因此设内部小矩形集合对应的区域的并集即一个矩形环中最多包含个离散点,为了方便基于分区的Delaunay三角网生长算法时间复杂度的计算,将最小离散点数设为第四步、生成初始矩形环,将最小矩形包围盒作为初始矩形环的外边界,ax、ay作为外边界内缩生成内边界时在水平方向和垂直方向上的步长,将外边界四个角点的x坐标值内缩一个水平方向上的步长,y坐标值内缩一个垂直方向上的步长,生成四个角点,四个角点顺时针构成初始矩形环的内边界,根据外边界四个角点的坐标值,比较得到外边界的最小和最大的x、y坐标值,分别为xextermin、xextermax、yextermin、yextermax,同理得到内边界四个角点的最小最大x、y坐标值,分别为xinnermin、xinnermax、yinnermin、yinnermax,取离散点集合中的一点p(x,y),若xextermin≤x<xinnermin或xinnermax<x≤xextermax,且yinnermax≤y<yextermax或yextermin≤y<yinnermin,则说明该点在初始矩形环内,遍历离散点集合中的所有离散点,重复以上离散点坐标值判断过程,得到所有在初始矩形环内的离散点,设缩放系数k,在0.25-2之间,k×ax作为内边界缩放时在水平方形上的步长,k×ay作为在垂直方向上的步长。若离散点数小于则将内边界四个角点的x坐标值内缩一个水平方形上的步长,y坐标值内缩一个垂直方向上的步长,若离散点数大于则将内边界四个角点的x坐标值外放一个水平方形上的步长,y坐标值外放一个垂直方向上的步长,初始矩形环的内边界角点坐标调整后,重复以上判断所有离散点是否在初始矩形环内的过程,计算初始矩形环包含的点数,若该点数在最小点数与最大点数之间,则符合条件。若不在最小点数与最大点数之间,则根据以上改变初始矩形环内边界坐标值的计算过程,在已改变的初始矩形环内边界角点坐标的基础上再次改变初始矩形环的内边界坐标值,判断在初始矩形环中的离散点的点数,重复以上过程,直至初始矩形环内的点数在最小点数与最大点数之间,生成初始矩形环,将其加载到矩形环集合中;第五步、完成离散点最小矩形包围盒的划分,将初始矩形环的内边界设为下一个将要生成的矩形环的外边界,根据第四步中生成矩形环内边界的过程生成该新矩形环的初始内边界,计算在当前新生成的矩形环内的离散点数,判断离散点数是否在最小点数和最大点数之间,若不在,则根据情况重复第四步中改变内边界坐标的计算过程,并判断在该新矩形环内的离散点的点数,直至新生成的矩形环内的离散点点数在最小点数和最大点数之间,将新生成的矩形环加载到矩形环集合中,根据初始矩形环、当前新生成的矩形环内的点数和离散点集合中的点数,计算剩余...

【专利技术属性】
技术研发人员:靳海亮李留磊李晓霞
申请(专利权)人:河南理工大学
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1