"); //-->
程序如下:
clear
speed = 10;
t = 0;
Y_a = 4;Y_b = 4;Y_c =4;Yd=4;
r = 2;
w = 9;
sita1=0;%设置开始它们都在水平线上
pausetime=.002;
set(gcf,'doublebuffer','on');%消除抖动
axis equal;axis off;%建立坐标系
axis([-5 20 -9 9])
title('自行车','fontsize',15);%标题
hold on
a =[0:.01:2*pi]; %角度
plot(cos(a)*4,sin(a)*4,'color','k','marker','.','markersize',7);%画第一个轮胎
plot(15+cos(a)*4,sin(a)*4,'color','k','marker','.','markersize',7);%画第2个轮胎
plot(0,0,'color','m','marker','.','markersize',70);%画出第一个轴
plot(8,0,'color','m','marker','.','markersize',70);%画第2个轴
plot(8+r*cos(a),r*sin(a),'color','w','marker','.','markersize',4);%画轨道
a1=line([0;8],[0.7;0.7],'color','m','linewidth',3);%设置链条
a2=line([0;8],[-0.7;-0.7],'color','m','linestyle','-','linewidth',3);%设置链条
p1=plot(8+r*cos(sita1),r*sin(sita1),'color','k','marker','.','markersize',40);%画踏板初始位置
p2=plot(8+r*cos(sita1+pi),r*sin(sita1+pi),'color','k','marker','.','markersize',40);%画踏板初始位置
a3 = line([0 8+r*cos(sita1)],[0 r*sin (sita1+pi)],'EraseMode','xor','Color','k','linestyle','-','linewidth',3);%画出踏板与车的连接轴
a4 = line([0 8+r*cos(sita1+pi)],[0 r*sin(sita1)],'EraseMode','xor','Color','k','linestyle','-','linewidth',3);%画出连接轴
line([0;4],[0;5],'color','k','linewidth',3);%设置杆子
line([4;13.2],[5;5],'color','k','linewidth',3);%设置杆子
line([0;13.2],[0;5],'color','k','linewidth',3);%设置杆子
line([4;4],[5;6],'color','k','linewidth',3);%设置杆子
line([3;5],[6;6],'color','k','linewidth',3);%设置座位
line([15;12],[0;8],'color','k','linewidth',3);%设置杆子
line([10;12],[7;7.9],'color','k','linewidth',3);%设置杆子
ax = Y_a * cos(2 * pi * t);ay = Y_a * sin(2 * pi * t); %计算初始4内支柱的横坐标和纵坐标
bx = Y_b * cos(2 * pi * t - pi/2);by = Y_b * sin(2 * pi * t - pi/2);
cx = Y_c * cos(2 * pi * t + pi/2);cy = Y_c * sin(2 * pi * t + pi/2);
dx = Yd * cos(2 * pi * t + pi); dy = Yd * sin(2 * pi*t + pi);
a = line([0 ax],[0 ay],'EraseMode','xor','Color','r','linestyle','-','linewidth',1); %画出4个支柱
b = line([0 bx],[0 by],'EraseMode','xor','Color','b','linestyle','-','linewidth',1);
c = line([0 cx],[0 cy],'EraseMode','xor','Color','g','linestyle','-','linewidth',1);
d = line([0 dx],[0 dy],'EraseMode','xor','Color','k','linestyle','-','linewidth',1);
a1 = line([15 15+ax],[0 ay],'EraseMode','xor','Color','r','linestyle','-','linewidth',1); %画出4个支柱
b1 = line([15 15+bx],[0 by],'EraseMode','xor','Color','b','linestyle','-','linewidth',1);
c1 = line([15 15+cx],[0 cy],'EraseMode','xor','Color','g','linestyle','-','linewidth',1);
d1 = line([15 15+dx],[0 dy],'EraseMode','xor','Color','k','linestyle','-','linewidth',1);
while 1 %让轮胎转起来的循环
t = t + 1/speed;
ax = Y_a * cos(2 * pi * t);ay = Y_a * sin(2 * pi * t);
bx = Y_b * cos(2 * pi * t - pi/2);by = Y_b * sin(2 * pi * t - pi/2);
cx = Y_c * cos(2 * pi * t + pi/2);cy = Y_c * sin(2 * pi * t + pi/2);
dx = Yd * cos(2 * pi * t + pi); dy = Yd * sin(2 * pi*t + pi);
set(p1,'Xdata',8+r*cos(sita1),'Ydata',r*sin(sita1+pi));%设置踏板的运动过程
set(p2,'Xdata',8+r*cos(sita1+pi),'Ydata',r*sin(sita1));
sita1=sita1+w*pausetime;%踏板相对轴转过的角度
pause(pausetime);
drawnow;
set(a,'XData',[0 ax],'YData',[0 ay]);%第一个轮胎的运动
set(b,'XData',[0 bx],'YData',[0 by]);
set(c,'XData',[0 cx],'YData',[0 cy]);
set(d,'XData',[0 dx],'YData',[0 dy]);
set(a1,'XData',[15 15+ax],'YData',[0 ay]);%第2个轮胎的运动
set(b1,'XData',[15 15+bx],'YData',[0 by]);
set(c1,'XData',[15 15+cx],'YData',[0 cy]);
set(d1,'XData',[15 15+dx],'YData',[0 dy]);
set(a3,'XData',[8 8+r*cos(sita1)],'YData',[0 r*sin(sita1+pi)]);%踏板的运动
set(a4,'XData',[8 8+r*cos(sita1+pi)],'YData',[0 r*sin(sita1)]);
end
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。