Python画三维点的Voronoi领域
一.求点的Voronoi领域顶点坐标
方法:
from scipy.spatial import Voronoi
vor = Voronoi(points)
print(vor.vertices)
points是存储已知点的数组。调用这个类可以获取Voronoi领域的顶点坐标。
二.画3D图
Python利用Axes3D进行3d图的绘画,具体介绍见matplotlib——3D绘图教程
具体流程:
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
fig =plt.figure()
ax = Axes3D(fig)
for t in points:
ax.scatter(t[0], t[1], t[2])
plt.show()
这样就可以获得一个三维的点图。
三.将顶点连接起来
将Voronoi领域的顶点进行相邻的连接,这里通过暴力遍历,将距离足够近的点进行连接。
n = len(vor.vertices)
for i in