随笔分类 - Eigen
矩阵向量的算法
摘要:eigen 空间任意轴旋转 从一个以弧度为单位的角度和一个必须归一化的轴构造并初始化角度轴旋转。 int main() { Eigen::AngleAxisd v_r(M_PI/4.0, Eigen::Vector3d(1.0,0,0));//任意轴旋转 Eigen::Quaterniond q(v
阅读全文
摘要:SO3和SE3的使用 代码: ///////////SO(3)的使用方法 Matrix3d R=AngleAxisd(M_PI/2,Vector3d(0,0,0)).toRotationMatrix(); Quaterniod q(R); Sophus::SO3d SO3_R(R); Sophus:
阅读全文
摘要:进行连续坐标的变换: 两个变换矩阵T1、 T2的相对变换, T1 、T2表示local坐标系到global坐标的变换(也即是body-->world坐标系的变换): p2 = (T2^-1)* T1 * p1; ΔT12 = (T2^-1)* T1; p1 = (T1^-1)* T2 * p2; Δ
阅读全文
摘要:Eigen中 Isometry3d与 matrix的区别 1、Identity() Eigen::Isometry3d A; A.Identity(); Identity()初始化的结果 并不是一个4*4的单位矩阵; 正确做法: Eigen::Isometry3d A= Eigen::Isometr
阅读全文
摘要:eigen 矩阵块操作 在Eigen中最基本的快操作运算是用.block()完成的。提取的子矩阵同样分为动态大小和固定大小。 块操作构建动态大小子矩阵 提取块大小为(p,q),起始于(i,j) matrix.block(i,j,p,q) 同样需要注意的是在Eigen中,索引是从0开始。所有的操作方法
阅读全文
摘要:Jordan标准型:对于任意矩阵A,存在矩阵P,使得 P^-1*A*P = J; J为Jordan标准型
阅读全文
摘要:矩阵分解 一. 矩阵分解: 矩阵分解 (decomposition, factorization)是将矩阵拆解为数个矩阵的乘积,可分为三角分解、满秩分解、QR分解、Jordan分解和SVD(奇异值)分解等,常见的有三种:1)三角分解法 (Triangular Factorization),2)QR
阅读全文
摘要:Eigen中四元数Quaterniond的初始 Eigen::Quaterniond q1(w, x, y, z);// 第一种方式 Eigen::Quaterniond q2(Vector4d(x, y, z, w));// 第二种方式 Eigen::Quaterniond q2(Matrix3d
阅读全文
摘要:前言:最近在做一个有意思的问题,关于旋转矩阵变换后会发生什么?开始猜想对其做行初等变换,应该不会改变旋转矩阵的实质的旋转性质。但测试结果好像跟猜想不太一样? 测试: 1、第一次对旋转矩阵R的某一行乘上一个数,然后将R转换为欧拉角和四元数; 2、第二次对旋转矩阵R的某一行乘上一个数加到另一行上,然后将
阅读全文