-
大小: 5KB文件類型: .cpp金幣: 1下載: 0 次發(fā)布日期: 2021-06-14
- 語言: C/C++
- 標(biāo)簽: 四元數(shù)??歐拉角??旋轉(zhuǎn)矩陣??
資源簡介
代碼!!!!重要!!!!
學(xué)習(xí)中關(guān)于機(jī)器人領(lǐng)域中四元數(shù)、歐拉角、旋轉(zhuǎn)矩陣、旋轉(zhuǎn)向量的相互轉(zhuǎn)換關(guān)系總結(jié),整理加深記憶。
每一個(gè)都有相互轉(zhuǎn)換關(guān)系,并注釋
代碼片段和文件信息
#include?
#include?
#include?
#include?
using?namespace?std;
#define?PI?3.1415926535897932346f
int?main(int?argcchar?**argv){
???//3D旋轉(zhuǎn)矩陣?定義為單位陣
???Eigen::Matrix3d?rotation_matrix?=?Eigen::Matrix3d::Identity();
???//定義旋轉(zhuǎn)向量??沿著z軸旋轉(zhuǎn)45度
???Eigen::AngleAxisd?rotation_vector(PI/4Eigen::Vector3d(001));?
???//??隱含了?一個(gè)變換??angleaxisd
???
???/*
????*?旋轉(zhuǎn)向量??-->??旋轉(zhuǎn)矩陣?
????*?旋轉(zhuǎn)向量??-->??旋轉(zhuǎn)矩陣??--->???歐拉角
????*?旋轉(zhuǎn)向量??-->??四元數(shù)
????*/
???cout<<“旋轉(zhuǎn)矩陣:“< ???cout< ??????????????????????????????????????????????????????????????????????????//旋轉(zhuǎn)向量--->旋轉(zhuǎn)矩陣
??????????????????????????????????????????????????????????????????????????
???rotation_matrix?=?rotation_vector.toRotationMatrix();
???cout<<“旋轉(zhuǎn)矩陣:“< ???cout< ??????????????????????????????????????????????????????????????????????????//旋轉(zhuǎn)向量--->旋轉(zhuǎn)矩陣
???
???Eigen::Quaterniond?q?=?Eigen::Quaterniond?(rotation_vector);??//....................rotation_vector??to?Quaterniond
???cout<<“四元數(shù):“< ???cout< ??????????????????????????????????????????????????????????????????????????//旋轉(zhuǎn)向量--->四元數(shù)
???
???/*
????*?旋轉(zhuǎn)矩陣??-->??旋轉(zhuǎn)向量
????*?旋轉(zhuǎn)矩陣??--->???歐拉角
????*?旋轉(zhuǎn)矩陣???--->???四元數(shù)
????*/
???rotation_vector=rotation_matrix;???//?..................................rotation_matrix??to?rotation_vector
??????????????????????????????????????????????????????????????????????????//旋轉(zhuǎn)矩陣--->旋轉(zhuǎn)向量??
??????????????????????????????????????????????????????????????????????????
???Eigen::Vector3d?euler_angles?=?rotation_matrix.eulerAngles(210);??//.......rotation_matrix??to?euler_angles?.........attention:??ypr
???cout<<“歐拉角:“< ???cout< ??????????????????????????????????????????????????????????????????????????//旋轉(zhuǎn)矩陣--->歐拉角
?????
???q?=?Eigen::Quaterniond(rotation_matrix);??//?.......................................rotation_matrix?to?Quaterniond
???cout<<“四元數(shù):“< ???cout< ???????????????????????????????????????????????????????????????????????????//旋轉(zhuǎn)矩陣--->四元數(shù)??
???????????????????????????????????????????????????????????????????????????
???/*
????*?四元數(shù)--->旋轉(zhuǎn)矩陣
????*?四元數(shù)--->旋轉(zhuǎn)矩陣?--->歐拉角
????*?四元數(shù)--
評論
共有 條評論