2007年4月10日 星期二

作業5-2-3

利用教學講義的function
可以計算出各個手指之長度,角度,及速度

function [vec,dyadata] = dyad(rho,theta,td,tdd)
theta=theta(:);
rho=rho(:);
n=length(rho);
if nargin<4,
tdd=zeros(size(rho));
if nargin==2,
td=ones(size(rho));
end
end
if length(td)==1,
td=ones(size(rho))*td;
end
if length(tdd)==1,
tdd=ones(size(rho))*tdd;
end
td=td(:);tdd=tdd(:);d2g=pi/180;
tt=exp(i*theta*d2g);pp=rho.*tt;vv=i*td.*pp;
aa=-pp.*td.^2+i*pp.*tdd;
dyadata=[pp vv aa]
vect=[abs(sum(dyadata));
angle(sum(dyadata))/d2g]


若以rho1=12,rho2=4,rho3=3,rho4=2(手掌及各指節長度)
theta1=0,theta2=45,theta3=60,theta4=90
td1=0,td2=0.5,td3=0.75,td4=1.15代入
則執行結果為
>> dyad([12,4,3,2],[0,45,60,90],[0,0.5,0.75,1.15])
dyadata =

12.0000 0 0
2.8284 + 2.8284i -1.4142 + 1.4142i -0.7071 - 0.7071i
1.5000 + 2.5981i -1.9486 + 1.1250i -0.8438 - 1.4614i
0.0000 + 2.0000i -2.3000 + 0.0000i -0.0000 - 2.6450i

上述四列分別代表手掌及各指節的的位置,速度,角速度(由左至右)

1 則留言:

不留白老人 提到...

這一部份解釋較少,其過程是什麼未交待