首页 > 解决方案 > 德劳内可以重复点吗?

问题描述

我正在使用scipy.spatial.Delaunay从一系列 3d 点生成三角网格。我可以重复具有不同 z 值的 x,y 数据点吗?

我注意到现在它不允许/遵守这一点 - 请参见下面的示例。有没有可以允许这样做的设置?

我希望创建一个看起来像“步骤”的网格,即如下所示:

在此处输入图像描述

为了实现这个网格,将有重复的 x,y 点 - 2 个重复点位于(0.5,0)和 处(0.5,1)

以下会产生不正确的网格:

points = np.array([[0,0], [0,1], [1,1], [1,0], [0.5,0], [0.5,0], [0.5,1], [0.5,1]])
z = np.array([0,0,1,1,0,1,0,1])

tri = Delaunay(points)

fig = plt.figure()
ax = fig.add_subplot(1, 1, 1, projection='3d')
ax.plot_trisurf(points[:,0], points[:,1], z, triangles=tri.simplices, cmap=plt.cm.Spectral)
plt.show()

在此处输入图像描述

如果我使用不同的/非重复点,我可以让它工作:

points = np.array([[0,0], [0,1], [1,1], [1,0], [0.5,0], [0.51,0], [0.5,1], [0.51,1]])

标签: scipydelaunay

解决方案


推荐阅读