【发布时间】:2019-06-13 00:53:20
【问题描述】:
我有一个网格存储为 3D 面和顶点的集合,例如
v = np.array([[0,0,0],
[1,0,0],
[1,1,0],
[0,1,0],
[0,0,1],
[1,0,1],
[1,1,1],
[0,1,1]])
f = np.array([[0,2,1],
[0,3,2],
[1,2,6],
[1,6,5],
[0,5,4],
[0,1,5],
[4,5,6],
[6,7,4],
[3,7,6],
[6,2,3],
[0,4,7],
[7,3,0]])
其中v 描述了节点的坐标,f 描述了每个面的顶点索引。
我有一个向量C,每个节点都包含一个标量,例如
C = np.array([1,2,3,4,5,6,7,8])
我想使用C 中的标量将其绘制为网格,作为每个节点的颜色图。这类似于在 Matlab 中使用patch('Faces',F,'Vertices',V) 命令(doc)实现的功能
是否可以使用 matplotlib 或更一般地使用 python 来实现这一点?
额外问题:
更一般地说,我的脸可以有可变数量的顶点。在我的矩阵中,我有三面和四面,其中三面用 np.nan 作为第四个节点填充。
是否可以绘制具有 3 面和 4 面的网格而不将四边形分成三面?
【问题讨论】:
标签: python python-3.x matplotlib