用MATLAB画桌子,怎样用matlab编写桌子的动态变化图
匿名用户
1级
2014-09-13 回答
L=120; %长
D=50; %宽,圆桌面直径
d=2.5; %木板宽
hL=L/2; %半长
R=D/2; %圆桌面半径
y=-R+d/2:d:R-d/2; %长条宽度方向中心位置
x=sqrt(R^2-y.^2); %长条中心在圆上的位置
H=hL-x(1); %最长腿长度,也就是最大桌子高度
Tx=[x -x;x -x];Ty=[y-d/2 fliplr(y)+d/2;y+d/2 fliplr(y)-d/2]; %桌面数据
Tx=Tx(:);Ty=Ty(:);Tz=zeros(size(Tx));
legx=[hL*ones(size(x));hL*ones(size(x));x;x]; %桌腿数据
legy=[y-d/2;y+d/2;y+d/2;y-d/2];
legz=zeros(size(legx));
zhoux=[hL-H/2;hL-H/2];zhouy=[-R R];zhouz=[0;0]; %轴数据
figure(1),clf;
h1=patch(Tx,Ty,Tz,'facecolor',[1 0.5 0],'edgecolor',[1 1 1]);
h2=patch(legx,legy,legz,'facecolor',[1 0.5 0],'edgecolor',[1 1 1]);
h3=patch(-legx,legy,legz,'facecolor',[1 0.5 0],'edgecolor',[1 1 1]);
hold on
h4=plot3(zhoux,zhouy,zhouz,'k-.');
h5=plot3(-zhoux,zhouy,zhouz,'k-.');
hold off
view(3);
axis equal;
axis([-hL hL -R R 0 H]);
axis off;
ddeg=2; %角度增量
for deg=0:ddeg:75 %最长条桌腿相对桌面折叠角度
zz=-H/2*sind(deg); %轴相对桌面高度
xx=x(1)+H/2*cosd(deg); %轴横坐标
alldeg=atan2(-zz*ones(size(x)),xx-x); %每个条腿折叠角度
allx=(hL-x).*cos(alldeg)+x; %每条腿末端x坐标
allz=-(hL-x).*sin(alldeg); %每条腿末端z坐标
minz=min(allz); %最小z坐标
legx=[allx;allx;x;x]; %腿x数据
legz=[allz;allz;zeros(size(allz));zeros(size(allz))]-minz;%t腿z数据
set(h1,'ZData',-minz*ones(size(Tz)));
set(h2,'XData',legx,'ZData',legz);
set(h3,'XData',-legx,'ZData',legz);
set(h4,'XData',[xx;xx],'ZData',[zz;zz]-minz);
set(h5,'XData',-[xx;xx],'ZData',[zz;zz]-minz);
pause(0.1);
drawnow;
end
追问:
你也是数学建模的吗?好厉害,谢谢你。
用MATLAB画桌子,怎样用matlab编写桌子的动态变化图相关推荐
- matlab绘图z=sin(x_「matlab画三维图」Matlab 应用之绘制三维图形(基础篇) - seo实验室...
matlab画三维图 在Matlab中,三维图形的绘制包括三维曲线,三维网线图和三维曲面图.闲话不多说,直接进入正题.首先介绍几个函数: 1.plot3(x,y,z,-) 其中,x,y,z为维数相同的 ...
- matlab画不定积分图像实例,matlab怎么画函数图像,原来是这样的
函数想必大家都不陌生,有时候我们需要画出函数的图形,但是复杂的函数我们画出来花费时间太多,下面我来教大家用matlab画函数图像. 工具/材料 电脑 matlab软件 操作方法 01 先下载安装这个软 ...
- matlab画伯德图开环程序,matlab伯德图开环闭环
Matlab 中 Bode 图的绘制技巧 学术收藏 2010-06-04 21:21:48 阅读 54 评论 0 字号:大中小 订阅 我们经常会遇到使用 Matlab 画伯德图的情况,可能我们我们都知 ...
- 怎么用matlab画双8曲线,MATLAB画双纵轴曲线。
Matlab plotyy画双纵坐标图实例 x = 0:0.01:20; y1 = 200*exp(-0.05*x).*sin(x); y2 = 0.8*exp(-0.5*x).*sin(10*x); ...
- matlab 画实心矩形,用matlab画最小外接矩形
在此之前先介绍一个画矩形的函数: rectangle('Position',[0.59,0.35,3.75,1.37],'Curvature',[0,0],'LineWidth',2,'LineSty ...
- matlab画平面心形线,matlab三维心形线画法
cosθ的心形线图像 图 2 ρ = 0.5 + cosθ的心形线图像 图 5 ρ = 1 ? cosθ的心形线图像 Matlab 绘制,附代码: theta=0:0.1:2*pi; rho1=1-. ...
- matlab画平行板电场,MATLAB静电场电场电势
<MATLAB静电场电场电势>由会员分享,可在线阅读,更多相关<MATLAB静电场电场电势(21页珍藏版)>请在人人文库网上搜索. 1.用MATLAB解决电磁场中的问题,问题引 ...
- matlab画y x 2,matlab怎么绘制z=sqrt(x^2 y^2)的图像
Matlab怎么绘制x^2+y^2=1曲线 [1]zhaoyucai答非所问,涉嫌抄袭.[2]风飘水渺回答正确.[3]但还有更简单的方法:>>ezplot('x^2+y^2=1',[-1. ...
- matlab画出衰减振荡曲线,matlab程序题复习程序.doc
1.编写m文件要求利用matlab数值绘图功能画出衰减振荡曲线及其它的包络线.的取值范围是,数值采样间隔点为pi/50,在图中用红色是线段绘出,用蓝色虚线绘出,且两函数作在同一张图上. t 0:pi/ ...
- matlab画动物轮廓图,MATLAB一维插值的应用实例—画左右手的轮廓图
问题提出 画你自己的手的形状,在MATLAB中输入 figure('position',get(0,'screensize')) axes('position',[0 0 1 1]) [x,y]=gi ...
最新文章
- 用Numpy搭建神经网络第二期:梯度下降法的实现
- python多线程加速for循环_多线程-如何在Python的循环中对操作进行多线程
- 也谈表达式分析和计算
- NYOJ 518 取球游戏
- 关于linux挂载windows共享文件夹的试验
- MySQL 导出数据
- arima模型怎么拟合_7个统计测试,用于验证和帮助拟合ARIMA模型
- 怎么在地图上画圆 php,SOSO地图API使用(一)在地图上画圆实现思路与代码
- 代写python作业费用标准_代做159.272作业、代写Programming Paradigms作业、代做Python实验作业、代写Java/c++编程作业代写Database|代做R...
- 简单poi创建execl
- 路由器:斐讯K3C刷官改,固件版本是32.1.46.268
- ROS安装教程(ubuntu20.04安装ROS Noetic Ninjemys)
- 苹果电脑mac或苹果手机如何下载b站视频到电脑或手机本地?
- 100行代码实现HarmonyOS“画图”应用,eTS开发走起
- 联想e470加装固态硬盘_ThinkPad E470C怎么安装固态硬盘?
- 一篇不错的关于VSS的入门介绍
- 花千骨与虐死人的源代码
- 一个电子邮件规则-拥有一个单独的收件箱和一个收件箱CC,以减轻电子邮件压力。 保证。
- 从后台得到webshell技巧大汇总
- 宇贸电商二期-项目架构搭建
热门文章
- 拒绝conda, 用virtualenv构建多版本的python开发环境
- Nature子刊:细菌和古菌从域到种的完整分类
- 宏基因组合种树,2-4天领证
- QIIME 2用户文档. 13数据评估和质控Evaluating and controlling(2018.11)
- R语言使用ggplot2包使用geom_violin函数绘制分组小提琴图(配置显示均值、中位数)实战
- R语言ggplot2可视化并添加特定区间的回归线、R原生plot函数可视化并添加特定区间的回归线:Add Regression Line Between Certain Limits
- R语言Goldfeld-Quandt检验实战:检验回归模型中是否存在异方差性(heteroscedasticity)、发生了异常差(heteroscedasticity)问题如何解决
- 机器学习误差分析(Error Analysis)实战
- 线性模型系数解读中的那些坑,以套索回归(LASSO)和岭回归(Ridege)为例
- Windows下使用Tesseract进行OCR文字识别