收藏 分享(赏)

泰森多边形(Voronoi图)生成算法.doc

上传人:HR专家 文档编号:6754697 上传时间:2019-04-22 格式:DOC 页数:5 大小:66.50KB
下载 相关 举报
泰森多边形(Voronoi图)生成算法.doc_第1页
第1页 / 共5页
泰森多边形(Voronoi图)生成算法.doc_第2页
第2页 / 共5页
泰森多边形(Voronoi图)生成算法.doc_第3页
第3页 / 共5页
泰森多边形(Voronoi图)生成算法.doc_第4页
第4页 / 共5页
泰森多边形(Voronoi图)生成算法.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、泰森多边形(Voronoi 图) 生成算法作者 谢卫国 创建时间 2008-10-27审核人 审核时间 2008-10-27文档状态 草稿 文档版本 Ver 1.0审批人 审批时间最后修改人 谢卫国 最后修改时间 2008-10-27文档编号面向人员 技术开发人员一、文档目的本文描述了在 geomodel 模块中,生成泰森多边形所使用的算法。二、概述GIS 和地理分析中经常采用泰森多边形进行快速插值,和分析地理实体的影响区域,是解决邻接度问题的又一常用工具。荷兰气候学家 AHThiessen 提出了一种根据离散分布的气象站的降雨量来计算平均降雨量的方法,即将所有相邻气象站连成三角形,作这些三角

2、形各边的垂直平分线,于是每个气象站周围的若干垂直平分线便围成一个多边形。用这个多边形内所包含的一个唯一气象站的降雨强度来表示这个多边形区域内的降雨强度,并称这个多边形为泰森多边形。如图 1,其中虚线构成的多边形就是泰森多边形。泰森多边形每个顶点是每个三角形的外接圆圆心。泰森多边形也称为 Voronoi 图,或 dirichlet 图。图 1 泰森多边形泰森多边形的特性是: 每个泰森多边形内仅含有一个离散点数据 泰森多边形内的点到相应离散点的距离最近 位于泰森多边形边上的点到其两边的离散点的距离相等泰森多边形可用于定性分析、统计分析、邻近分析等。例如,可以用离散点的性质来描述泰森多边形区域的性质

3、;可用离散点的数据来计算泰森多边形区域的数据;判断一个离散点与其它哪些离散点相邻时,可根据泰森多边形直接得出,且若泰森多边形是 n 边形,则就与 n 个离散点相邻;当某一数据点落入某一泰森多边形中时,它与相应的离散点最邻近,无需计算距离。在泰森多边形的构建中,首先要将离散点构成三角网。这种三角网称为 Delaunay 三角网。三、Delaulay 三角形的构建Delaunay 三角网的构建也称为不规则三角网的构建,就是由离散数据点构建三角网,如图 2,即确定哪三个数据点构成一个三角形,也称为自动联接三角网。即对于平面上 n个离散点,其平面坐标为(x i,y i),i1,2,n,将其中相近的三点

4、构成最佳三角形,使每个离散点都成为三角形的顶点。图 2 Delaunay 三角网自动联接三角网的结果为所有三角形的三个顶点的标号,如:1,2,8;2,8,3;3,8,7;为了获得最佳三角形,在构三角网时,应尽可能使三角形的三内角均成锐角,即符合 Delaunay 三角形产生的准则:1、 任何一个 Delaunay 三角形的外接圆内不能包含任何其它离散点。2、 相邻两个 Delaunay 三角形构成凸四边形,在交换凸四边形的对角线之后,六个内角的最小者不再增大。该性质即为最小角最大准则。图 3 凸包下面介绍 Tsai(1993)提出的在 n 维欧拉空间中构造 Delaunay 三角形的通用算法-

5、凸包插值算法。(一)、凸包生成1、求出点集中满足 min(x-y)、min(x+y)、max(x-y)、max(x+y)的四个点,并按逆时针方向组成一个点的链表。这 4 个点是离散点中与包含离散点的外接矩形的 4 个角点最近的点。这 4 个点构成的多边形作为初始凸包。2、对于每个凸包上的点 I,设它的后续点为 J,计算矢量线段 IJ 右侧的所有点到 IJ的距离,求出距离最大的点 K。3、将 K 插入 I、J 之间,并将 K 赋给 J。4、重复 2、3 步,直到点集中没有在线段 IJ 右侧的点为止。5、将 J 赋给 I,J 取其后续点,重复 2、3、4 步。6、当凸包中任意相邻两点连线的右侧不存

6、在离散点时,结束点集凸包求取过程。完成这一步后,形成了包含所有离散点的多边形(凸包),如图 3 所示。(二)、环切边界法凸包三角剖分在凸包链表中每次寻找一个由相邻两条凸包边组成的三角形,在该三角形的内部和边界上都不包含凸包上的任何其它点。将这个点去掉后得到新的凸包链表。重复这个过程,直到凸包链表中只剩三个离散点为止。将凸包链表中的最后三个离散点构成一个三角形,结束凸包三角剖分过程。图 4 环切边界法凸包三角剖分完成这一步后,将凸包中的点构成了若干 Delaunay 三角形,如图 4 所示。(三)、离散点内插在对凸包进行三角剖分之后,不在凸包上的其余离散点,可采用逐点内插的方法进行剖分。基本过程

7、为:1、选择一个尚未构成三角形的离散点2、在已经生成的三角形中,找出该离散点的三角形(离散点在该三角形在内部或者在该三角形的边上)3、如果离散点在三角形的内部,则将该三角形以及三角形的边删除,然后将三个顶点以及离散点分别连接,形成三个新的三角形。如果离散点在三角形的边上,记录点所在的边 E,根据拓扑关系,找出该边的左右相邻三角形 T1,T2,添加四条新边和四个新三角形 NT,删除 T1,T2 以及边 E。对于新生成的三角形,需要挨个对其边进行空外接圆检测。具体做法为:对于新生成的三角形的边 E,找出该边相邻的两个三角形,判断该边一侧的对角的顶点是否位于另外一个三角形的外接圆的里面。如果是,则将

8、边 E 删除,再将两个对角连接起来,形成两个新的三角形。对于新三角形的边,同样需要进行空外接圆检测,如此继续进行,直到所有新生成的三角形都通过空外接圆检测为止。4、重复 1、2、3,直到所有非凸壳离散点都插入完为止。完成这一步后,就完成了Delaunay 三角网的构建,如图 5 所示。图 5 离散点内插四、泰森多边形的建立步骤建立泰森多边形算法的关键是对离散数据点合理地连成三角网,即构建 Delaunay 三角网。建立泰森多边形的步骤为:1、离散点自动构建三角网,即构建 Delaunay 三角网。对离散点和形成的三角形编号,记录每个三角形是由哪三个离散点构成的。2、找出与每个离散点相邻的所有三

9、角形的编号,并记录下来。这只要在已构建的三角网中找出具有一个相同顶点的所有三角形即可。图 6 泰森多边形的建立3、对与每个离散点相邻的三角形按顺时针或逆时针方向排序,以便下一步连接生成泰森多边形。排序的方法可如图 6 所示。设离散点为 o。找出以 o 为顶点的一个三角形,设为 A;取三角形 A 除 o 以外的另一顶点,设为 a,则另一个顶点也可找出,即为 f;则下一个三角形必然是以 of 为边的,即为三角形 F;三角形 F 的另一顶点为 e,则下一三角形是以 oe 为边的;如此重复进行,直到回到 oa 边。4、计算每个三角形的外接圆圆心,并记录之。5、根据每个离散点的相邻三角形,连接这些相邻三角形的外接圆圆心,即得到泰森多边形。对于三角网边缘的泰森多边形,可作垂直平分线与图廓相交,与图廓一起构成泰森多边形。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报