泰森多边形又叫冯洛诺伊图(Voronoi diagram),得名于Georgy Voronoi,是一组由连接两邻点线段的垂直平分线组成的连续多边形组成。一个泰森多边形内的任一点到构成该多边形的控制点的距离小于到其他多边形控制点的距离。(百度百科)
使用 python 的 scipy.spatial.Voronoi 函数可以得到泰森多边形,具体代码如下:
1 from scipy.spatial importVoronoi, voronoi_plot_2d2 importnumpy as np3 importmatplotlib.pyplot as plt4
5 points = np.array([[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2],6 [2, 0], [2, 1], [2, 2]])7 #计算指定点的泰森多边形
8 vor =Voronoi(points)9 #绘制泰森多边形二维图像
10 fig =voronoi_plot_2d(vor)11 plt.show()
运行结果图片:
之后,得到的结果vor有许多的属性,不太聪明的我研究好久,终于看明白,分享给大家。
vor属性:
points:计算 Voronoi 的输入点坐标vertices:Voronoi 顶点坐标ridge_points:在每条 Voronoi 脊线(ridge li