[問題] Euler angle 計算已回收

看板MATLAB作者 (acircle)時間15年前 (2010/09/22 06:35), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
我想請問一個矩陣座標轉換 Euler angle in ZYZ 有一個參考作標 [1 0 0;0 1 0;0 0 1] 設為原點 另一個三維座標,A,經由一個旋轉矩陣(3*3)可轉成和參考座標相同 另一個三維座標,B,可經由另一個旋轉矩陣(3*3)轉成和參考座標相同 我想要問要怎樣算將B三維座標轉成A三圍座標的旋轉矩陣 謝謝 matlab 有一個功能叫dcm2angle %DCMtoAngle [alpha, beta, gama] = dcm2angle( H7,'ZYZ' ); radius=[alpha beta gama] degree=[alpha*180/pi beta*180/pi gama*180/pi] 假設 H7=[ 0.6886977 -0.7250486 0.0000545 0.7250486 0.6886977 -0.0000286 -0.0000168 0.0000592 1.0000000 ] 得到radius = 1.8473 0 -2.6583 但我用R(alpha,beta,gama)=Rz(gama)*Ry(beta)*Rz(alpha) 得 x7=atand(H7(3,2)/H7(3,1)); alpha=atan(H7(3,2)/H7(3,1)); beta=atan(H7(3,1)/(H7(3,3)*cos(x7))); gama=atan(-H7(2,3)/H7(1,3)); EulerAngle7=[alpha beta gama]' 得 EulerAngle7 = -1.2943 -0.0001 0.4833 為什麼答案不同 若H7=[0 1 0; 1 0 0; 0 0 1]用ZYZ 三個EULER angle是什麼? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 35.10.118.93
文章代碼(AID): #1CcJCoVy (MATLAB)