三維空間中物體兩次旋轉之間的連續旋轉矩陣計算

Qrui發表於2018-08-30

問題:物體在三維空間中旋轉兩次(狀態1,狀態2),將這兩次旋轉平均分割成200份,使其自動的連續從狀態1旋轉到狀態2,計算這個連續的旋轉矩陣。

兩種方法:

  1. 首先,據兩次矩陣,可獲得狀態1到狀態2的旋轉矩陣A;
  2. 根據旋轉矩陣A計算出尤拉角,alpha, beta, gamma(三個座標軸);\gamma =\arctan \left ( A_{31},A_{_{32}} \right ) \beta =\arccos \left ( A_{33}} \right ) \alpha =\arctan \left ( A_{13},A_{_{23}} \right )
  3. 將尤拉角平均200份,根據尤拉角算出連續旋轉矩陣。

由於尤拉角本身有一些缺點,再加上尤拉角平分200后角度太小,做正弦、餘弦變換後數值精度不夠,從狀態1連續旋轉後一般達不到狀態2。

第二種方法。根據旋轉矩陣,計算旋轉向量(Rotate Vector)

首先,據兩次矩陣,可獲得狀態1到狀態2的旋轉矩陣A;

根據旋轉矩陣A計算出旋轉向量;

將旋轉向量的旋轉角平分200,計算獲得連續旋轉矩陣。

通過旋轉向量獲得的連續矩陣,使得物體從狀態1可達到一個比較好的狀態2(比較了一下變換後的矩陣,旋轉矩陣還是有一些差距)。

參考:

剛體在三維空間的旋轉(關於旋轉矩陣、DCM、旋轉向量、四元數、尤拉角)

Rotation formalisms in three dimensions

 

相關文章