在matlab中绘制三维实体球体

时间:2013-12-30 05:16:56

标签: matlab plot

我想在matlab中绘制一个实心球体,因此我想了下面的代码

for radius = 0:0.1:10
theta = linspace(0,2*pi);
phi = linspace(0,pi/2);
[theta,phi] = meshgrid(theta,phi);
[xs,ys,zs] = sph2cart(theta,phi,radius);
surf(xs,ys,zs);
end

但我仍然只能获得最外层的表面。感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

从评论中可以看出,绘制实心半球的代码是:

hold on
for radius = 0:0.1:10
theta = linspace(0,2*pi);
phi = linspace(0,pi/2);
[theta,phi] = meshgrid(theta,phi);
[xs,ys,zs] = sph2cart(theta,phi,radius);
surf(xs,ys,zs);
end

对于完整的球体,人们也会对

感兴趣
surf(xs,ys,-zs);

答案 1 :(得分:0)

对我有用的一种更快捷方式是:

phi = linspace(0, 2*pi);