Matlab绘图------三维绘图(三)-----柱面和球面

在Matlab中有专门绘制柱面和球面的命令:cylinder和sphere,它们的使用格式如下:
(1)绘制柱面

[X,Y,Z]=cylinder      :返回一个半径为1,高度为1的圆柱体的x轴,y轴,z轴的坐标值,圆柱体的圆周有20个距离相同的点

[X,Y,Z]=cylinder(r,n)  :返回一个半径为r,高度为1的圆柱体的x轴,y轴,z轴的坐标值,圆柱体的圆周有n个距离相同的点

[X,Y,Z]=cylinder(r)     :与[X,Y,Z]=cylinder(r,20)等价

cylinder(...)                :没有任何的输出向量,直接画出圆柱体

例如:绘制一个半径变化的柱面

close all

t=0:pi/10:2*pi;

[X,Y,Z]=cylinder(2+sin(t)-cos(t),30);

surf(X,Y,Z);

axis square;

xlabel('x-axis');

ylabel('y-axis');

zlabel('z-axis');

Matlab绘图------三维绘图(三)-----柱面和球面_第1张图片

(2)绘制球面

sphere命令用来生成三维直角坐标系中的球面

sphere    :绘制单位球面,该单位球面由20x20个面组成

sphere(n) :在当前坐标系中画出由nxn个面组成的球面;

[X,Y,Z]=sphere :返回三个(n+1)x(n+1)的直角坐标系中的球面坐标矩阵;

例如:

绘制棱柱、由84个面组成的球面与由400个面组成的球面

>> close all
>> [X1,Y1,Z1]=sphere(8);
>> [X2,Y2,Z2]=sphere(20);
>> subplot(1,3,1);
>> cylinder(2,8);
>> title('底面为正八面形的棱柱');
>> subplot(1,3,2);
surf(X1,Y1,Z1);
title('84个面组成的球面');
>> subplot(1,3,3);
surf(X2,Y2,Z2);
title('400个面组成的球面');

Matlab绘图------三维绘图(三)-----柱面和球面_第2张图片

你可能感兴趣的:(Matlab,数据分析)