MATLAB基础编程(002-1)之弯曲的圆柱

本文档指导如何使用MATLAB代码,结合初中数学原理,修改现有代码以创建一个具有弯曲度的伞柄,包括圆柱体与半圆的组合,旨在帮助读者实现从基础圆柱到弯曲形状的过渡。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       之前画了一把伞,伞的内部有一些图形没有删除,所以很难看。一把伞应该还有伞柄,但是伞柄是由圆柱体和半个有弯曲度的圆柱体构成的,并不能通过参数方程显示出来。收集到如下代码:

将%% Drawing code这段代码修改如下(其他代码段不变):
%% Drawing code
clear
clc
close
%%下面代码是画侧面
%这里的圆柱体高度为h,可调
h=4;
%如果嫌网格比较密集就将下面的步长d=0.12改大些
d=0.12;
[A,Z]=meshgrid(0:2*pi/fix(2*pi/(1.2*d)):2*pi,0:h/fix(h/d):h);
LX=cos(A);
LY=sin(A);
h1=mesh(LX,LY,Z);
axis equal
hold on
%%下面代码功能是画圆柱体上下面
x=-1:d:1;y=-1:d:1;
[X,Y]=meshgrid(x,y);
X(X.^2+Y.^2>1)=NaN;
Y(X.^2+Y.^2>1)=NaN;
h2=mesh(X,Y,X*0);
h3=mesh(X,Y,X*0+h);

有如下效果图:

6f8fb2184f0ca0a786d5e851ea26861e.png

       想要画弯曲的伞柄,大致是个半圆,用到了初中的平移和三角函数,整体的不会画,请您补充,欢迎评论,大佬还请略过。代码经过修改后有如下:

%2022年5月3日16:17:40
%画一个有弯曲度的圆柱,原作者为:MATLAB论坛注册号

%% Drawing code
clear
clc
close
%%下面代码是画侧面
%这里的圆柱体高度为h,可调
h=4;
%如果嫌网格比较密集就将下面的步长d=0.12改大些
d=0.12;
%[A,Z]=meshgrid(0:2*pi/fix(2*pi/(1.2*d)):2*pi,0:h/fix(h/d):h);
[A,Z]=meshgrid(0:2*pi/fix(2*pi/(1.2*d)):2*pi,0:h/fix(h*3/d):h*3);
LX=cos(A);
LY=sin(A);
%h1=mesh(LX-(1/0.8)*Z,LY-(1/0.8)*Z,Z);

h1=mesh(LX-sqrt(abs(Z.^2-12^2)),LY-sqrt(abs(Z.^2-12^2)),Z);

axis equal
hold on


%%下面代码功能是原来画圆柱体的上下面,与现有圆柱体做对比

x=-1:d:1;y=-1:d:1;
[X,Y]=meshgrid(x,y);
X(X.^2+Y.^2>1)=NaN;
Y(X.^2+Y.^2>1)=NaN;
h2=mesh(X,Y,X*0);
h3=mesh(X,Y,X*0+h);

%%下面代码功能是现有有弯曲度画圆柱体的上下面

x=-1:d:1;y=-1:d:1;
[X,Y]=meshgrid(x,y);
X(X.^2+Y.^2>1)=NaN;
Y(X.^2+Y.^2>1)=NaN;
h2=mesh(X-12,Y-12,X*0);
h3=mesh(X,Y,X*0+h*3);

有如下效果:

 

32c15a8257734b2ab4e31d0c0f7d6935.png

 如遇问题,请留言。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

potato_potato_123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值