我想在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
但我仍然只能获得最外层的表面。感谢任何帮助。
答案 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);