我正在使用scipy.spatial.Delaunay
从一系列3d点生成一个三角网格。我可以重复z值不同的x,y数据点吗?
我注意到,现在不允许/不遵守此规定-参见以下示例。是否有可以允许此设置的设置?
我希望创建一个看起来像“台阶”的网格,即如下所示:
为了实现该网格,将在(0.5,0)
和(0.5,1)
处重复x,y点-2个重复点。
以下内容产生不正确的网格:
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]])