簡體   English   中英

在Matlab中繪制3D實體球

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM