要使用Python生成泰森多边形,你可以参考以下步骤和代码示例:
准备数据:
首先,你需要准备一组离散点的坐标数据。
构建Delaunay三角网:
使用这些坐标数据构建Delaunay三角网,这是生成泰森多边形的前提。
计算泰森多边形:
根据Delaunay三角网,计算出每个三角形的垂直平分线,这些垂直平分线将组成泰森多边形。
from scipy.spatial import Voronoi, voronoi_plot_2dimport matplotlib.pyplot as pltimport numpy as npfrom shapely.geometry import Polygon, LineString, Point, MultiPointfrom shapely.ops import polygonize准备点数据f = open('point.txt', 'r', encoding='utf-8')flines = f.readlines()points = []for line in flines:linelist = line.strip('\n').split('\t')pointstr = linelist.replace('Point (', '').replace(')', '')points.append([float(pointstr), float(pointstr)])生成Voronoi图vor = Voronoi(points)使用matplotlib显示Voronoi图voronoi_plot_2d(vor)plt.show()使用shapely的polygonize方法将Voronoi图的多边形转换为shapely的Polygon对象polygons = polygonize(vor.vertices)输出结果for polygon in polygons:print(polygon.exterior.coords)
请注意,上述代码示例中的`point.txt`文件应包含一系列点的坐标,每行一个点,格式为`x y`。

