2007年4月10日 星期二

作業5-1-1

第一小題

%設定各個連結點直徑

dA1=10;dA2=6;
dB1=6;dB2=4;
dC1=4;
dfinger=0.5;%用來繪製手指圖形的直徑
t=linspace(pi/2,2.5*pi,20);
Cfinger=dfinger*exp(j*t');
dthumb=0.8; %用來繪製姆指圖形的直徑
tt=linspace(0,2*pi,20);
Cthumb=dthumb*exp(j*tt');

L1=31;L2=33;L3=14; %上手臂,下手臂,手掌的長
th2=0;th1=-pi/2;th3=-pi/6; %各個連桿與水平之夾角

%連桿圖形之連結點內外圓座標換算
CoutA1=max(dA1/2,0.2)*exp(j*t');
CinA1=CoutA1/2;
CoutA2=max(dA2/2,0.2)*exp(j*t');
CinA2=CoutA2/2;
CoutB1=max(dB1/2,0.2)*exp(j*t');
CinB1=CoutB1/2;
CoutB2=max(dB2/2,0.2)*exp(j*t');
CinB2=CoutB2/2;
CoutC1=max(dC1/2,0.2)*exp(j*t');
CinC1=CoutC1/2;

%各個連桿之座標設定,旋轉平移及繪出
arm1=[0;CinA1;CoutA1(1:10);L1+CoutA2(11:20);
L1+CinA2;L1+CoutA2(20);CoutA1(1)];
xx1=real(arm1);
yy1=imag(arm1);
x1=xx1*cos(th1)-yy1*sin(th1);
y1=xx1*sin(th1)+yy1*cos(th1);
line(x1,y1)
axis equal

arm2=[0;CinB1;CoutB1(1:10);L2+CoutB2(11:20);
L2+CinB2;L2+CoutB2(20);CoutB1(1)];
xx2=real(arm2);
yy2=imag(arm2);
x2=xx2*cos(th2)-yy2*sin(th2);
y2=xx2*sin(th2)+yy2*cos(th2)-L1;
line(x2,y2)
axis equal

arm3=[0;CinC1;CoutC1(1:10);L3/2-3i;
L3-2-2.5i+Cfinger(11:20);L3-7-2.2i+Cfinger(20);
L3-1-i+Cfinger(11:20);L3-6-0.2i+Cfinger(20);
L3+1.5i+Cfinger(11:20);L3-6+1.7i+Cfinger(20);
L3-1+3.5i+Cfinger(11:20);L3-9+3i+Cfinger(20);
L3-9+7.5i+Cthumb(1:10);L3-11+3i+Cthumb(10);
CoutC1(1)];
xx3=real(arm3);
yy3=imag(arm3);
x3=xx3*cos(th3)-yy3*sin(th3)+L2;
y3=xx3*sin(th3)+yy3*cos(th3)-L1;
line(x3,y3)
axis equal;
執行結果如下

1 則留言:

許惠善 提到...

我覺得你的圖形畫的滿精緻的!!太厲害

可是是不是註解可以寫得再詳細一點呢

不然這個程式碼好長

看得有點辛苦XP