我有一个网格存储为一个三维面和顶点的集合,例如
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公司作为第四个节点。你知道吗
在不将四边形拆分为三个面的情况下,是否可以绘制同时具有三个面和四个面的网格?你知道吗
可以用面的边坐标绘制
Poly3DCollection
。你知道吗请注意,您需要为面着色,而不是节点着色(因为节点不能有颜色)-因此我在
C
中又发明了一些值。你知道吗相关问题 更多 >
编程相关推荐