[英]Plotting a 3D solid sphere in matlab
我想在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
但是我仍然只獲得最外層的表面。
從注釋中可以看出,繪制實心半球的代碼為:
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);
對我有用的一種更快的方法是:
phi = linspace(0, 2*pi);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.