在 matlab 中使用 'patch' 函数时出错
Error while using 'patch' function in matlab
我正在尝试绘制 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 向量。请纠正我出错的地方。
无需为每个 patch
提供单个 RGB 值,您需要为要绘制的每个顶点提供 patch
值(由于数据格式)。
所以你的数据和这一行:
cQuad=permute(repmat(cQuad,[1 1 4]),[3 2 1]);
patch(vertQuad.x,vertQuad.y,vertQuad.z,cQuad)
工作正常。我所做的是使用 repmat
重复颜色 4 次,然后使用 permute
以 patch
喜欢的格式订购尺寸
我正在尝试绘制 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 向量。请纠正我出错的地方。
无需为每个 patch
提供单个 RGB 值,您需要为要绘制的每个顶点提供 patch
值(由于数据格式)。
所以你的数据和这一行:
cQuad=permute(repmat(cQuad,[1 1 4]),[3 2 1]);
patch(vertQuad.x,vertQuad.y,vertQuad.z,cQuad)
工作正常。我所做的是使用 repmat
重复颜色 4 次,然后使用 permute
patch
喜欢的格式订购尺寸