• 机器视觉基础(2)---坐标与矩阵变换


    坐标与矩阵变换时矩阵论的基础,也是机器人,机器视觉技术的基础。这本加州理工的教材沿用了机器人技术中的表达方式。这里记录一下
    ps:MIT Ocw课程《线性代数》真的非常非常有用,原本一知半解的问题现在都明白了。

    空间中的一个向量

    空间中的一个向量就是空间中的一个向量。

    就像来自遥远宇宙的一束光,不知道它从哪里来,也不知道它到哪里去,从我们头上掠过,波澜不惊。

    好了,这句看起来很装逼的话其实可以用向量空间的语言来解释。

    1. 不知道它在它老家的 坐标系 中是如何表达的,但是那个坐标系肯定存在,而且它的目的地在那个坐标系中有个坐标,从起点到终点的连线就是这道光。或者说这个向量
    2. 也不知道它到哪里去。它的终点也一定有个 坐标系 记录了这道光到达的位置,和它飞来的方向。也是一个向量。
    3. 作为一个地球人,我们看见这道光从头上飞了过去,我们看见了它的指向,从一个点,指向另一个点。光还是这道光。

    这表示,空间中的一个向量有很多表达方式,但是向量还是这个向量,本质没变。用向量空间符号表示为:

    [AiAjAk]AxAyAz=[BiBjBk]BxByBz

    向量坐标的关系

    从向量表示,可以看出APBP 存在一定关系,这种关系可以表示为:

    [AiAjAk]AxAyAz=[BiBjBk]BxByBz
    BiBjBk[AiAjAk]AxAyAz=BiBjBk[BiBjBk]BxByBz
    BiBjBk[AiAjAk]AxAyAz=100010001BxByBz
    BiAiBjAiBkAiBiAjBjAjBkAjBiAkBjAkBkAkAxAyAz=BxByBz


    记作

    BARAP=BP


    R表示坐标系之间的旋转矩阵,P表示坐标。左上标均表示坐标系。给出坐标系A,B之间旋转关系,就可以由公式求出R。从而得到A、B中点的坐标变换关系。

    旋转矩阵的性质

    1. 旋转矩阵式单位阵,这很好理解,旋转变换时刚体变换,其雅可比行列式必然为1。

    2. 旋转矩阵的逆矩阵R1 是它的逆矩阵RT 这也很好理解,从计算方法里可以看出。

    坐标原点不重合的情况

    上述表达只适用于坐标系分别绕各个轴旋转后的结果,不适用于原点不重合的情况,如果坐标原点不重合,则

    BP=BARAP+BOA


    其中BOA 表示的是点OA在B坐标系中的坐标。
    这个操作相当于将A坐标系中的点先旋转然后再平移,平移的方向是A坐标系的原点在B坐标系中的坐标。也就是B坐标系原点指向A坐标系原点的向量。A坐标系中的点加上向量B-A就变成了B坐标系中的点。

    刚体变换的齐次坐标表示

    如果写成齐次坐标的形式有。

    (BP1)=BAT(AP1)
    BAT=[BAR0TBOA1]

    坐标中点的变换

    坐标中点的变换是指,如果坐标中有两个点,那么这两个点之间应该存在某种变换关系。比如在F坐标系中有两点PP,首先将问题退化成旋转变化,这样比较简单。并且具有推广性。
    那么可以写作

    P=RP
    OP=[AiAjAk]PxPyPz
    OP=[BiBjBk]PxPyPz

    上式描述的是,如果在A坐标系中存在另外一个坐标系B,是的P’的坐标值和P在A中的坐标值相等。

    OP=[BiBjBk]PxPyPz=[AiAjAk]PxPyPz
    AiAjAk[BiBjBk]PxPyPz=100010001PxPyPz
    RP=P
    R=ABR

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    Spring——AOP
    Spring——事务管理
    分布式和集群的区别
    数据结构——二叉树
    数据结构——队列
    C语言 一维数组叠加为二维数组样例
    C语言一维数组转换为二维数组
    C语言 二维数组复制、清零及打印显示
    C语言 动态创建二维数组
    java byte【】数组与文件读写(增加新功能)
  • 原文地址:https://www.cnblogs.com/ironstark/p/4892633.html
Copyright © 2020-2023  润新知