matlab - 如何在matlab中绘制这个蛋糕片状表面?
问题描述
我正在尝试在 matlab 中绘制一个类似于曲面的蛋糕块,但我不知道如何定义z以使其看起来像蛋糕派。我需要的形状是这样的: 这是我到目前为止写的代码:
th = linspace(0, pi/3);
r = linspace(0, pi/3);
% z = linspace(0, 10);
[R, TH] = meshgrid(r, th);
x = R.*cos(TH);
y = R.*sin(TH);
z = R;
% z = 10 * ones(size(x));
ss = surf(x, y, z, 'FaceAlpha',0.3);
ss.EdgeAlpha = 0.6;
ss.FaceAlpha = 0.1;
解决方案
它看起来与那个形状相似,但不完全是,我的意思是形状会很粗糙:
z = rand(size(x));
另一种表面更光滑的选择:
z = zeros(size(x));
[m,n]=size(x);
for i=1 : n
for j=1 : m
if(mod(i+j,2)==0)
z(i,j) = 1;
end
end
end