Eigen等距变换(Isometry,Isometry3f,Isometry3d)常用函数翻译说明

内容转载自http://zhaoxuhui.top/blog/2019/09/03/eigen-note-4.html,修正原文笔误

  • .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():将当前类型的变换转换为其它类型的变换,如Isometry3dIsometry3f

  • .data():返回一个指向变换内部矩阵的指针,矩阵按照列优先存储

  • .computeRotationScaling():将当前变换的线性部分分解成rotationscaling的乘积

  • .computeScalingRotation():将当前变换的线性部分分解成scalingrotation的乘积

  • .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。判断精度由传入的第二个参数决定。

  • 11
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值