我正在尝试使用matlab R2016b中的“补丁”功能来可视化网格。
我的网格数据是一个简单的球体,由一个面矩阵512x3
和一个顶点矩阵258x3
组成,如下图所示(每个面有3个顶点):
当我使用以下命令以单色显示可视化网格时:
patch('Faces', mesh.sharedVert, 'Vertices', mesh.vertices, ...
'FaceColor', [0.9290 0.6940 0.1250])
没有问题:
但是,当我尝试使每个面或每个顶点呈现不同的颜色时,会得到以下结果:
这是失败尝试的脚本:
patch('Faces', mesh.sharedVert, 'Vertices', mesh.vertices, ...
'FaceVertexCData', colors)
我的colors
变量要么是512x1
的列向量(对于面部),要么是258x1
的顶点向量(现在我在其中使用随机数)。
根据matlab的“补丁”文档,在“ FaceVertexCData”部分下,它在两种情况下均应工作,但不能...
答案 0 :(得分:1)
According to Matlab staff,必须将FaceColor属性设置为“ flat”(如果使用逐面颜色)或“ interp”(如果使用逐顶点颜色),因为默认值[0 0 0]覆盖每面/顶点值。
有趣的是,他们没有理会将该信息添加到手册页中。