cylinder函数说明
[X,Y,Z] = cylinder
返回三个 2
×21
矩阵,其中包含圆柱的 x、y 和 z 坐标,但不对其绘图。圆柱的半径为 1,圆周上有 20 个等间距点。底面平行于 xy 平面。
[X,Y,Z] = cylinder(r)
返回具有指定剖面曲线 r
和圆周上 20 个等距点的圆柱的 x、y 和 z 坐标。该函数将 r
中的每个元素视为沿圆柱单位高度的等距高度的半径。
[X,Y,Z] = cylinder(r,n)
返回具有指定剖面曲线 r
和圆周上 n
个等距点的圆柱的 x、y 和 z 坐标。
以上均可使用surf
或 mesh
函数绘制圆柱。
利用cylinder绘制圆锥面
首先要更改圆柱的高,我们可以使矩阵z乘上一个常数即可,这个常数就是更改后的高度。
而要将圆柱更改为圆锥,需要使矩阵x,y的第二行数据更改为底面圆的圆心,由于cylinder函数的底面圆心默认为(0,0),我们只需要将其更改为0即可
代码实现如下:
r = 3; %圆锥的底面半径
h = 6; %圆锥的高
n = 20; %面数
[x,y,z] = cylinder(r,n);
x(2,:) = 0;
y(2,:) = 0;
z = z.*h;
surf(x,y,z)
绘制圆台侧面
同理我们可以绘制出圆台的侧面
R = 3; %圆台的下底面半径
r = 1; %圆台的上底面半径
h = 6; %圆台的高
n = 20; %面数
[x1,y1,z] = cylinder(R,n);
[x2,y2,z2] = cylinder(r,n);
x(1,:) = x1(1,:);
y(1,:) = y1(1,:);
x(2,:) = x2(2,:);
y(2,:) = y2(2,:);
z = z.*h;
surf(x,y,z)