我正在尝试在 python 中获取多面体的Delaunay 三角剖分,以便我可以计算质心。我看到有一个Delaunay函数scipy.spatial
,它在 n 维中工作。问题是文档显示了 2D 的使用,并没有告诉我如何处理更高的维度。能够将这个对象分解成一个数组可能会为我解决这个问题,但我不知道该怎么做。
我遇到的问题是我不知道如何验证它在输出对象时是否正常工作。我在谷歌上找不到任何关于如何绘制多面体或如何使用 scipy 吐回的对象的信息。
如果我做
import numpy as np
from scipy.spatial import Delaunay
points = np.array([[0,0,0],[1,0,0],[1,1,0],[1,0,1],[1,1,1],[0,1,0],[0,1,1],[0,0,1]])
Delaunay(points)
我真的很想能够取回这些四面体的坐标,这样我就可以计算出多面体的质心。如果我也能够绘制镶嵌多面体的图形,那也将非常好。我在 MATLAB 中看到我可以使用一个名为 trimesn 的函数来做到这一点,我从 matplotlib 中找到了一个,但它似乎真的很不同,它的文档也不是很好。
from matplotlib.collections import TriMesh TriMesh.__doc__
u'\n Class for the efficient drawing of a triangular mesh using\n
Gouraud shading.\n\n A triangular mesh is a
:class:`~matplotlib.tri.Triangulation`\n object.\n '