欧拉角推算旋转矩阵的问题
旋轉(zhuǎn)的正方向
我們在進行旋轉(zhuǎn)的時候,我們首先得知道怎么是一個正方向,正方向是遵循右手定則的,即:右手握住對應(yīng)的旋轉(zhuǎn)軸,大拇指指向正方向,那么四根手指指向的方向就是正方向了。
接下來我們引入公式
//在右手系中繞X軸旋轉(zhuǎn)p° 對應(yīng)的矩陣Rx| 1 0 0 |Rx= | 0 cosp -sinp|| 0 sinp cosp| //在右手系中繞Y軸旋轉(zhuǎn)h° 對應(yīng)的矩陣Ry| cosh 0 sinh|Ry= | 0 1 0 ||-sinh 0 cosh| //在右手系中繞Z軸旋轉(zhuǎn)b° 對應(yīng)的矩陣Rz|cosb -sinb 0 |Rz= |sinb cosb 0 || 0 0 1 |如果對這個推算感興趣可以參考牛小驥老師的課件:
也就是這個轉(zhuǎn)化矩陣只要你是右手系就可以正常使用,不論你是使用下面誰的坐標(biāo)系:
- 右前上-東北天(西北工業(yè)大學(xué)嚴(yán)老師團隊)
- 前右下-北東地(武漢大學(xué)牛老師團隊)
都是可以正常使用的。
旋轉(zhuǎn)順序的問題
根據(jù)組合旋轉(zhuǎn)矩陣的定義也可以了解,多次旋轉(zhuǎn)組合在一起,例如Z-X-Y順規(guī)的歐拉角(30°,62°,28°)就是先繞Z軸旋轉(zhuǎn)28°,然后繞X軸旋轉(zhuǎn)30°,最后繞Y軸旋轉(zhuǎn)62°。單一的旋轉(zhuǎn)矩陣無法滿足這樣的組合旋轉(zhuǎn),無法完成對應(yīng)。此時就需要利用旋轉(zhuǎn)變換的性質(zhì):物體繞軸旋轉(zhuǎn)對應(yīng)的矩陣具有可累乘的性質(zhì),即多一次旋轉(zhuǎn)就是多一次矩陣乘法。
因此,組合旋轉(zhuǎn)矩陣就是對應(yīng)順序的基礎(chǔ)旋轉(zhuǎn)矩陣的乘積。例如Z-X-Y順規(guī)的歐拉角對應(yīng)的組合旋轉(zhuǎn)矩陣就是R = RzRxRy。如果是X-Y-Z順規(guī)的歐拉角,對應(yīng)的組合旋轉(zhuǎn)矩陣就是R = RxRyRz。依據(jù)這個乘法法則即可獲得歐拉角→旋轉(zhuǎn)矩陣的轉(zhuǎn)換。
舉一個例子,按照2.1節(jié)中的基礎(chǔ)旋轉(zhuǎn)矩陣,計算Z-X-Y順規(guī)下對應(yīng)的旋轉(zhuǎn)矩陣,其結(jié)果如下:
//歐拉角(p,h,b)在右手系中對應(yīng)的旋轉(zhuǎn)矩陣(Z-X-Y順規(guī))|cosbcosh-sinbsinpsinh -sinbcosp cosbsinh+sinbsinpcosh| R = Rz*Rx*Ry = |sinbcosh+cosbsinpsinh cosbcosp sinbsinh-cosbsinpcosh|| -cospsinh sinp cospcosh |安卓的歐拉角怎么轉(zhuǎn)化旋轉(zhuǎn)矩陣
總結(jié)
以上是生活随笔為你收集整理的欧拉角推算旋转矩阵的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 定位系列论文阅读-RoNIN(二)-Ro
- 下一篇: pycharm控制台调试程序