Eigen使用笔记

1、报错Assertion `index >= 0 && index < size()' failed.

        这种一般都是使用的时候越界了,比如定义了一个Eigen::Vector3d的变量a,访问的时候用了double m = a[3];造成的

2、四元数

常用三种构造方式:旋转向量,旋转矩阵,四个系数
Eigen::Quaternionf q(1,0,0,0)  // 构造的顺序是(w,x,y,z)

q.coeffs() // coeff的顺序是(x,y,z,w)

Eigen::Quaternionf::Identity() // 等于 q(1,0,0,0) w,x,y,z顺序

3. norm/normalize/normalized

vector.norm() ---> 返回的是向量的二范数(L2 Norm)

matrix.norm() --->返回的是矩阵的Frobenius Norm;

A.normalize() ---> 其实就是每个元素各自除以范数(归一化)A_ij / A.norm(),对向量/矩阵自身做修改,返回void

A.normalized() ---> 与A.normalize()类似,不对矩阵自身做修改,返回归一化后的向量/矩阵.


版权声明:本文为luoyang7891原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。