matlab怎样画弗洛诺伊图,沃罗诺伊图(Voronoi Diagram,也称作Dirichlet tessellation,狄利克雷镶嵌 )是怎样的?...

我是勤劳的搬运工——[蜻蜓翅膀与沃罗诺伊图]

「动态图http://s10.sinaimg.cn/mw690/001mPhDAzy6RnRLK4iJb9&690」

沃罗诺伊图(Voronoi Diagram,也称作Dirichlet tessellation,狄利克雷镶嵌)是由俄国数学家Georgy Fedoseevich Voronoi建立的空间分割算法。灵感来源于笛卡尔用凸域分割空间的思想。在几何,晶体学建筑学,地理学,气象学,信息系统等许多领域有广泛的应用。

用 \displaystyle{X} 表示一个距离函数为 d 的空间(一个非空集合)。令 \displaystyle{K} 为一个指数集合,(P_k)_{k \in K}为空间\displaystyle{X}的一个非空子集的有序元组。对应于\displaystyle{P_k}的\displaystyle{R_k},称沃罗诺伊原胞,或称沃罗诺伊区域,是空间\displaystyle{X}中所有到\displaystyle{P_k}的距离不大于到其他位置\displaystyle{P_j}(j≠k)的点集。或者说,如果定义d(x,A)=\inf\{d(x,a) \,|\, a\in A\}为点x和子集A的距离,则

R_k = \{x \in X\,\, | \,\,d(x,P_k) \leq d(x, P_j)\,\, \text{for all}\,\, j\neq k\}。沃罗诺伊图即原胞(R_k)_{k \in K} 的元组。理论上有些位点能够交叉甚至重合,但事实上它们往往被设定为不相交的。另外,定义过程中允许位点数目无限(这在几何数论和 结晶学有着重要应用),然而通常情况下,只考虑有限位点数。蜻蜓翅膀上那网状的细脉有种精致的美感,而这种美感里面真的隐藏着巧妙的数学机制,那就是被称作沃洛诺伊图的几何构造。

沃洛诺伊图(Voronoi Diagram)解决了这样一个问题:如何根据已知点划分平面,使得格子与点一一对应,并使平面上任取一点都与最近的已知点围在一起。做法也很简单,把这些点连接成三角形网络,然后作每一条边的中垂线,这些中垂线形成的划分就是所求。

至于蜻蜓的翅膀,脉里面是血管和神经,生长中越靠近脉的部分伸展越快,恰好就是沃洛伊图的意义,抻拉中自然就长成了这样。

对于某些特定情况,如有限维度的欧几里得空间,每一位点对应于一个点。这些点是有限且各异的,则沃罗诺伊原胞表现为凸多胞形,由它们的顶点、边、二维面等的组合方式加以描述。有时引入的组合结构被称为沃罗诺伊图。然而,沃罗诺伊原胞不一定是凸形,甚至不一定是连通的绘制方法:在平面上,绘制沃罗诺伊图的过程,只要将胞点连起来构成许多三角形,利用中垂线找外心,再将所有外心相连即可。

你可能感兴趣的:(matlab怎样画弗洛诺伊图)