声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

声振论坛 展示 科学计算 matlab 查看内容

[分享]一个有趣的动画(matlab做的)

2015-10-24 00:33| 发布者: aspen| 查看: 937| 评论: 0|原作者: AaronSpark|来自: 声振论坛

摘要: 这是一个半径为R的车轮作摆线运动的动画。 function a=p511() %这是一个MaLab动画: 半径为R的车轮作摆线运动. %作者:superkugua Q Q :49239359 email: superkugua@163.com v0=.2;R=1;t=0:.05:6*R*pi/v0; x0=0;y ...
这是一个半径为R的车轮作摆线运动的动画。
function a=p511()
%这是一个MaLab动画: 半径为R的车轮作摆线运动.
%作者:superkugua Q Q :49239359 email: superkugua@163.com
v0=.2;R=1;t=0:.05:6*R*pi/v0;
x0=0;y0=0;
sita=0:pi/20:2*pi;
cx=R*sin(sita);
cy=R*cos(sita)+R;
xt=v0*t;
x=v0*t-R*sin(v0/R*t);
y=R-R*cos(v0/R*t);
% plot(x,y);
line([0,6*R*pi],[0,0],'color','y');
title('MatLab动画: 摆线运动 ');
axis([-R,20,0,10]);
axis('off','equal');%
point=line(x0,y0,'color','b','linestyle','.','erasemode','none','markersize',5);
circle0=line(cx,cy,'color','r','linestyle','--','erasemode','xor','markersize',1);%
line0=line([0,0],[R,0],'color','r','linestyle','-','erasemode','xor','markersize',1);%
n=length(t);
i=1;
while 1
temp=xt(i);
set(circle0,'xdata',cx+temp);drawnow;
set(line0,'xdata',[temp,x(i)],'ydata',[R,y(i)]);drawnow;
set(point,'xdata',x(i),'ydata',y(i));
drawnow;
if i==n
di=-1;set(point,'erasemode','background');
end
if i==1
di=1;set(point,'erasemode','none');
end
i=i+di;
end

最新评论

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-12 11:51 , Processed in 0.036527 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部