SLAM個人常用操作備忘錄字典 更新中

2021-09-08 13:51:36 字數 2663 閱讀 2922

eigen::matrixmatrix_23        //宣告乙個2*3的float矩陣

eigen::vector3d v_3d //實質上是 eigen::matrixeigen::matrix3d::identity() //單位陣

eigen::matrix3d::zero() //零矩陣

eigen::matrix< double, eigen::dynamic, eigen::dynamic > matrix_dynamic

//動態陣

matrix_23.cast() //矩陣格式轉換

eigen::matrix3d::random() //隨機數矩陣

matrix_33.transpose() //轉置

matrix_33.sum() //各元素和

matrix_33.trace() //跡

10*matrix_33 //數乘

matrix_33.inverse() //逆

matrix_33.determinant() //行列式

matrix_33.eigenvalues() //特徵值

matrix_33.eigenvectors() //特徵向量

eigen::angleaxisd rotation_vector ( m_pi/4, eigen::vector3d ( 0,0,1 ) );

//定義乙個沿 z 軸旋轉 45 度的angleaxis

rotation_vector.torotationmatrix() //angleaxis(不可直接輸出)給普通矩陣賦值

eigen::vector3d euler_angles = rotation_matrix.eulerangles ( 2,1,0 );

// 尤拉角: 可以將旋轉矩陣直接轉換成尤拉角

// zyx順序,即roll pitch yaw順序

// 歐氏變換矩陣使用 eigen::isometry,之後t與需轉換向量相乘即可

eigen::isometry3d t=eigen::isometry3d::identity();

// 雖然稱為3d,實質上是4*4的矩陣

t.rotate ( rotation_vector ); // 按照rotation_vector(旋轉矩陣)進行旋轉

t.pretranslate ( eigen::vector3d ( 1,3,4 ) );

// 把平移向量設成(1,3,4)

// 四元數,之後q與需轉換向量相乘即可

eigen::quaterniond q = eigen::quaterniond ( rotation_vector )

//angleaxis賦值給四元數

q = eigen::quaterniond ( rotation_matrix );

//旋轉矩陣賦給四元數

//sophus的so3使用

sophus::so3 so3_r(r); // sophus::so(3)可以直接從旋轉矩陣構造

sophus::so3 so3_v( 0, 0, m_pi/2 ); // 亦可從旋轉向量構造

sophus::so3 so3_q( q ); // 或者四元數

// 使用對數對映獲得它的李代數

eigen::vector3d so3 = so3_r.log();

// hat 為向量到反對稱矩陣

sophus::so3::hat(so3)

// 相對的,vee為反對稱到向量

sophus::so3::vee( sophus::so3::hat(so3) ).transpose()

//sophus的se3使用

eigen::vector3d t(1,0,0); // 沿x軸平移1

sophus::se3 se3_rt(r, t); // 從旋轉矩陣和平移向量構造se(3)

sophus::se3 se3_qt(q,t); // 從四元數和平移向量構造se(3)

vector6d update_se3; //更新量

update_se3.setzero();

update_se3(0,0) = 1e-4d;

(sophus::se3::exp(update_se3)*se3_rt).matrix()

//增量後se3矩陣顯示

const //是乙個c語言(ansi c)的關鍵字,具有著舉足輕重的地位。

//它限定乙個變數不允許被改變,產生靜態作用。

個人SVN備忘錄

專案目錄 home efuyi 裡面存放php檔案 網頁內容,nginx指向的的目錄 測試專案目錄 home efuyi temp 網頁內容,nginx指向的的目錄,測試時用 home logs nginx等錯誤日誌 home 基本目錄 root www home ls backup conf ef...

XML操作備忘錄

using system using system.collections.generic using system.linq using system.text using system.xml namespace common set string attributevalue 節點屬性值 pu...

Docker操作備忘錄

eg.docker export 7691a814370e ubuntu.tareg.docker import ubuntu.tar test ubuntu v1.0注 既可以使用 docker load 來匯入映象儲存檔案到本地映象庫,也可以使用 docker import 來匯入乙個容器快照到...