Bootstrap

关于Eigen

Eigen矩阵用法

translation():无参数,返回当前变换平移部分的向量表示(可修改),可以索引[]获取各分量
translationExt():无参数,如果当前变换是仿射的话,返回平移部分(可修改);如果是射影变换的话,返回最后一列(可修改)
translate():有参数,用于在当前变换上应用右乘,A.translate(B)等价于A×B。注:不是把平移部分置为参数值
pretranslate():有参数,用于在当前变换上应用左乘,A.pretranslate(B)等价于B×A。注:不是把平移部分置为参数值
rotation():无参数,返回只读的当前变换的旋转部分,以旋转矩阵表示
rotate():有参数,用于设置当前变换的旋转部分,输入参数可以为角轴、四元数、旋转矩阵等。A.rotate(B)等价于A×B。注:不是把旋转部分置为参数值
prerotate():有参数,用于设置当前变换的旋转部分,输入参数可以为角轴、四元数、旋转矩阵等。A.prerotate(B)等价于B×A。注:不是把旋转部分置为参数值
matrix():返回变换对应的矩阵(可修改)
cols():变换对应矩阵的列数
rows():变换对应矩阵的行数
linear()&.linearExt():返回变换的线性部分,对于Isometry而言就是旋转对应的旋转矩阵,Eigen::Block类型
inverse():返回当前变换的逆变换
Identity():返回一个单位变换,一般可用于Isometry的初始化中,将变换设为一个单位阵:Isometry3d::Identity()
setIdentity():将当前变换变成单位变换,变换对应的矩阵变成单位阵,也可用于初始化赋值
cast():将当前类型的变换转换为其它类型的变换,如Isometry3d转Isometry3f
data():返回一个指向变换内部矩阵的指针,矩阵按照列优先存储
computeRotationScaling():将当前变换的线性部分分解成rotation和scaling的乘积
computeScalingRotation():将当前变换的线性部分分解成scaling和rotation的乘积
fromPositionOrientationScale():从一个3D对象的位置、指向以及缩放来设置一个变换
prescale():有参数,用于在当前变换上应用左乘,A.prescale(B)等价于B×A
scale():有参数,用于在当前变换上应用右乘,A.scale(B)等价于A×B
preshear():只针对2D情况,沙尔变换,有参数,用于在当前变换上应用左乘,A.preshear(B)等价于B×A
shear():只针对2D情况,沙尔变换,有参数,用于在当前变换上应用右乘,A.shear(B)等价于A×B
affine():无参数,返回当前变换的仿射部分(可修改),对于Isometry3d而言,返回的是一个4×3的矩阵
makeAffine():将变换对应的矩阵的最后一行设为0,0,…,1
isApprox():判断当前Isometry是否与给定Isometry近似相等,是的话返回true。判断精度由传入的第二个参数决定。

参考学习链接

;