如何在Delaunay三角剖分中找到顶点的所有邻居?

时间:2019-06-06 18:48:09

标签: python-3.x delaunay scipy-spatial

在开始之前,我会说我确实读过这个post中的答案,但是看来我当前的实现方式与该问题有很大不同。也许不是,但我很愚蠢,这也是可能的。

无论如何,我有两个2D形状的2D数组ptsLeft和ptsRight,其中包含来自两个摄像机的点x,y坐标。我创建了一个三角函数,将这两个数组合并为x,y和z坐标,并将其存储在3xN数组中,例如pts3。然后我做了

tri = Delaunay(ptsLeft)

现在可以像这样使用:

pts3[:,tri[0,0]]

获取第一个三角形中第一个点的索引。

我的问题是我需要遍历pts3,并且需要为每个顶点(pts3 [:,i])查找连接到该点的点顶点,将它们的索引取为tri,这样我才能访问正确的点在pts3中,对x,y和z坐标进行一些数学运算。

到目前为止,我一直在查看Delaunay.vertex_neighbors_vertices,但实际上并没有找到很多文档,在前面的文章中,我不太了解如何更改代码才能正常工作我的问题。

编辑:要多说明一点,如果我有pts3并且它是3x5,那么列索引的值就是将存储在tri中的值。所以我需要这样的东西:

for v in range(pts3.shape[1]):
    # find v in tri
    # find all neighbors of v in tri

vertex_neighbors_vertices是否采用这样的数字值,或者它必须是其出现的索引?

0 个答案:

没有答案