如何在matlab中绘制蛋糕状曲面?

如何在matlab中绘制蛋糕状曲面?,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, 'Fa

我试图在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

内置的
pie3
不是您想要的吗?