python怎么画多边形_python绘制任意多边形

python怎么画多边形_python绘制任意多边形要使用 Python 生成泰森多边形 你可以参考以下步骤和代码示例 准备数据 首先 你需要准备一组离散点的坐标数据 构建 Delaunay 三角网 使用这些坐标数据构建 Delaunay 三角网 这是生成泰森多边形的前提 计算泰森多边形 根据 Delaunay 三角网 计算出每个三角形的垂直平分线 这些垂直平分线将组成泰森多边形 pythonfrom scipy spatial import

要使用Python生成泰森多边形,你可以参考以下步骤和代码示例:

准备数据:

首先,你需要准备一组离散点的坐标数据。

构建Delaunay三角网:

使用这些坐标数据构建Delaunay三角网,这是生成泰森多边形的前提。

计算泰森多边形:

根据Delaunay三角网,计算出每个三角形的垂直平分线,这些垂直平分线将组成泰森多边形。

python

from scipy.spatial import Voronoi, voronoi_plot_2d

import matplotlib.pyplot as plt

import numpy as np

from shapely.geometry import Polygon, LineString, Point, MultiPoint

from 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`。

编程小号
上一篇 2026-04-12 21:04
下一篇 2026-04-12 20:56

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/58500.html