2007年3月27日 星期二

作業四

B94611037 蔡智鴻
作業4-1
以講義第二章之圖2.5之正三角形為例,試寫出matlab程式,分別就三個頂點作動態旋轉(正三角形之邊長L=(你的學號末二碼)+10)。
L=37+10;
axis equal;
AXIS([-200 200 -200 200])
x=[0 L/2 L 0];
y=[0 (3)^(1/2)*L/2 0 0];
picture=line(x,y)
for n=1:120
rotate(picture,[0 0 1],3,[ L/2 (3)^(1/2)*L/2 0])
pause(0.005)
end
for n=1:120
rotate(picture,[0 0 1],3,[L 0 0])
pause(0.005)
end
for n=1:120
rotate(picture,[0 0 1],3,[0 0 0])
pause(0.005)
end






其實它是會動的!!!!
作業4-2
設一連桿長度為10cm,厚度為4cm,繞於原點旋轉,其另一端則以一條彈簧固定於(15,0)cm的位置,試利用matlab寫出一程式,並繪圖顯示出該桿迴轉一圈時之位置。
linkshape([10 0],[0,0],4)
axis equal;
AXIS([-25 25 -25 25])
x=10;y=0;
x1=15;y1=0;
for n=1:15:360;
x2=x*cosd(n);
y2=-x*sind(n);
linkshape([0,0], [x2,y2], 4)
line([x1,x2],[y1,y2]);
end




作業4-3



有一四連桿,其ABCD四點之座標分別為A(0,0);B(3,4);C(13,4);D(10,0),其單位為cm,若AD為固定桿,AB為第二桿BC與CD分別為第三與第四桿,各桿厚度分別為2cm,3cm,1.5cm,2cm。試繪出其相關位置。



若AB為主動迴轉桿,則其每間隔30度間之對應位置會如何?
axis equal;
AXIS([-10 20 -10 10])
Ax=0;Ay=0;
Bx=3;By=4;
Cx=13;Cy=4;
Dx=10;Dy=0;
linkshape([Ax,Ay],[Bx By],2);
linkshape([Bx,By],[Cx Cy],3);
linkshape([Cx,Cy],[Dx Dy],1.5);
linkshape([Ax Ay],[Dx,Dy],2);
for n=0:20:360;
a=Bx*cosd(n)+By*sind(n);
b=-Bx*sind(n)+By*cosd(n);
c=Cx+(a-Bx);
d=b;
linkshape([a b],[Ax,Ay],2);
linkshape([c d],[a,b],3);
linkshape([Dx Dy],[c,d],1.5);
linkshape([Ax Ay],[Dx,Dy],2);
end;




1 則留言:

不留白老人 提到...

說明太少,應告知為何如此做及目的如何,不要讓題目所述的比要回答的多得太多!