首页 > 解决方案 > 如何在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;

标签: matlab

解决方案


它看起来与那个形状相似,但不完全是,我的意思是形状会很粗糙:

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

推荐阅读