Matlab 绘制球面

步骤

1. 使用sphere生成球面数据
2. 调整生成的数据(球心,半径)
3. 使用mesh,surf绘制

命令详解

sphere      % 默认生成20*20单元的球面,圆心为(0,0,0),半径为1
sphere(n)   % 生成n*n单元的球面
sphere(ax,...)  % 指定坐标系ax
[X,Y,Z] = sphere(...)   % 返回n*n球面单元的矩阵坐标信息,大小为(n+1)*(n+1)

mesh(X,Y,Z) % 绘制线框网格,颜色根据Z决定
            % length(X) = n, length(Y) = m, [m, n] = size(Z) 
            % or size(X) == size(Y) == size(Z)

surf(X,Y,Z) % 绘制表面,颜色根据Z决定
            % length(X) = n, length(Y) = m, [m, n] = size(Z) 
            % or size(X) == size(Y) == size(Z)

实例代码

function drawsphere(a,b,c,R)
%% 绘制球面
% 以(a,b,c)为球心,R为半径

    % 生成数据
    [x,y,z] = sphere(20);

    % 调整半径
    x = R*x; 
    y = R*y;
    z = R*z;

    % 调整球心
    x = x+a;
    y = y+b;
    z = z+c;

    % 使用mesh绘制
    figure;
    axis equal;
    mesh(x,y,z);

    % 使用surf绘制
    figure;
    axis equal;
    surf(x,y,z);
end

结果

% 绘制球心为(1,2,3),半径为2的球面
drawsphere(1,2,3,2);
  1. 使用mesh绘制

    Matlab 绘制球面_第1张图片

  2. 使用surf绘制

    Matlab 绘制球面_第2张图片

你可能感兴趣的:(matlab,matlab)