2017-02-03 81 views
0

目前我正在試圖基於三維兩對推導出完整的旋轉矩陣ř矢量(V1,V1(V2,V2 使得推導從兩個變換的3D三維旋轉矩陣矢量

  • V1 = R * V1
  • V2 = R * V2
  • V1和V2相互正交。

兩對夫婦矢量都因爲單個夫婦矢量的使用(V1和其轉化載體,V1)不會帶來足夠的信息來構造旋轉矩陣R.一個很好的例子是爲了說明是例如V1躺在R.

的旋轉軸線的想法是建立兩個部分旋轉矩陣R1和R2,以獲得最終的矩陣R.

實現是使用GLM和R1和R2是計算如下

R1 = math::mat3_cast(math::rotation(V1, V1t)); 
R2 = math::mat3_cast(math::rotation(V2, V2t)); 

我的猜測是,計算在R之前,沿軸線V1旋轉應當從R2給予R2' 隔離。然後R將是R1 * R2'。

我的問題是

  • 首先,這是可行的,從轉換的3D矢量的兩對夫婦演繹出旋轉矩陣? (這兩個原始矢量V1和V2取爲互相正交的)
  • 如何沿着從旋轉矩陣的任意軸提取旋轉?

回答

0

你是在正確的軌道上,但我會改變這一點。

也許嘗試這種方式:

  • 計算R1從(V1,V1T)
  • 旋轉V2與R1,結果是V2R
  • 計算從(V2R,V2T)
  • 串聯R1 R2和R2得到最後的旋轉

它應該比試圖沿某些軸分離旋轉更容易。