nizp1982 发表于 2011-7-14 16:49:02

如何在球面上画等高线图

如何在球形表面画等高线图,部分程序如图,请大家帮忙,非常感谢!
b22=0.0037;
r=0.2;
mt=100;nt=200;
theta=linspace(0,pi,mt);
phi=linspace(0,2*pi,nt);
xt=r*sin(theta)'*cos(phi);
yt=r*sin(theta)'*sin(phi);
zt=r*cos(theta)'*ones(1,nt);

figure
B_XY=6*b22*xt.*yt;
h=surf(xt,yt,zt,B_XY);
% colormap hsv
xlabel('x/m')
ylabel('y/m')
zlabel('z/m')
title('b22(XY)')
set(h,'FaceColor','interp','EdgeColor','none')
colorbar
camlight;

messenger 发表于 2011-7-14 17:13:41

试试M_Map

nizp1982 发表于 2011-7-14 17:35:32

谢谢,有没有更为简便的方法

nwcwww 发表于 2011-7-15 22:10:48

http://www.mathworks.com/matlabcentral/fileexchange/8585-3d-plot-on-a-spherical-surface

nizp1982 发表于 2011-7-16 07:25:04

非常感谢!
页: [1]
查看完整版本: 如何在球面上画等高线图