[ros][cv][math] 矩阵的变换+齐次坐标

[ros][cv][math] 矩阵的变换+齐次坐标




0. 写在最前

这篇博客主要参考了(章节:参考链接1)中的内容,可以看作是以其为主体,并添加了其他的参考链接内容为补充的知识点整理,总结。文章内容可能包含对参考内容的文字引用,图片截取,侵删!

注:矩阵的点乘符号在公式中省略了,这是不对的,不过改不了了,谨此提示。


1. 矩阵线性变换:缩放、对称、错切、旋转

1. 缩放变换(scale)

在这里插入图片描述
在这里插入图片描述


2. 对称变换(mirror)

在这里插入图片描述

在这里插入图片描述


3. 错切变换(shear)

在这里插入图片描述
在这里插入图片描述


4. 旋转变换(rotate)

在这里插入图片描述
在这里插入图片描述


5. 总结:线性变换(linear transformation)

线性变换都可以写成矩阵的形式,其变换矩阵的维度与坐标维度相同
在这里插入图片描述


2. 矩阵非线性变换:平移,齐次坐标

1. 平移变换(translate)

关于齐次坐标概念,维基百科的齐次坐标简介中解释的很详细。

在这里插入图片描述
在这里插入图片描述

2. 补充

  1. 齐次坐标可以区分点与向量

    以二维空间为例, ( a , b ) (a, b) (a,b)这样的表示既可以表示是一个坐标,也可以表示一个向量。假设这个坐标系 x O y xOy xOy 中两个基向量为 x ⃗ , y ⃗ \vec{x}, \vec{y} x ,y ,坐标原点为o,则其中

    • 表示向量 v ⃗ \vec{v} v 时,代表 v ⃗ = a x ⃗ + b y ⃗ \vec{v} = a\vec{x} + b\vec{y} v =ax +by
    • 表示一个点 p p p 时,代表 p o = a x ⃗ + b y ⃗ p_o = a\vec{x} + b\vec{y} po=ax +by

    如果没有附加说明,我们不能区别 ( a , b ) (a, b) (a,b)表示的是向量还是点。用三个量来表示的化,我们可以明确的区分向量和点:

    • 齐次点 ( a , b , 1 ) (a, b, 1) (a,b,1),不一定是1,可以是任何非零数
    • 齐次向量 ( a , b , 0 ) (a, b, 0) (a,b,0)

    齐次坐标可以更好体现向量和点的位置。


  2. 向量:

    1. 有大小,方向
    2. 具有平移不变性

  3. 向量与点

    • 在齐次坐标系中
      2 D 点的表示: [ x y 1 ] , w 可以是任一非零数 2D\text{点的表示:}\left[ \begin{array}{c} x\\ y\\ 1\\ \end{array} \right] \text{,}w\text{可以是任一非零数} 2D点的表示:xy1w可以是任一非零数

      2 D 向量表示: [ x y 0 ] \\ 2D\text{向量表示:}\left[ \begin{array}{c} x\\ y\\ 0\\ \end{array} \right] 2D向量表示:xy0

    • 两个向量相加,结果为一个向量
      v ⃗ a + v ⃗ b = v ⃗ c 0 + 0 = 0 \\ \vec{v}_a+\vec{v}_b=\vec{v}_c \\ 0+0=0 v a+v b=v c0+0=0

    • 两个点相减,结果为一个向量
      p a − p b = p c 1 − 1 = 0 \\ p_a-p_b=p_c \\ 1-1=0 papb=pc11=0

    • 两个向量相加(点沿着向量方向移动)结果为一个点
      p a + v ⃗ = p b 1 + 0 = 1 \\ p_a+\vec{v}=p_b \\ 1+0=1 pa+v =pb1+0=1

    • 两个点相加,结果仍为一个点,且表示这两个点的中心点
      p a + p b = p m i d 1 + 1 = 2 [ x m i d y m i d 2 ] ⇔ [ x a + x b 2 y a + y b 2 1 ] \\ p_a+p_b=p_{mid} \\ 1+1=2 \\ \left[ \begin{array}{c} x_{mid}\\ y_{mid}\\ 2\\ \end{array} \right] \Leftrightarrow \left[ \begin{array}{c} \frac{x_a+x_b}{2}\\ \frac{y_a+y_b}{2}\\ 1\\ \end{array} \right] pa+pb=pmid1+1=2xmidymid22xa+xb2ya+yb1


3. 使用齐次坐标的变换矩阵

仿射变换:
仿射变换(Affine transformation),又称仿射映射,是指在几何中,对一个向量空间进行一次线性变换并接上一个平移,变换为另一个向量空间。

在这里插入图片描述


4. 矩阵逆变换、复合变换

  1. 逆变换
    在这里插入图片描述

  2. 复合变换
    在这里插入图片描述
    在这里插入图片描述


&&_参考

链接:CG06-2D变换和齐次坐标(哔哩哔哩)
链接:二维图形的坐标变换矩阵推导及齐次坐标的深入理解(哔哩哔哩)
链接:线性代数之矩阵的属性和运算
链接:直线的参数方程
链接:Homogeneous Coordinates
链接:理解齐次坐标


&&_问题解决

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值