如何计算德劳内三角形的列表的邻居知道在Python每个三角形的顶点

问题描述 投票:-1回答:2

我一直在这个相当长的一段时间。我有德劳内三角形的列表,了解所有的顶点,现在我需要计算每个三角形的邻居。

我知道,蟒蛇在scipy.spatial模块德劳内,可用于计算单纯,知道点列表的邻居。但是,我怎么能计算给出所有单纯的邻居。

三角形的列表如下所示:

[[[634706.612442, 3086432.2967], [635268.645733, 3086636.61233],[634830.249107, 3087157.20293]]
[[634706.612442, 3086432.2967], [634830.249107, 3087157.20293], [634401.962216, 3086874.97886]]
[[656237.10083, 3061518.637755], [656776.863279, 3061883.38021], [656330.134218, 3062431.49804]]
[[656237.10083, 3061518.637755], [656330.134218, 3062431.49804], [655787.935768, 3061995.043438]]
[[656541.118122, 3060981.747767], [657223.592341, 3061335.26239], [656776.863279, 3061883.38021]]
[[656541.118122, 3060981.747767], [656776.863279, 3061883.38021], [656237.10083, 3061518.637755]]] 

在x,y各顶点的坐标中给出。

python scipy delaunay
2个回答
0
投票

你可以通过三角形和测试的所有边缘循环,如果它共享相同的边缘。


0
投票

我已经解决了这个问题。实际上,有在Python这样的模块,每一个三角形的邻居可以相知三角形的顶点而得到。

这样的功能是matplotlib.tri.Triangulation(X,Y,三角形=无,掩模=无)该类具有两个属性:边缘和邻居可以用来计算每个三角形的邻居。

© www.soinside.com 2019 - 2024. All rights reserved.