我正在使用surf()
绘制球体的一部分;基本上是一个在球体顶部的特定形状的壳。更具体地说,它是球形关节的工作空间图,其颜色代表该点处关节的分辨率。
无论如何,形状是独一无二的,但surf()
会自动填补不应存在的空白。我猜它可能是它被绘制的顺序?有没有办法阻止Matlab这样做?
我认为在图片中很明显不应该有什么:
此外,它似乎也搞乱了颜色编码。深蓝色应位于贝壳的底部边缘;相反,Matlab将其分配到用于填补空白的表面。
答案 0 :(得分:1)
以下代码实现了我认为你所要求的(即 - 制作表面图的一部分"不可见",我通过定义与{{相同尺寸的矩阵transp
来做到这一点。 1}},带有alpha值(1 =可见,0 =透明)。当然,您必须更改zz
的定义以匹配您不想看到的表面部分 - 我的简单的裁剪方法只是为了表明可以做什么):
transp
这给出了以下图:
我相信你可以从这里弄明白。如果这不起作用,您需要提供有关您所拥有数据的更多信息 - 大小是多少,您如何绘制它...