求問物體從a位置到b位置,怎麼求其沿x y z軸的旋轉角度。?
01-09
以簡單三角形為例,平動+旋轉,從A位置到B位置,怎麼求其沿x y z 軸的旋轉角度?
求大神指點。謝謝!
這是個特別典型的描述剛體運動+旋轉的問題。
描述的方法不唯一。我只提供一種我認為方便的描述方法。把運動+旋轉分解成剛體中心在坐標系的平移,以及剛體繞中心的旋轉。題主給的三角形的例子很好(很省事),設三角形的三個頂點分別是ABC,最方便的用來做其中心的點當然是重心
根據歐拉關於剛體轉動的歐拉定理,剛體在三維空間中的任意旋轉(單次旋轉、多次旋轉)的最終效果,都可以分解為剛體繞某個軸的一次旋轉。前面已經把剛體的運動拆成了中心位移和繞中心兩步。中心位移是整體運動,與剛體自身繞中心的旋轉無關(相當於地球繞太陽公轉);旋轉和中心位移無關(相當於地球自轉),所以考慮旋轉時,就把坐標系建在剛體自身。為方便起見,另其中心P為坐標系原點,繞P點旋轉。題主問的繞x、y、z旋轉,不管怎麼轉,最後都等價於繞某個軸旋轉。
描述三維旋轉,有以下三種常見、常用、等價的方法:- 四元數
- 軸、角
- 旋轉矩陣
我認為,軸、角是比較直觀的,所以這裡就只說軸、角。
根據歐拉定理,我們只要找到旋轉軸和繞旋轉軸轉過的角度就行了。所謂旋轉軸,是一個單位矢量(我們用(PA、PA『和PU都是矢量)
.
我補充一個計算四元數的比較簡單的公式吧。任何一個四元數可以看做一個標量部分
推薦閱讀:
※可以可以推薦一些CATIA自學教程?
※下載那個catia比較好?最近想學學
※為什麼達索公司同時開發Catia和SolidWorks?

