关于matlab画球、裁球、上色的问题
这段代码是画一个裁开的球面,我看不太懂,求解。[x,y,z]=sphere(20);z1=z;z1(:,1:4)=NaN;%这句不懂,为什么删掉z1的1至4列就可以得到这...
这段代码是画一个裁开的球面,我看不太懂,求解。
[x,y,z]=sphere(20);
z1=z;
z1(:,1:4)=NaN; %这句不懂,为什么删掉z1的1至4列就可以得到这样的结果?
c1=ones(size(z1)); %这句不懂,为什么c1要和z1的维数一样?为什么全取1画出来就是绿色?到底什么原理?
surf(3*x,3*y,3*z1,c1);
希望网友认真解答菜鸟提问~~谢谢。 展开
[x,y,z]=sphere(20);
z1=z;
z1(:,1:4)=NaN; %这句不懂,为什么删掉z1的1至4列就可以得到这样的结果?
c1=ones(size(z1)); %这句不懂,为什么c1要和z1的维数一样?为什么全取1画出来就是绿色?到底什么原理?
surf(3*x,3*y,3*z1,c1);
希望网友认真解答菜鸟提问~~谢谢。 展开
1个回答
2013-08-21
展开全部
NaN是Not a Number的缩写,在matlab绘图时nan数据点会被忽略掉,所以不会画出来。
c1是颜色参量,取值1对应绿色。
[x,y,z]=sphere(20);
z1=z;
z1(:,1:4)=NaN; %非数,绘图时不绘制nan数据
c1=ones(size(z1)); %每个数据点都需要一个颜色参量,如果取不同值,就会发现球上的小面颜色不一样
surf(3*x,3*y,3*z1,c1); %前三个参数为X,Y,Z分量,C为颜色参量
colorbar %加上颜色条,可以看出 绿色对应的取值为1
c1是颜色参量,取值1对应绿色。
[x,y,z]=sphere(20);
z1=z;
z1(:,1:4)=NaN; %非数,绘图时不绘制nan数据
c1=ones(size(z1)); %每个数据点都需要一个颜色参量,如果取不同值,就会发现球上的小面颜色不一样
surf(3*x,3*y,3*z1,c1); %前三个参数为X,Y,Z分量,C为颜色参量
colorbar %加上颜色条,可以看出 绿色对应的取值为1
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询