快速不规则三角网生成方法

文档序号:6571020阅读:3800来源:国知局
专利名称:快速不规则三角网生成方法
技术领域
本发明涉及到一种由散点数据生成不规则三角网的方法,属于计算机图形学领域。更确切的说,本发明涉及将散点数据根据参数自动划分成数据块进行局部三角网生成,然后融合局部三角网成为初始整体三角网并对初始整体三角网进行优化生成不规则三角网的方法及其软件。
背景技术
由散点集经过三角剖分联结而成的满足一定要求的三角网称为不规则三角网由于其适应性好,在测绘,遥感,农业,水利,土地和地学分析各个领域得到了广泛应用。但是由于实际情况复杂,实际数据量又十分庞大,所以,长期以来如何对散点数据进行快速三角剖分一直是研究热点之一。人们对三角剖分方法进行了大量研究,提出了各种构造方法,如先构造Voronoi图,再构造Delaunay三角形的两步法;已经再对平面散乱点集进行三角化过程中,以有向基边相对角度最大化为准则搜索新点法等等。归纳而言现在的不规则三角网生成方法主要有边扩展法,点插入法,递归分割法等,以及它们的改进方法,简要介绍如下边扩展法先任找一个点,找离它距离最近的点连成一个边,以该边为基础,遵循角度最大原则或距离最小原则找到第三个点,形成初始三角形,以该三角形的三条边为基础,遵循同样的原则向外扩展,直到不能扩展为止,在生成三角网后调用局部优化方法使之最优。
点插入法先生成离散点的外凸多边形,然后内部用三角形分割之,判断其余的点分别落在哪个三角形内,以该点为顶点,把所在的三角形一分为三,直到所有的点都插入为止,然后调用局部优化方法,把三角网调整到最优。
分治法先将离散点按先横坐标后纵坐标(反过来也可)进行排序,然后将其分割成点数大致相等的两个部分,两部分又各自再分割成两部分,直到子集中只包含三个点而形成三角形,然后自下而上地逐级合并生成最终的三角网,用局部优化方法优化所生成的三角网,使之成为最优。
这些方法大部分是通过对三角网的边为基础进行扩展,当扩展任一个边为三角形的时候,要对尚未处理到的所有点进行判断,从而大大影响了不规则三角网的生成速度。此外,目前提出的以有序点为着眼点的三角化方法中,由于存在排序操作问题,以及大量的交点测试以及优化的不合理,从而使得三角化效率也不高。基于分治的方法虽然将全部散点分割成不同部分,分别进行处理,但是由于被处理散点数据的不规则性,导致局部三角网融和方法要处理各种情况,计算复杂从而导致三角网生成速度仍然不够快。此外由于在实际采样过程中,相邻采样点的最小距离和最大距离往往是已知的,如何利用这些潜在的已知信息来加速三角网的生成也是已有算法没有考虑的。

发明内容
提出了一种快速的不规则三角网生成方法并包括将不规则散点进行三角剖分生成不规则三角网的软件。本发明中方法具有数据预处理,局部三角网生成,局部三角网融合,整体初始三角网优化四个环节。说明如下预处理环节通过比较与中心点的位置关系将各个散点分配到数据块矩阵各个单元数据块,同时每个数据块对其块中的散点数据按照先行后列扫描方式予以排序;局部三角网生成环节利用数据块中数据点的排序顺序,按照采用凸包技术对每个数据块中的散点数据生成局部三角网及其外围多边形;局部三角网融合环节是利用凸包技术对数据块矩阵中每行的局部数据块三角网进行融和,生成行三角网及其外围多边形,然后,融合行三角网为整体初始三角网;最后一个环节是整体初始三角网优化环节,这个环节采用考虑相邻点最大距离阈值的最小角最大化原则进行优化,形成最终的符合Delaunay法则的不规则三角网。
此外,通过设置相邻点最大距离阈值参数,用户可以控制生成的三角网形态。


图1展示了一个待剖分散点集(局部)。
图2展示了在某一相邻点最大距离阈值参数下的对该点集的生成的三角网(局部)。
图3展示了在另一相邻点最大距离阈值参数下的对该点集的生成的三角网(局部)。
图4是本方法的方框图。
图5是基于本方法开发的方法验证系统框图。
通过图2,图3可以看出,在同样的散点集合上(如图1所示),通过设置不同的相邻点最大距离阈值参数就可以控制最终生成的三角网形态。
以下对图4本方法的方框图中各个步骤的进一步的描述(1)在步骤1,根据用户设定或由系统根据统计学原理,对数据集合进行采样分析,根据数据集合的分布情况和期望数据块中应该包含的数据点数,估计出原点坐标和数据块边长,逻辑上将数据点所在的平面划分成排列整齐的数据块矩阵。然后根据数据点的坐标将其分配到各个数据块中。在这个分配环节中,当数据点分配到数据块中时,数据块维持一个先行后列扫描顺序的数据点序列。
(2)数据点都分配到数据块后,进行步骤2的操作,对各个数据块中数据按照其在数据点序列中的顺序进行有序三角剖分。形成局部三角网及其外围多边形。并确保最终的局部三角网外围多边形为凸包。该方法首先找到排序后散点队列中可以生成第一个三角形的相邻的三个点Pi,Pi+1,Pi+2生成当前三角网外围多边形,然后按照顺序将点加入到当前三角网外围多边形中,利用这些点分布的顺序性,当前要处理的散点一定分布在当前三角网外围多边形的外面。可以快速定位要加入点所对应的当前三角网外围多边形的基边,这样不断将同一数据块中的散点加入到当前三角网。只在每行数据处理完后修正当前三角网外围多边形为凸包。对于各个数据块重复这一个过程,由于数据分布的随机性,有的数据块中的数据可能为空,要么数据块中的各个散点排列为一条直线,这些都可以当成特殊情况处理。不必像其他方法那样必须合并数据块。
(3)在步骤3,利用同一行数据块的左右关系,将同行相连的数据块中的三角网外围多边形进行融和。由于数据块的位置关系,右侧数据块中的三角网外围多边形上的点一定分布在左侧数据块中的三角网外围多边形上的点的右侧,利用这一关系可以很容易找到两个多边形的上下支撑线,利用上下支撑线和左右两侧数据块中的三角网外围多边形的部分边,就围成了一个只能在上下支撑线处进行剖分的凹多边形。只对其在上下支撑线处进行剖分就可以融和左右两个数据块中的三角网。对同一行中的各个数据块进行同样的操作就可以融和出行三角网以及外围多边形,在融合过程中记录行局部三角网的外围多边形的凹点的以此将行多边形的外围多边形的边分解成若干个凸边组。
(4)在步骤4,当各个行三角网及其外围多边形生成之后,对于数据块矩阵中相邻行多边形利用凸包融合技术融合相对应的凸边组。形成整体初始三角网。
(5)在步骤5,利用考虑相邻点最大距离阈值的局部优化方法,确保三角网中的连接出最多的三角形,尽可能减少空洞的产生;同时采用最小角最大化原则进行优化,形成最终的符合Delaunay法则的不规则三角网(TIN)。
我们结合软件具体实现方式,开发了验证系统。图5就是方法验证系统的框图。框图中各个模块从上到下依次工作,就可以对一个散点数据集合完成不规则三角网的生成工作。
具体实施例方式
基于本发明方法开发了方法验证系统,该系统包括用户输入参数接口,数据预处理模块,数据块局部三角网生成模块,行三角网及其外围多边形生成模块,全局初始三角网生成模块,考虑相邻点最大距离阈值的采用最小角最大化原则三角网优化模块,结果返回接口,用来返回生成的不规则三角网中各个三角形的顶点坐标索引。系统各个模块调用次序如图5所示,并详细说明如下首先系统调用用户输入参数接口,接收用户输入的各种参数,包括用来设置原点坐标,相邻点最大距离阈值,数据块散点队列初始长度和散点数据等。如果用户不输入具体参数,则由系统根据数据集自动设置这些参数。在这个部分,系统生成基本数据结构,并设置各种参数。
然后,系统调用数据预处理模块,将数据点分配到数据块矩阵中的各个数据块单元。数据块矩阵大小是动态的,根据实际输入点的分布数据块矩阵进行动态调整,目标就是将所有数据点都分配到各自的数据块中。在数据点分配到数据块的过程中,每个数据块维持一个先行后列扫描顺序的采用堆排序方法排序的块中数据点的队列。
全部数据点都分配到各自的数据块后,系统调用数据块局部三角网生成模块,对各个数据块中数据按照其在数据点序列中的顺序进行有序三角剖分。先找到队列中最初不共线的三个点生成初始多三角网及其外围多边形,然后依次将队列中的点与当前局部三角网外围多边形中一个边形成新三角网,扩展局部三角网及其外围多边形。并确保最终的局部三角网外围多边形为凸包。
所有数据块中的局部三角网及其外围多边形生成完毕后,系统调用行三角网及其外围多边形生成模块,对数据块矩阵中同行的局部三角网利用凸包技术进行融合。生成行三角网及其外围多边形。在融合过程中记录行局部三角网的外围多边形的凹点的以此将行多边形的外围多边形的边分解成若干个凸边组。
对数据块矩阵中所有行三角网及其外围多边形生成完毕后,系统调用全局初始三角网生成模块,对数据块矩阵中相邻行多边形利用凸包融合技术融合相对应的凸边组,生成整体初始三角网。
接着,系统调用三角网优化模块,对于整体初始三角网采用考虑相邻点最大距离阈值的局部优化方法,确保三角网中的连接出最多的三角形,减少空洞的产生;同时采用最小角最大化原则进行优化,生成最终的符合Delaunay法则的不规则三角网(TIN)。
最后系统调用结果返回接口,将不规则三角网(TIN)各个三角形的顶点坐标索引返回给用户。
本方法经过系统原型的具体实施,验证了方法的有效性。由于采用分块技术,导致局部排序操作的时间消耗较整体数据点排序时间消耗减小。此外在将局部三角网融合成整体三角网的过程中,通过记录凹点,将非凸包划分成若干凸边组,然后充分利用凸包融合技术,彻底避免了其他不规则三角网生成方法中的交点测试,可以缩短不规则三角网的构建时间,提高不规则三角网的构建速度。
权利要求
1.一种由任意数据点生成不规则三角网的方法,其特征在于方法具体如下首先将数据点根据输入的参数划分成数据块;其次,对于各个数据块中数据按照行扫描方式进行排序,并按照排序后的顺序生成局部三角网;然后,先对同行的数据块中的相邻局部三角网进行融合,形成行局部三角网,在对相邻行三角网进行融合,形成整体初始三角网;最后,对于整体三角网采用考虑相邻点最大距离阈值的最小角最大化原则进行优化,形成最终的符合Delaunay法则的不规则三角网(TIN)。
2.对于权利要求1的这种生成不规则三角网(TIN)的方法,其特征是以下对方法所作的进一步的描述(1)由用户设定或由系统默认设置参数后,将数据点分配到所在的空间区域形成若干数据块。(2)对数据块中的数据点按照行扫描方式进行排序,按照点的扫描顺序生成局部三角网。(3)进行融合操作,首先对同行的局部三角网进行相互融合,生成行局部三角网;然后对各个相邻的行局部三角网进行融合,生成初始整体三角网。(4)对于整体三角网采用考虑相邻点最大距离阈值的最小角最大化原则进行优化,形成最终的符合Delaunay法则的不规则三角网(TIN)。
3.根据权利要求2描述的这种不规则三角网(TIN)的生成方法,其特征是在生成数据块的方面,根据用户设定或由系统根据统计学原理,对数据集合进行采样分析,根据数据集合的分布情况和期望数据块中应该包含的数据点数,估计出原点坐标和数据块边长,将数据点所分布的平面逻辑上分成排列整齐的数据块矩阵,数据点根据其与原点的相对位置,被分配到其所在的数据块中。
4.根据权利要求2描述的这种不规则三角网(TIN)的生成方法,其特征是在各个数据块中局部三角形及其外围多边形生成完毕后,利用凸包技术对数据块矩阵中同行的数据块中的三角网进行融合操作。形成行局部三角网及其外围多边形。在融合过程中记录行局部三角网的外围多边形的凹点的以此将行多边形的外围多边形的边分解成若干个凸边组。
5.根据权利要求2描述的这种不规则三角网(TIN)的生成方法,其特征是当各个行三角网及其外围多边形生成之后,对于数据块矩阵中相邻行多边形利用凸包融合技术融合相对应的凸边组。形成整体初始三角网。
6.根据权利要求2描述的这种不规则三角网(TIN)的生成方法,其特征是考虑相邻点最大距离阈值的局部优化方法,确保三角网中的连接出最多的三角形,尽可能减少空洞的产生;同时采用最小角最大化原则进行优化,形成最终的符合Delaunay法则的不规则三角网(TIN)
全文摘要
本发明快速不规则三角网生成方法属于计算机图形学领域中的一项支柱性技术,可以广泛应用于地理信息系统、地质勘探等多种领域。具体包括数据点自动分块方法、局部三角网生成方法、局部三角网融合方法、考虑相邻点最大距离阈值的最小角最大化原则优化方法四个部分以及利用本方法的软件。本方法避免了其他不规则三角网生成方法中交点测试等耗时操作,缩短不规则三角网的构建时间,提高不规则三角网的构建速度,还可以通过相邻点最大距离阈值参数控制最终生成的三角网形态。
文档编号G06T17/00GK101046893SQ20071000255
公开日2007年10月3日 申请日期2007年1月26日 优先权日2007年1月26日
发明者瞿春松 申请人:北京国泰清济科技发展有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1