Python:来自预定义三角形的2D线框图

时间:2017-04-10 17:59:36

标签: python matplotlib plot gis mesh

使用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!

1 个答案:

答案 0 :(得分:1)

您可以跳过手动计算Delaunay三角测量的步骤,让matplotlib处理它。这是使用triplot完成的。

b5

其中plt.triplot(x, y) x是初始数据中的两列。

如果您真的想使用自己的算法,可以使用第三个参数y将您的indizes插入plt.triplot

triangles

其中三角形是<{1}} indizes的数组。

可以在matplotlib页面上找到complete example