使用补丁功能可视化网格

时间:2019-04-06 10:55:22

标签: matlab 3d mesh

我正在尝试使用matlab R2016b中的“补丁”功能来可视化网格。

我的网格数据是一个简单的球体,由一个面矩阵512x3和一个顶点矩阵258x3组成,如下图所示(每个面有3个顶点):

enter image description here

当我使用以下命令以单色显示可视化网格时:

patch('Faces', mesh.sharedVert, 'Vertices', mesh.vertices, ...
      'FaceColor', [0.9290 0.6940 0.1250])

没有问题:

enter image description here

但是,当我尝试使每个面或每个顶点呈现不同的颜色时,会得到以下结果:

enter image description here

这是失败尝试的脚本:

patch('Faces', mesh.sharedVert, 'Vertices', mesh.vertices, ...
      'FaceVertexCData', colors)

我的colors变量要么是512x1的列向量(对于面部),要么是258x1的顶点向量(现在我在其中使用随机数)。 根据matlab的“补丁”文档,在“ FaceVertexCData”部分下,它在两种情况下均应工作,但不能...

1 个答案:

答案 0 :(得分:1)

According to Matlab staff,必须将FaceColor属性设置为“ flat”(如果使用逐面颜色)或“ interp”(如果使用逐顶点颜色),因为默认值[0 0 0]覆盖每面/顶点值。

有趣的是,他们没有理会将该信息添加到手册页中。