沃罗诺伊图
沃罗诺伊图(Voronoi Diagram,也称作Dirichlet tessellation,狄利克雷镶嵌)是由乌克兰数学家格奧爾吉·沃羅諾伊建立的空间分割算法。灵感来源于笛卡尔用凸域分割空间的思想。在几何、晶体学、建筑学、地理学、气象学、信息系统等许多领域有广泛的应用。
沃洛诺伊图的单元被称为泰森多边形。
建立步骤
建立泰森多边形算法的关键是对离散数据点合理地连成三角网,即构建Delaunay三角网。建立泰森多边形的步骤为:
1、离散点自动构建三角网,即构建Delaunay三角网。对离散点和形成的三角形编号,记录每个三角形是由哪三个离散点构成的。
2、找出与每个离散点相邻的所有三角形的编号,并记录下来。这只要在已构建的三角网中找出具有一个相同顶点的所有三角形即可。
3、对与每个离散点相邻的三角形按顺时针或逆时针方向排序,以便下一步连接生成泰森多边形。设离散点为o。找出以o为顶点的一个三角形,设为A;取三角形A除o以外的另一顶点,设为a,则另一个顶点也可找出,即为f;则下一个三角形必然是以of为边的,即为三角形F;三角形F的另一顶点为e,则下一三角形是以oe为边的;如此重复进行,直到回到oa边。
4、计算每个三角形的外接圆圆心,并记录之。
5、根据每个离散点的相邻三角形,连接这些相邻三角形的外接圆圆心,即得到泰森多边形。对于三角网边缘的泰森多边形,可作垂直平分线与图廓相交,与图廓一起构成泰森多边形。
定义
用表示一个距离函数为的空间(一个非空集合)。令 为一个指数集合,为空间的一个非空子集的有序元组。对应于的,称沃罗诺伊原胞,或称沃罗诺伊区域,是空间中所有到的距离不大于到其他位置(j≠k)的点集。或者说,如果定义为点和子集的距离,则
- 。
沃罗诺伊图即原胞的元组。理论上有些位点能够交叉甚至重合,但事实上它们往往被设定为不相交的。另外,定义过程中允许位点数目无限(这在几何数论和 结晶学有着重要应用),然而通常情况下,只考虑有限位点数。
对于某些特定情况,如有限维度的欧几里得空间,每一位点对应于一个点。这些点是有限且各异的,则沃罗诺伊原胞表现为凸多胞形,由它们的顶点、边、二维面等的组合方式加以描述。有时引入的组合结构被称为沃罗诺伊图。然而,沃罗诺伊原胞不一定是凸形,甚至不一定是连通的。
平面绘制
在平面上,绘制沃罗诺伊图的过程,只要将胞点连起來构成许多三角形,利用中垂线找外心,再将所有外心相连即可。
参考资料
- MathWorld的介紹 (页面存档备份,存于)(英文)
- 用Mathematica畫沃羅諾伊圖 (页面存档备份,存于)(英文)