我正在尝试绘制一个3d对象的表面网格的四边形补丁。我有x,y,z
4Xn
其中4是四边形的每个顶点,n是四边形的数量,c
,这是一个3Xn RGB矩阵。何时使用patch( x, y, z,c);
我收到了错误
`Error using patch`
`Size of C must match sizes of X Y [Z]`
但这适用于x,y,z
,3Xn
表示三角形补丁,c
表示3Xn RGB矢量。请纠正我出错的地方。
答案 0 :(得分:0)
不是为每个patch
提供单个RGB值,而是需要为要绘制的每个顶点提供patch
值(由于数据的格式)。< / p>
所以使用您的数据和这一行:
cQuad=permute(repmat(cQuad,[1 1 4]),[3 2 1]);
patch(vertQuad.x,vertQuad.y,vertQuad.z,cQuad)
工作正常。我所做的是使用repmat
重复颜色4次,然后使用patch
permute
格式订购尺寸