使用Python绘制现有三角形作为线框的最佳方法是什么?
澄清:
我有两组数据:一组包含X,Y坐标对,另一组是将这些点映射到“理想”的算法的输出。 (德劳内)网。
例如,考虑X,Y对::
#X Y
1 330822.25 4310194.75
2 330827.25 4310194.75
3 330832.25 4310194.75
4 330837.25 4310194.75
5 330842.25 4310194.75
6 330847.25 4310194.75
...
算法输出:
1717 1761 1762
1718 1717 1762
1718 1673 1717
1718 1674 1673
1673 1674 1629
1629 1674 1630
其中X,Y对#1717与X,Y对#1761和#1762形成一个三角形。
换句话说,Delaunay算法输出的第一行可以表示为:
(331037.25 4310004.75) (331037.25 4309999.75) (330822.25 4309994.75)
这形成一个三角形。在将两个数据集映射到类似于上面三个元组的集合之后,我想绘制这些行中存在的每个三角形。
有什么建议吗?奖励积分,如果这可以扩展到3D!
答案 0 :(得分:1)
您可以跳过手动计算Delaunay三角测量的步骤,让matplotlib处理它。这是使用triplot
完成的。
b5
其中plt.triplot(x, y)
和x
是初始数据中的两列。
如果您真的想使用自己的算法,可以使用第三个参数y
将您的indizes插入plt.triplot
。
triangles
其中三角形是<{1}} indizes的数组。
可以在matplotlib页面上找到complete example。