算法原理
参考二维圆的画法我们可以采用柱面坐标系的方法,在z轴上用依次绘制不同半径的圆来形成一个球,在这个过程中我们要用到矩阵外积的思想,将圆的余弦值或者正弦值与半径进行外积,形成一个二维矩阵,矩阵的第二维度中的每个向量储存每个小圆的信息。所以我们可以先把存储半径信息的矩阵展开,然后与存储余弦值的矩阵进行矩阵乘法,得到存储坐标信息的矩阵。
柱面坐标系法
代码如下:
theta = 0.:0.01:2*pi;
h = -1.:0.01:1.;
r = sqrt(1-h.*h);
x = cos(theta(:))*r(:)';
y = sin(theta(:))*r(:)';
z = ones(size(theta(:)))*h(:)';
surf(x,y,z,z)
球面坐标系法
theta = 0.:0.05:2*pi;
R = 10;
fi = 0:0.05:pi;
x = R*cos(theta(:))*sin(fi(:))';
y = R*sin(theta(:))*sin(fi(:))';
z = R*ones(size(theta(:)))*cos(fi(:))';
mesh(x,y,z);