关于Delaunay Triangulation以及泰森多边形

首先来一段简单的介绍:
在空间分析中经常使用算法:
荷兰气候学家A•H•Thiessen提出了一种根据离散分布的气象站的降雨量来计算平均降雨量的方法,即将所有相邻气象站连成三角形,作这些三角形各边的垂直平分线,于是每个气象站周围的若干垂直平分线便围成一个多边形。用这个多边形内所包含的一个唯一气象站的降雨强度来表示这个多边形区域内的降雨强度,并称这个多边形为泰森多边形。如图5-6-1,其中虚线构成的多边形就是泰森多边形。泰森多边形每个顶点是每个三角形的外接圆圆心。泰森多边形也称为Voronoi图,或dirichlet图。
泰森多边形的特性是:
1、每个泰森多边形内仅含有一个离散点数据;
2、泰森多边形内的点到相应离散点的距离最近;
3、位于泰森多边形边上的点到其两边的离散点的距离相等。
泰森多边形可用于定性分析、统计分析、邻近分析等。例如,可以用离散点的性质来描述泰森多边形区域的性质;可用离散点的数据来计算泰森多边形区域的数据;判断一个离散点与其它哪些离散点相邻时,可根据泰森多边形直接得出,且若泰森多边形是n边形,则就与n个离散点相邻;当某一数据点落入某一泰森多边形中时,它与相应的离散点最邻近,无需计算距离。
在泰森多边形的构建中,首先要将离散点构成三角网。这种三角网称为Delaunay三角网。
对于泰森多边形(即Delaunay三角网)内的Delaunay三角形的构建方法应为:
1、凸包生成;
2、环切边界法凸包三角剖分;
3、离散点内插。
Delaunay三角形产生准则的最简明的形式是:任何一个Delaunay三角形的外接圆的内部不能包含其它任何点。它的最大化最小角原则是:每两个相邻的三角形构成的凸四边形的对角线,在相互交换后,六个内角的最小角不再增大。
而泰森多边形(即Delaunay三角网)的构建步骤应为:
1、离散点自动构建三角网,即构建Delaunay三角网。对离散点和形成的三角形编号,记录每个三角形是由哪三个离散点构成的。
2、找出与每个离散点相邻的所有三角形的编号,并记录下来。这只要在已构建的三角网中找出具有一个相同顶点的所有三角形即可。
图5-6-6 泰森多边形的建立
3、对与每个离散点相邻的三角形按顺时针或逆时针方向排序,以便下一步连接生成泰森多边形。排序的方法可如图5-6-6所示。设离散点为o。找出以o为顶点的一个三角形,设为A;取三角形A除o以外的另一顶点,设为a,则另一个顶点也可找出,即为f;则下一个三角形必然是以of为边的,即为三角形F;三角形F的另一顶点为e,则下一三角形是以oe为边的;如此重复进行,直到回到oa边。
4、计算每个三角形的外接圆圆心,并记录之。
5、根据每个离散点的相邻三角形,连接这些相邻三角形的外接圆圆心,即得到泰森多边形。对于三角网边缘的泰森多边形,可作垂直平分线与图廓相交,与图廓一起构成泰森多边形。

另外,http://www.cs.cmu.edu/~quake/tripaper/triangle2.html
以及   http://en.wikipedia.org/wiki/Delaunay_triangulation 
还有   http://www.cnblogs.com/soroman/archive/2007/05/17/750430.html
中也有相应的描述。
安装Java的话,可以在 http://www.cse.unsw.edu.au/~lambert/java/3d/delaunay.html 看到3D的演示。
还要继续深究它们在空间分析中的作用。

posted on 2009-10-11 13:24  畅游九州  阅读(2121)  评论(0编辑  收藏  举报

导航