森之张卫东 发表于 2015-10-31 22:17

三维椭球的绘制---meshgrid函数的妙用

%绘制椭球三维图%说明:使用meshgrid函数,先绘制网格;%      X,Y分别代表新的x,y;%      再代入表达式得出surf函数需要的X,Y,Z矩阵。clcclearbeta=(-0.5:0.01:0.5)*pi;t2=(0:0.01:2)*pi; =meshgrid(beta,t2); Z(:,:,1)=2*cos(X).*cos(Y); % XZ(:,:,2)=3*cos(X).*sin(Y); % YZ(:,:,3)=4*sin(X); % Z%{surf(Z(:,:,1),Z(:,:,2),Z(:,:,3)); xlabel('x-轴');ylabel('y-轴');zlabel('z-轴');title('绘制椭球三维图')%}%==================================%使用view函数改变观测点!%==================================subplot(221)surf(Z(:,:,1),Z(:,:,2),Z(:,:,3));view(180,0)   %主视图title('主视图') subplot(222)surf(Z(:,:,1),Z(:,:,2),Z(:,:,3));view(0,90)   %俯视图title('俯视图') subplot(223)surf(Z(:,:,1),Z(:,:,2),Z(:,:,3));view(90,0)   %左视图title('左视图') subplot(224)surf(Z(:,:,1),Z(:,:,2),Z(:,:,3));% view(90,0)   %左视图title('正常视图')


森之张卫东 发表于 2015-10-31 22:18

%绘制椭球三维图
%说明:使用meshgrid函数,先绘制网格;
%      X,Y分别代表新的x,y;
%      再代入表达式得出surf函数需要的X,Y,Z矩阵。
clc
clear
beta=(-0.5:0.01:0.5)*pi;
t2=(0:0.01:2)*pi;

=meshgrid(beta,t2);

Z(:,:,1)=2*cos(X).*cos(Y); % X
Z(:,:,2)=3*cos(X).*sin(Y); % Y
Z(:,:,3)=4*sin(X); % Z
%{
surf(Z(:,:,1),Z(:,:,2),Z(:,:,3));

xlabel('x-轴');
ylabel('y-轴');
zlabel('z-轴');
title('绘制椭球三维图')
%}
%==================================
%使用view函数改变观测点!
%==================================
subplot(221)
surf(Z(:,:,1),Z(:,:,2),Z(:,:,3));
view(180,0)   %主视图
title('主视图')

subplot(222)
surf(Z(:,:,1),Z(:,:,2),Z(:,:,3));
view(0,90)   %俯视图
title('俯视图')

subplot(223)
surf(Z(:,:,1),Z(:,:,2),Z(:,:,3));
view(90,0)   %左视图
title('左视图')

subplot(224)
surf(Z(:,:,1),Z(:,:,2),Z(:,:,3));
% view(90,0)   %左视图
title('正常视图')

洛桑曲旦 发表于 2015-11-4 19:56

需要学习,有点不会!

青年梦想家 发表于 2015-11-5 21:25

不错不错~
页: [1]
查看完整版本: 三维椭球的绘制---meshgrid函数的妙用