坐标变换中,矩阵左乘和右乘的区别

这篇具有很好参考价值的文章主要介绍了坐标变换中,矩阵左乘和右乘的区别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、矩阵相乘的性质


乘法结合律: (AB)C=A(BC).
乘法左分配律:(A+B)C=AC+BC
乘法右分配律:C(A+B)=CA+CB
对数乘的结合性k(AB)=(kA)B=A(kB).
转置 (AB)T=BTAT.

矩阵乘法一般不满足交换律。矩阵放到左边和右边是要进行装置。

二、理论推导

  1. 对于两个变换的叠加: 表示先进行变换,再进行 变换,这里 、都是自然基坐标系下。
  2. 如果 变换是在 坐标系基础上进行的,那么根据相似矩阵把转换成自然基坐标系下: 
  3. 那么两个变换叠加就是:

这是一个很有意思的现象,如果每个变换都是在上个变换基础上进行的,那么只要把矩阵顺序反过来即可:

  • 所有变换都在自然基下: 
  • 每个变换在前一个变换后的坐标系下:

三、结论

        左乘是以固定(世界)坐标为参考的变换。右乘当前(本地)坐标系是以系为参考的变换。

四、验证实例

        如向量P(红色矩形),移动矩阵(向x方向移动200个像素),旋转矩阵(顺时针旋转90度),P的初始位置位于世界坐标中心O处,局部坐标系o'和世界坐标系o重合。

向量右乘:

坐标变换左乘和右乘的关系,矩阵,算法

可以看出,红框移动到o'处,并以o'为中心旋转了90度,o'为局部坐标系

 

向量左乘:

坐标变换左乘和右乘的关系,矩阵,算法

可以看出,红框移动到右边,并以o为中心旋转了90度,此时o‘在下方’

可以看出,左乘和右乘的结果不一样

以上结论以通过测试,附上qt的测试代码:文章来源地址https://www.toymoban.com/news/detail-735652.html

Widget::~Widget()
{
    delete ui;
}



void Widget::paintEvent(QPaintEvent *event)
{
    QPainter painter(this);
    painter.setWindow(-400,-300,800,600);

    QPointF p1(-20,-100), p2 (20,100);
    painter.drawRect(QRectF(p1, p2));

    Eigen::Matrix3d M1;
    M1 << 1,0,200,
         0,1,0,
         0,0,1;

    Eigen::Matrix3d M2;
    double r = 90*3.1415926/180;
    M2 << cos(r), -sin(r), 0,
            sin(r), cos(r), 0,
            0,0,1;

    Eigen::Vector3d p3 {p1.x(), p1.y(),1};
    Eigen::Vector3d p4 {p2.x(), p2.y(),1};

#if 1
    //右乘
    Eigen::Vector3d p5 = M1*M2*p3;
    Eigen::Vector3d p6 = M1*M2*p4;
#else
    //左乘
    Eigen::Vector3d p5 = M2*M1*p3;
    Eigen::Vector3d p6 = M2*M1*p4;

#endif

    QPointF p7(p5.x(), p5.y()), p8 (p6.x(), p6.y());
    painter.setPen(Qt::red);
    painter.drawRect(QRectF(p7, p8).normalized());
}

到了这里,关于坐标变换中,矩阵左乘和右乘的区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 三维坐标变换及其矩阵

    三维坐标变换是将三维空间中的点从一个坐标系映射到另一个坐标系的数学操作。这些变换通常包括平移、旋转、缩放和投影等基本操作。以下是一些常见的三维坐标变换以及它们的变换矩阵表示方式: 1. **平移变换(Translation)**:    三维平移变换的矩阵表示为:      

    2024年02月02日
    浏览(43)
  • 过渡矩阵、线性变换矩阵在对应基下坐标的求法

    在求过渡矩阵时尤其要注意的是过渡矩阵和哪个向量组相乘得另一个向量组。 一般情况下,若描述是:求A到B的过渡矩阵,则形式应当是B=AC,其中C为过渡矩阵。 下面的这个例题就是求过渡矩阵和基下的坐标。 下面的这个例子主要是求线性变换矩阵在相应的基下的坐标。

    2024年02月11日
    浏览(41)
  • OpenCV中,坐标点(Point)利用变换矩阵进行坐标变换

    参考: 【OpenCV进行各种矩阵变换及变换参数求解】 在opencv中,在利用 getAffineTransform 等函数得到了变换矩阵后,假如需要进行图像的变换,可以通过 warpAffine进行。 但是假如只是想对Point的坐标进行变换,就需要用transform来进行了。

    2024年02月15日
    浏览(55)
  • 旋转矩阵的作用:世界坐标变换;求解局部坐标系下的局部坐标

    以下数据以平面直角坐标系为例,三维空间同理 上图中,B点为旋转前的点,C点为B点旋转后的对应点(逆时针旋转90°),对应的旋转矩阵为: 对坐标轴做相同旋转: 我们再对比下旋转矩阵,可以发现旋转后的坐标轴可以在旋转矩阵中找到,其实这个旋转矩阵也表示了一个坐标

    2024年01月22日
    浏览(40)
  • 坐标系变换推导(欧拉角、方向余弦矩阵、四元数)+代码解析

    描述两个坐标系之间的变换关系主要有几个方法 1、欧拉角法(存在奇异性和万向锁而且三个轴旋转的顺序不好定) 2、方向余弦矩阵法(翻译为Directional cosine matrix,简称DCM,也称为旋转矩阵,看了很多博客写的是C11-C33的那个矩阵,没明白为什么也称之为一个方法,有知道的指导

    2024年02月08日
    浏览(94)
  • 坐标变换基础-欧拉角&固定角与位姿矩阵的相互转换

    空间中一个坐标系相对于另一个坐标系的变换关系用新坐标系的三个坐标轴相对于原坐标系的方向矢量来确定,可用 矩阵来描述。用齐次矩阵(4x4)来统一描述刚体的位置和姿态: 其中,R便是描述姿态的旋转矩阵。 和沿着三个坐标轴的平移运动不一样,旋转矩阵显得很不直

    2024年02月04日
    浏览(37)
  • 【计算机视觉】二、图像形成:1、向量和矩阵的基本运算:线性变换与齐次坐标

    x = [ x y ] boldsymbol{x} =begin{bmatrix}x\\\\yend{bmatrix} x = [ x y ​ ] 1. 平移变换 [ x ′ y ′ ] = [ x y ] + [ a b ] begin{bmatrix}x\\\'\\\\y\\\'end{bmatrix} = begin{bmatrix}x\\\\yend{bmatrix} + begin{bmatrix}a\\\\bend{bmatrix} [ x ′ y ′ ​ ] = [ x y ​ ] + [ a b ​ ]   将向量 [ a b ] begin{bmatrix}a\\\\bend{bmatrix} [ a b ​ ] 加到 [

    2024年03月17日
    浏览(49)
  • 多轴机械臂运动控制:4x4坐标变换矩阵该用C语言的二维数组还是一维数组?

            做多轴机械臂的运动控制,免不了要对4x4的坐标变换矩阵进行乘法,C语言中可以用二维数组或者一维数组来实现矩阵,下面来比较一下二维数组和一维数组的性能差异。         开发环境:Visual Studio 2022,分别在Debug和Release模式下测试函数Multi4x4和Multi16,Re

    2024年03月25日
    浏览(61)
  • 深度学习·理论篇(2023版)·第002篇深度学习和计算机视觉中的基础数学知识01:线性变换的定义+基于角度的线性变换案例(坐标变换)+点积和投影+矩阵乘法的几何意义+图形化精讲

    💕 恭喜本博客浏览量达到两百万,CSDN内容合伙人,CSDN人工智能领域实力新星~ 🧡 本文章为2021版本迭代更新版本,在结合有效知识的基础上对文章进行合理的增加,使得整个文章时刻顺应时代需要 🧡 本专栏将通过系统的深度学习实例,从可解释性的角度对深度学习的原理

    2023年04月08日
    浏览(55)
  • 【线性代数】20 基变换,基变换公式,坐标变换公式

     前言:基变换在做图像压缩等计算的时候,经常用到。基变换和相似矩阵的定义也有非常密切的联系:基变换的本质就是变换了基向量的一个关联计算,在最小二乘的算法里面,通过选择正确的基可以将计算进行简化。 而正确的的特征向量和特征值的确定,又和本节的基变

    2024年02月07日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包