MATLAB中的柱面与球面

在MATLAB中,有专门绘制柱面与球面的命令cylinder和sphere。

首先来看cylinder命令

调用格式                                                说明

[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 + cos(t), 30);
>> surf(X,Y,Z)
>> axis square
>> xlabel('x-axis'),ylabel('y-axis'),zlabel('z-axis')
>> 

MATLAB中的柱面与球面_第1张图片

注意:

axis square/将当前坐标系图形设置为方形。横轴及纵轴比例是1:1
axis equal/将横轴纵轴的定标系数设成相同值


也就是说axis square刻度范围不一定一样,但是一定是方形的。

axis equal刻度是等长的,但也不一定是方形的。

接着看下sphere命令,它用来生成三维直角坐标系中的球面,它的使用格式如下:

调用格式                                               说明

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

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

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

>> close all
>> [X1,Y1,Z1] = sphere(8);
>> [X2,Y2,Z2] = sphere(20);
>> subplot(1,2,1);
>> surf(X1,Y1,Z1)
>> title('64个面组成的球面')
>> subplot(1,2,2);
>> surf(X2,Y2,Z2)
>> title('400个面组成的球面')
>> 
MATLAB中的柱面与球面_第2张图片

你可能感兴趣的:(MATLAB中的柱面与球面)