旋转矩阵R、平移向量t以及变换矩阵T的定义及其下标的含义

这篇具有很好参考价值的文章主要介绍了旋转矩阵R、平移向量t以及变换矩阵T的定义及其下标的含义。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

旋转矩阵R

旋转矩阵R、平移向量t以及变换矩阵T的定义及其下标的含义

首先,只考虑旋转。

假设坐标系1: { X 1 , Y 1 , Z 1 } \{X_1, Y_1, Z_1\} {X1,Y1,Z1} 经过纯旋转之后得到坐标系2: { X 2 , Y 2 , Z 2 } \{X_2, Y_2, Z_2\} {X2,Y2,Z2} (如上图),其中坐标系1对应的单位正交基为 ( e 1 , e 2 , e 3 ) \left(e_{1}, e_{2}, e_{3}\right) (e1,e2,e3),坐标系2对应的单位正交基为 ( e 1 ′ , e 2 ′ , e 3 ′ ) \left(e_{1}^{\prime}, e_{2}^{\prime}, e_{3}^{\prime}\right) (e1,e2,e3)。 对于空间中的同一个点 p \boldsymbol{p} p ,假设点 p \boldsymbol{p} p 在坐标系1和坐标系2下的坐标分别为 a 1 = [ a 1 , a 2 , a 3 ] T \boldsymbol{a_1} = \left[a_{1}, a_{2}, a_{3}\right]^{T} a1=[a1,a2,a3]T a 2 = [ a 1 ′ , a 2 ′ , a 3 ′ ] T \boldsymbol{a_2} = \left[a_{1}^{\prime}, a_{2}^{\prime}, a_{3}^{\prime}\right]^{T} a2=[a1,a2,a3]T。由于点 p \boldsymbol{p} p 并没有随着坐标系的旋转而发生运动,根据坐标的定义,有:

[ e 1 , e 2 , e 3 ] [ a 1 a 2 a 3 ] = [ e 1 ′ , e 2 ′ , e 3 ′ ] [ a 1 ′ a 2 ′ a 3 ′ ] (1) \left[\boldsymbol{e}_{1}, \boldsymbol{e}_{2}, \boldsymbol{e}_{3}\right]\left[\begin{array}{c}a_{1} \\a_{2} \\a_{3}\end{array}\right]=\left[\boldsymbol{e}_{1}^{\prime}, \boldsymbol{e}_{2}^{\prime}, \boldsymbol{e}_{3}^{\prime}\right]\left[\begin{array}{c}a_{1}^{\prime} \\a_{2}^{\prime} \\a_{3}^{\prime}\end{array}\right]\tag{1} [e1,e2,e3]a1a2a3=[e1,e2,e3]a1a2a3(1)

为了描述两个坐标之间的关系,我们对上面等式左右同时左乘 [ e 1 T , e 2 T , e 3 T ] T \left[\boldsymbol{e}_{1}^{T}, \boldsymbol{e}_{2}^{T}, \boldsymbol{e}_{3}^{T}\right]^{T} [e1T,e2T,e3T]T,那么左边的系数变成了单位矩阵,所以有:

[ a 1 a 2 a 3 ] = [ e 1 T e 1 ′ e 1 T e 2 ′ e 1 T e 3 ′ e 2 T e 1 ′ e 2 T e 2 ′ e 2 T e 3 ′ e 3 T e 1 ′ e 3 T e 2 ′ e 3 T e 3 ′ ] [ a 1 ′ a 2 ′ a 3 ′ ] (2) \left[\begin{array}{c}a_{1} \\a_{2} \\a_{3}\end{array}\right]=\left[\begin{array}{ccc}\boldsymbol{e}_{1}^{T} \boldsymbol{e}_{1}^{\prime} & \boldsymbol{e}_{1}^{T} \boldsymbol{e}_{2}^{\prime} & \boldsymbol{e}_{1}^{T} \boldsymbol{e}_{3}^{\prime} \\\boldsymbol{e}_{2}^{T} \boldsymbol{e}_{1}^{\prime} & \boldsymbol{e}_{2}^{T} \boldsymbol{e}_{2}^{\prime} & \boldsymbol{e}_{2}^{T} \boldsymbol{e}_{3}^{\prime} \\\boldsymbol{e}_{3}^{T} \boldsymbol{e}_{1}^{\prime} & \boldsymbol{e}_{3}^{T} \boldsymbol{e}_{2}^{\prime} & \boldsymbol{e}_{3}^{T} \boldsymbol{e}_{3}^{\prime}\end{array}\right]\left[\begin{array}{c}a_{1}^{\prime} \\a_{2}^{\prime} \\a_{3}^{\prime}\end{array}\right]\tag{2} a1a2a3=e1Te1e2Te1e3Te1e1Te2e2Te2e3Te2e1Te3e2Te3e3Te3a1a2a3(2)

将等式右边的矩阵记做 R 12 \boldsymbol{R}_{12} R12,即有:

a 1 = R 12 a 2 (3) \boldsymbol{a}_1 = \boldsymbol{R}_{12} \boldsymbol{a}_2 \tag{3} a1=R12a2(3)

矩阵 R 12 \boldsymbol{R}_{12} R12便是旋转矩阵,其描述了坐标系1到坐标系2的旋转。矩阵 R 12 \boldsymbol{R}_{12} R12 的下标有两个含义:

  1. 表示坐标系1到坐标系2的旋转
  2. 表示将坐标系2中点的坐标通过旋转变换,从而得到同一个点在坐标系1中的坐标

平移向量t

旋转矩阵R、平移向量t以及变换矩阵T的定义及其下标的含义

然后,只考虑平移。

假设坐标系1: { X 1 , Y 1 , Z 1 } \{X_1, Y_1, Z_1\} {X1,Y1,Z1} 经过纯平移之后得到坐标系2: { X 2 , Y 2 , Z 2 } \{X_2, Y_2, Z_2\} {X2,Y2,Z2} (如上图)。 对于空间中的同一个点 p \boldsymbol{p} p ,假设其在两个坐标系下对应的坐标表示分别为 a 1 = [ a 1 , a 2 , a 3 ] T \boldsymbol{a_1} = \left[a_{1}, a_{2}, a_{3}\right]^{T} a1=[a1,a2,a3]T a 2 = [ a 1 ′ , a 2 ′ , a 3 ′ ] T \boldsymbol{a_2} = \left[a_{1}^{\prime}, a_{2}^{\prime}, a_{3}^{\prime}\right]^{T} a2=[a1,a2,a3]T。由几何关系,很显然有:

a 1 = a 2 + t 12 (4) \boldsymbol{a}_1 = \boldsymbol{a}_2 + \boldsymbol{t}_{12}\tag{4} a1=a2+t12(4)

向量 t 12 \boldsymbol{t}_{12} t12便是平移向量,其描述了坐标系1到坐标系2的平移。其下标同样也有两个含义:

  1. 表示坐标系1到坐标系2的平移(对应坐标系1的原点指向坐标系2的原点的向量)
  2. 表示将坐标系2中点的坐标通过平移变换,从而得到同一个点在坐标系1中的坐标

变换矩阵T

旋转矩阵R、平移向量t以及变换矩阵T的定义及其下标的含义

最后同时考虑选择和平移,也就是坐标系之间的刚体运动。

假设坐标系1: { X 1 , Y 1 , Z 1 } \{X_1, Y_1, Z_1\} {X1,Y1,Z1} 经过旋转和平移之后得到坐标系2: { X 2 , Y 2 , Z 2 } \{X_2, Y_2, Z_2\} {X2,Y2,Z2} (如上图)。 对于空间中的同一个点 p \boldsymbol{p} p ,假设其在两个坐标系下对应的坐标表示分别为 a 1 = [ a 1 , a 2 , a 3 ] T \boldsymbol{a_1} = \left[a_{1}, a_{2}, a_{3}\right]^{T} a1=[a1,a2,a3]T a 2 = [ a 1 ′ , a 2 ′ , a 3 ′ ] T \boldsymbol{a_2} = \left[a_{1}^{\prime}, a_{2}^{\prime}, a_{3}^{\prime}\right]^{T} a2=[a1,a2,a3]T

通过将上述的旋转和平移合到一起,则有:

a 1 = R 12 a 2 + t 12 (5) \boldsymbol{a}_1 = \boldsymbol{R}_{12} \boldsymbol{a}_2 + \boldsymbol{t}_{12}\tag{5} a1=R12a2+t12(5)

为了简化形式,引入齐次坐标有:

[ a 1 1 ] = [ R 12 t 12 0 T 1 ] [ a 2 1 ] (6) \left[\begin{array}{l}\boldsymbol{a}_1 \\1\end{array}\right]=\left[\begin{array}{ll}\boldsymbol{R}_{12} & \boldsymbol{t}_{12} \\\mathbf{0}^{T} & 1\end{array}\right]\left[\begin{array}{l}\boldsymbol{a}_2 \\1\end{array}\right]\tag{6} [a11]=[R120Tt121][a21](6)

同样为了保持简洁,我们将 a 1 \boldsymbol{a}_1 a1 a 2 \boldsymbol{a}_2 a2 的齐次坐标简写成 a 1 \boldsymbol{a}_1 a1 a 2 \boldsymbol{a}_2 a2,并将等式右边的矩阵记做 T 12 \boldsymbol{T}_{12} T12,则有:

a 1 = T 12 a 2 (7) \boldsymbol{a}_1 = \boldsymbol{T}_{12} \boldsymbol{a}_2\tag{7} a1=T12a2(7)

其中, T 12 \boldsymbol{T}_{12} T12为坐标系1 转换到坐标系2的变换矩阵,包含了旋转和平移。其下标对应的也有两个含义:文章来源地址https://www.toymoban.com/news/detail-422797.html

  1. 表示坐标系1到坐标系2的变换(包含旋转和平移)
  2. 表示将坐标系2中点的坐标通过旋转和平移变换,从而得到同一个点在坐标系1中的坐标

到了这里,关于旋转矩阵R、平移向量t以及变换矩阵T的定义及其下标的含义的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 二维坐标基本变换(平移、旋转、缩放、镜像、阵列)

    诸如图像、模型等的基本变换,实际上都是点坐标的变换,通过矩阵,可以非常方便的达到这个目的。在下文仅介绍二维坐标变换原理。 首先,定义点类如下: 注意,为了形式统一,变换矩阵应统一为3*3阶,同理,对于三维坐标变换矩阵应是4*4阶。关于矩阵的表示,实际上

    2024年02月04日
    浏览(65)
  • 【计算机图形学】图形变换(平移变换、比例变换、旋转变换、对称变换、错切变换、复合变换)

    一 实验目的 编写图形各种变换的算法 二 实验内容 1 :自行设计基本图案,完成1-5种简单变换 实验结果如下图所示: 图形初始化: 第一次点击左键,实现平移变换:     第二次点击左键,实现比例变换(同时伴有平移变换):   第三次点击左键,实现对称变换(以平行

    2024年02月05日
    浏览(32)
  • MATLAB图像处理之几何变换——平移与旋转

    可以发现,原图在原坐标基础上向X、Y方向分别平移了50和100个单位。但相应平移的部分也被遮挡了,显然这不符合一些场景的应用需求。 为此,MATLAB还提供了参数设置。在imtranslate函数中设置’OutputView’参数为’full’,即可防止遮挡平移的图像,如下图所示。 MATLAB在进行图

    2024年02月16日
    浏览(34)
  • opencv006图像处理之仿射变换(旋转,缩放,平移)

    空间变换中的仿射变换对应着五种变换,平移,缩放,旋转,翻转,错切。而这五种变化由原图像转变到变换图像的过程,可以用仿射变换矩阵进行描述。而这个变换过程可以用一个2*3的矩阵与原图进行相乘得到。关键就是这个矩阵M:  平移,旋转   透视 M: 变换矩阵 desi

    2024年01月21日
    浏览(32)
  • 【机器人学导论】惯性张量旋转和平移变换的推导

    最近遇到了一些涉及惯性张量的实际问题,比如: 对两个通过铰链连接在一起的杆,如何计算整体的惯性张量? 对于一个由多个简单部件组合成的系统,如何计算整体的惯性张量? 在网上查找计算方法的过程中,难以通过正确的找到简明的数学方法。因此我在多番查

    2024年02月08日
    浏览(32)
  • Opencv-C++笔记 (16) : 几何变换 (图像的翻转(镜像),平移,旋转,仿射,透视变换)

    图像旋转是指图像按照某个位置转动一定的角度的过程,旋转中图像仍保持着原始尺寸。图像旋转后图像水平对称轴、垂直对称轴及中心坐标原点都可能会发生变换,因此需要对图像旋转中的坐标进行相应转换。 假设有一个点:P(x,y),它在绕原点 O(0,0) 旋转 β 后,被转换成

    2024年02月14日
    浏览(38)
  • Android 对View 进行旋转、缩放、平移的属性变换后,获取外矩形顶点

    来张图 Android View 通过平移、旋转、缩放后,顶点映射 之前写的这个文章,里面用到的是 matrix.mapPoints() 通过 矩形的4个点来映射出新的4个点。 个人以为这就会得到正确的结果。 最近呢,就想着,验证一下这个是不是正确的 验证想法: “基于 变换后的 ltrb,加一个自定义

    2023年04月23日
    浏览(34)
  • Matlab|数字图像处理02|图像的傅里叶变换(平移/旋转性质)及图像的离散余弦变换

    问题1:x,y方向同时平移后频谱有何变化? 答:经过平移后的傅里叶变换幅值图与原图像得到的傅里叶变换幅值图基本相同,平移不改变频谱的幅值。 代码运行结果: 代码: 问题2:编程验证一幅图旋转45度后,其傅里叶谱图也旋转了45度。 代码: 问题3:第8行10的数字大小对

    2024年02月08日
    浏览(32)
  • 数字图像处理 matlab图像的几何运算 实验三 旋转 缩放 裁剪 镜像变换 平移

    原图: 读取原图(这里我的图片名字是atm.png): 我们先说原理,图像旋转的本质是向量的旋转。 矩阵乘法的实质是进行线性变换,因此对一个向量进行旋转操作也可以通过矩阵和向量相乘的方式进行。 因为图像都是通过二维矩阵存放的(单通道),所以对图像进行旋转时

    2024年02月07日
    浏览(41)
  • 【C++】【Opencv】cv::warpAffine()仿射变换函数详解,实现平移、缩放和旋转等功能

    仿射变换是一种二维变换,它可以将一个二维图形映射到另一个二维图形上,保持了图形的“形状”和“大小”不变,但可能会改变图形的方向和位置。仿射变换可以用一个线性变换矩阵来表示,该矩阵包含了六个参数,可以进行平移、缩放、旋转等操作。通过原理、函数和

    2024年02月05日
    浏览(35)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包