我已经多次阅读SciPy文档(https://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.Delaunay.html),但似乎找不到答案。我只看到输出的单形。
我有一个函数,它接受一个三维numpy数组
from scipy.spatial import Delaunay
def get_vertices(points):
# Convert to mesh
tri = Delaunay(points)
faces = points[tri.simplices]
我如何得到顶点?我需要顶点和面来创建网格。
1条答案
按热度按时间utugiqy61#
由于
scipy.spatial.Delaunay
是N维的,所以术语“scipy.spatial.Delaunay
”是一个通用术语,指的是连接2D中顶点的三角形和连接3D中顶点的四面体。要从Delaunay三角剖分创建网格,必须过滤掉所有内部顶点,并找到不与其他单形共享的单形(四面体)的面。我正在尝试使用
scipy.spatial.Delaunay.neighbors()
来解决这个问题。我会更新这个答案,如果我得到一个解决方案。对于其他可能同时找到这个答案的人来说,scikit-image.measure.marching_cubes()是一个从3D体素阵列创建表面网格(顶点和面)的选项。