MATLAB利用cylinder函数绘制圆锥面与圆台面

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)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值