在Matlab中文论坛回答别人的问题,问题如下:
解答如下
phi=0:0.1:2*pi;
th=phi;
[TH,PHI]=meshgrid(th,phi); %生成网格
R=abs(sin(PHI));
[X,Y,Z]=sph2cart(TH,PHI,R); %球坐标到笛卡尔坐标转换
surf(X,Y,Z) %绘制曲面
R2=abs(cos(PHI));
[X,Y,Z]=sph2cart(TH,PHI,R2);
figure
surf(X,Y,Z)
由于Matlab 里定义的仰角PHI,与图中定义的互为余角,所以上面的代码得到的图形与问题刚好相反
可以做如下修改:
phi=pi/2:-0.1:3*pi/2;
th=0:0.1:2*pi;
其余不变