一、剛體旋轉的表示方法有如下四種:
旋轉矩陣(r3x3) ------旋轉矩陣r為正交陣(行或列向量都是兩兩正交的單位向量)。
四元數(quaternion)------ 四元數可以只用四個元素就能表示旋轉,在使用四元數進行旋轉變換之前需要對四元數進行歸一化。
旋轉向量v -------也稱:軸角,由乙個旋轉軸向量和旋轉角組成。旋轉軸向量需要標準化為單位向量。
尤拉角(vector3d) -------常用於飛機等人機互動的介面,不常用於slam中。在eigen庫中,其常用軸角來進行模擬x,y,z軸的旋轉情況。
二、各種旋轉之間的轉換關係如下:
四元數---->旋轉向量: v_rotate = angleaxisd (q)[1] 旋轉矩陣、旋轉向量(軸角)、四元數、尤拉角之間相互轉換的**實現旋轉向量----->四元數: q = quaterniond (v_rotate)
旋轉向量----->旋轉矩陣: r = v_rotate.matrix() 或 r = v_rotate.torotationmatrix()
旋轉矩陣----->旋轉向量: v_rotate = angleaxisd (r)
四元數------>旋轉矩陣: r = matrix3d (q)
旋轉矩陣----->四元數: q = quaterniond (r)
四元數----->變換矩陣: t.rotate(q) , t.pretranslate(t) , t.matrix()
旋轉矩陣----->尤拉角: euler_angle = r.eulerangles(0,0,1)
尤拉角------>旋轉矩陣: r = angleaxisd(m_pi/4 , vector3d::unitx())*angleaxisd(m_pi/2 , vector3d::unity())*angleaxisd(m_pi/3 , vector3d::unitz())
[2] eigen中尤拉角,旋轉向量,旋轉矩陣,四元數的轉換
[3] eigen庫使用教程之旋轉矩陣,旋轉向量和四元數的初始化和相互轉換的實現
[4]
[5] 三維旋**尤拉角、四元數、旋轉矩陣、軸角之間的轉換
[6] eigen實現座標轉換
[7] 旋轉矩陣(rotate matrix)的性質分析
C 呼叫Eigen庫進行矩陣基礎運算
eigen標頭檔案介紹 利用c 呼叫eigen庫實現矩陣的基礎運算,包括矩陣的相加,相乘,轉置,求逆,伴隨矩陣,特徵值。eigen是c 中可以用來呼叫並進行矩陣計算的乙個庫,裡面封裝了一些類,需要的標頭檔案和功能如下 eigen基礎語法說明 矩陣型別 eigen中的矩陣型別一般都是用類似matri ...
Qt下Eigen矩陣函式庫的新增
之前在vs裡用eigen庫寫了一堆機械人姿態解算的矩陣運算,然而畢設要用到gui介面,聽大神說用qt比mfc有前途,所以著手用qt寫。但是在qt下eigen庫的新增上浪費了一點時間,所以索性再花點時間寫個部落格來幫助像我一樣的小白實現qt下eigen庫的新增。用qt隨便建乙個gui工程,在.pro下...
Qt下Eigen矩陣函式庫的新增
用qt隨便建乙個gui工程,在.pro下新增如下 路徑就是解壓eigen的那個路徑 includepath d library eigen eigencpp檔案中新增 qt下eigen矩陣函式庫的新增 include include主函式內部新增 eigen matrixxd aaa 2,3 aaa...