利用Matlab生成一个网格化的三维球面,分别对径向方向、经度方向和纬度方向进行网格化,代码如下:
%生成一个笛卡尔坐标系下球面网格的x,y,z坐标 %r为球面距离 %nJingdu,nWeidu分别为经度方向和纬度方向上的离散度,为正整数 r = 1600; nJingdu = 80; nWeidu = 40; jingdu = linspace(0,2*pi,nJingdu+1); weidu = linspace(-pi/2,pi/2,nWeidu); XYZ = zeros(nJingdu*nWeidu,3); k = 1; for i = 1:nJingdu for j = 1:nWeidu XYZ(k,1:3) = [r*cos(weidu(j))*cos(jingdu(i)) r*cos(weidu(j))*sin(jingdu(i)) r*sin(weidu(j))]; k = k+1; end end plot3(XYZ(:,1),XYZ(:,2),XYZ(:,3),'.'); axis equal; save xyz.txt XYZ -ascii -double
最后保存为一个数组文件xyz.txt