没有合适的资源?快使用搜索试试~ 我知道了~
Matlab动画制作教程 掌握几个经典动画的制作方法,其他基本就没问题了
资源推荐
资源详情
资源评论
MATLAB 动画演示程序汇总
1.弹性蹦球演示程序
figure(1);%定义函数
axis([-5.1,5,-0.05,1.05]);%绘制二维图形
hold on;%保持当前图形及轴系所有的特性
axis('off');%覆盖坐标刻度,并填充背景
%通过填充绘出台阶及两边的挡板
fill([4.12,4.22,4.22,4.12],[-0.05,-0.05,1.05,1.05],'y');
fill([-5,-3.2,-3.2,-5],[-0.05,-0.05,0,0],'g');
fill([-3.2,-2.8,-2.8,-3.2],[-0.05,-0.05,0.2,0.2],'g');
fill([-3.2,-1.4,-1.4,-3.2],[0.2,0.2,0.25,0.25],'g');
fill([-1.4,-1,-1,-1.4],[0.2,0.2,0.45,0.45],'g');
fill([-1.4,0.4,0.4,-1.4],[0.45,0.45,0.5,0.5],'g');
fill([0.4,0.8,0.8,0.4],[0.45,0.45,0.7,0.7],'g');
fill([0.4,2.0,2.0,0.4],[0.7,0.7,0.75,0.75],'g');
fill([2.0,2.3,2.3,2.0],[-0.05,-0.05,0.75,0.75],'g');
fill([2.3,4.12,4.12,2.3],[-0.05,-0.05,0,0],'g');
%x2=line([-5,5],[0.25,0.25],'color','g','linestyle','-', 'markersize',50)%设置台阶边
框线,颜色,擦试方式
%line([-5,5],[0.5,0.5],'color','b','linestyle','-', 'markersize',50)%设置球与地面接
触面的颜色,擦试方式
%line([-5,5],[0.75,0.75],'color','b','linestyle','-', 'markersize',50)%设置球与地面
接触面的颜色,擦试方式
head=line(-5,1,'color','r','linestyle','.','erasemode','xor', 'markersize',60);%设置
小球颜色,大小,线条和擦试方式
%body=line(-5,1,'color','b','linestyle','-','erasemode','none'); %描绘轨迹线
%设置初始条件
while 1
t=4;
dt=0.001;
w=0;
dw=0.001;
w=0;%设置球弹起的初始位置
%设置球弹起的高度
while t<=4.12
t=dt+t;
if w<=1
w=dw+w;
else
w=-1;
end
y=(-w*w)+1;
set(head,'xdata',t,'ydata',y);%设置球的运动
%set(body,'xdata',t,'ydata',y);%描绘轨迹线
drawnow;
end %结束程序
w=0;%设置球弹起的初始位置
%设置球弹起的高度
while t>=2.11
t=t-dt;
if w<=1
w=dw+w;
else
w=-1;
end
y=(-w*w)+1;
set(head,'xdata',t,'ydata',y);%设置球的运动
%set(body,'xdata',t,'ydata',y);%描绘轨迹线
drawnow;
end %结束程序
w=0;%设置球弹起的初始位置
%设置球弹起的高度
while t>=1.11
t=t-dt;
if w<=1
w=dw+w;
else
w=-1;
end
y=(-w*w)/4+1;
set(head,'xdata',t,'ydata',y);%设置球的运动
%set(body,'xdata',t,'ydata',y);%描绘轨迹线
drawnow;
end %结束程序
w=-0.71;%设置球弹起的初始位置
%设置球弹起的高度
while t>=-0.62
t=t-dt;
if w<=1
w=dw+w;
else
w=-1;
end
y=(-w*w)/2+1;
set(head,'xdata',t,'ydata',y);%设置球的运动
%set(body,'xdata',t,'ydata',y);%描绘轨迹线
drawnow;
end %结束程序
w=-0.71;%设置球弹起的初始位置
%设置球弹起的高度
while t>=-2.31
t=t-dt;
if w<=1
w=dw+w;
else
w=-1;
end
y=(-w*w)/2+0.75;
set(head,'xdata',t,'ydata',y);%设置球的运动
%set(body,'xdata',t,'ydata',y);%描绘轨迹线
drawnow;
end %结束程序
w=-0.71;%设置球弹起的初始位置
%设置球弹起的高度
while t>=-4
t=t-dt;
if w<=1
w=dw+w;
else
w=-1;
end
y=(-w*w)/2+0.5;
set(head,'xdata',t,'ydata',y);%设置球的运动
%set(body,'xdata',t,'ydata',y);%描绘轨迹线
drawnow;
end %结束程序
for i=0:0.01:200%设置延时
y=i+2;
if(y>199)
end
end
end
2.嫦娥奔月演示程序
figure('name','嫦娥一号与月亮、地球关系');%设置标题名字
s1=[0:.01:2*pi];
hold on;axis equal;%建立坐标系
axis off % 除掉 Axes
r1=10;%月亮到地球的平均距离
r2=3;%嫦娥一号到月亮的平均距离
w1=1;%设置月亮公转角速度
w2=12%设置嫦娥一号绕月亮公转角速度
t=0;%初始时刻为0
pausetime=.002;%设置暂停时间
sita1=0;sita2=0;%设置开始它们都在水平线上
set(gcf,'doublebuffer','on') %消除抖动
plot(-20,18,'color','r','marker','.','markersize',40);
text(-17,18,'地球');%对地球进行标识
p1=plot(-20,16,'color','b','marker','.','markersize',20);
text(-17,16,'月亮');%对月亮进行标识
p1=plot(-20,14,'color','w','marker','.','markersize',13);
text(-17,14,'嫦娥一号');%对嫦娥一号进行标识
plot(0,0,'color','r','marker','.','markersize',60);%画地球
plot(r1*cos(s1),r1*sin(s1));%画月亮公转轨道
set(gca,'xlim',[-20 20],'ylim',[-20 20]);
p1=plot(r1*cos(sita1),r1*sin(sita1),'color','b','marker','.','markersize',30);%画月
亮初始位置
l1=plot(r1*cos(sita1)+r2*cos(s1),r1*sin(sita1)+r2*sin(s1));%画嫦娥一号绕月亮
公转轨道
p2x=r1*cos(sita1)+r2*cos(sita2);p2y=r1*sin(sita1)+r2*sin(sita2);
p2=plot(p2x,p2y,'w','marker','.','markersize',20);%画嫦娥一号的初始位置
orbit=line('xdata',p2x,'ydata',p2y,'color','r');%画嫦娥一号的运动轨迹
while 1
set(p1,'xdata',r1*cos(sita1),'ydata',r1*sin(sita1));%设置月亮的运动过程
set(l1,'xdata',r1*cos(sita1)+r2*cos(s1),'ydata',r1*sin(sita1)+r2*sin(s1));%设置
嫦娥一号绕月亮的公转轨道的运动过程
ptempx=r1*cos(sita1)+r2*cos(sita2);ptempy=r1*sin(sita1)+r2*sin(sita2);
set(p2,'xdata',ptempx,'ydata',ptempy);%设置嫦娥一号的运动过程
p2x=[p2x ptempx];p2y=[p2y ptempy];
set(orbit,'xdata',p2x,'ydata',p2y);%设置嫦娥一号运动轨迹的显示过程
sita1=sita1+w1*pausetime;%月亮相对地球转过的角度
sita2=sita2+w2*pausetime;%嫦娥一号相对月亮转过的角度
pause(pausetime); %暂停一会
drawnow
end
3.曲柄连杆机构充气球动画演示程序
hf=figure('name','打气筒吹气球');
set(hf,'color','g');
axis([-10,10,-4,4]);
hold on
axis off; %除掉坐标
xa0=-2.5;%活塞左顶点坐标
xa1=-1.8;%活塞右顶点坐标
xb0=-2;%连杆左顶点坐标
xb1=5;%连杆右顶点坐标
x3=5.6;%转轮坐标
y3=0;%转轮坐标
x4=xb1;%设置连杆头的初始位置横坐标
y4=0;%设置连杆头的初始位置纵坐标
x5=xa1;
y5=0;
x6=x3;%设置连轴初始横坐标
y6=0;%设置连轴初始纵坐标
a=0.7;
b=0.7
c=0.7
a1=line([xa0;xa1],[0;0],'color','m','linestyle','-','linewidth',20); %设置活塞
a8=line([-2.7;2.3],[0.3;0.3],'color','b','linestyle','-','linewidth',5);%设置打气筒
a9=line([-2.6;2.3],[-0.3;-0.3],'color','b','linestyle','-','linewidth',5);%设置打气筒
a10=line([-2.6;-2.6],[-0.1;-0.37],'color','b','linestyle','-','linewidth',5);%设置打气
筒
a11=line([2.0;2.0],[0.1;0.37],'color','b','linewidth',5);%设置打气筒
a12=line([2.0;2.0],[-0.1;-0.37],'color','b','linewidth',5);%设置打气筒
a13=line([-2.6;-2.6],[0.1;0.37],'color','b','linestyle','-','linewidth',5);%设置打气筒
a14=line([-2.7;-2.7],[0.1;-0.1],'color','b','linestyle','-','linewidth',9);%设置气筒嘴
a16=line([-3.2;-3.2],[0.1;-0.1],'color','r','linestyle','-','linewidth',25);%设置气筒嘴
a2=line([xb0;xb1],[0;0],'color','m','linewidth',5);%设置连杆
a5=line(x5,y5,'color','black','linestyle','.','markersize',25);%设置连杆活塞连接头
a4=line(x4,y4,'color','black','linestyle','.','markersize',25);%设置连杆连接头
a6=line([xb1;x3],[0;0],'color','b','linestyle','-','linewidth',7);%设置连杆连接轴
a7=line(x3,0,'color','m','linestyle','.','markersize',50);%设置运动中心
a3=line(x3,y3,'color' ,[0.5 0.6 0.3],'linestyle','.','markersize',85);%设置手轮
len1=6.8;%连杆长
len2=0.7;%活塞长
r=1.3;%运动半径
dd=0.01;
d=-4;
plot(d,0,'color','r','marker','.','markersize',10);
pausetime=.0001
s=0;
ds=1;
剩余60页未读,继续阅读
资源评论
tomhot9080
- 粉丝: 0
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- DatabaseWatermarkingBasedonTextFormat
- -移动通信-网络课程设计与研究
- 基于Python的PCA人脸识别算法的原理及实现代码+文档详解.zip
- 甘肃移动全业务工程建设项目管理流程优化研究
- 549springboot + vue 民宿管理平台.zip (可运行源码+数据库文件+文档)
- ZArchiver.Pro_0.9.5.apk
- vmware环境配置.mp4
- 548springboot + vue 大学生社团活动平台.zip(可运行源码+数据库文件+文档)
- 微信小程序 辩论倒计时小程序源码 作业设计demo 计算机专业参考
- 深入探究文件IO,嵌入式Linux
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功