前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >坐标系与矩阵(1):旋转

坐标系与矩阵(1):旋转

作者头像
Peter Lu
发布2021-06-21 20:07:02
1.5K0
发布2021-06-21 20:07:02
举报
文章被收录于专栏:LETLET

坐标系转换在很多方面都会用到,比如机器人中的骨骼关节间的空间关系,GIS中的坐标系,渲染和计算机视觉中的相机等,往往需要采用矩阵来实现不同坐标系间的转换。因此,这里主要涉及到几何和线性代数两方面的数学知识。

个人一直想把这块知识点梳理一下,形成一个自我的理解体系。正巧前阵子有同事提到了齐次坐标,不妨以此为动机,形成这一系列。本篇主要针对旋转。

首先,我们先定义两个坐标系,一个是固定坐标系(fixed),也可以称为全球坐标系(global),或世界坐标系(world),其特点是该坐标系是绝对的,一旦确立就不再变化,我们记为

。另一个则是移动坐标系(moving),也称为本地坐标系(local)或自身坐标系(body),其特点是会移动(旋转R,平移T,缩放S,RTS),我们记为

。本文主要针对旋转,自然也分为两种情况,相对

的旋转,或相对

的旋转。

上图是坐标系

相对于

旋转

对应的结果及矩阵。同理,相对于

旋转

对应的矩阵分别是:

并且,该矩阵为正交矩阵:

这里,如果坐标系M绕坐标系F的某一个轴

旋转

,其中

分别对应某一点相对于

的坐标位置,则转换关系如下:

例子1,初始是

绕着

旋转

,此时,

坐标系上的一点

对应

坐标系的位置

是多少?

求解如下:

同理,初始是

,然后

绕着

进行了一系列的旋转

,此时,空间上同一个点,对应M和F坐标系下的空间位置分别记作

,满足公式:

全球坐标系下,针对不同轴的旋转,这里有一个对应的roll-pitch-yaw:

刚才我们只讨论了围绕

坐标系的旋转并给出了对应的矩阵,这里,如果我们相对

坐标系旋转,分别得到对应的三个矩阵:

同理,如果此时

绕着

旋转

分别对应某一点相对于

的坐标位置,则转换关系如下:

例子2,初始是

绕着

旋转

,此时,

坐标系上的一点

对应

坐标系的位置

是多少?

求解如下:

例子3,初始是

绕着

旋转

,此时,

坐标系上的一点

对应

坐标系的位置

是多少?

求解如下:

同理,初始是

,然后

绕着

进行了一系列的旋转

,此时,空间上同一个点,对应M和F坐标系下的空间位置分别记作

,满足公式:

这样,我们可以把绕固定坐标系

和移动坐标系

旋转综合在一起,可得如下

  • 初始是

,相当于M绕F旋转一个单位矩阵:

  • 然后,M旋转

:

  • 如果相对于

  • 如果相对于

这里,R用于将

坐标系下的一点

转换为相对于

坐标系下的点

。如上的规则应该算是本篇内容最重要的部分了。

同样,在局部坐标系下,针对不同轴的旋转,这里有一个对应的roll-pitch-yaw:

基于如上的旋转,有的是基于

,有的则是基于

,我们可以基于一系列的旋转复合形成该物体的朝向(orientation)。这里就有了欧拉角这个概念:

旋转

,称为precession

旋转

,称为nutation

旋转

,称为spin

欧拉角对应的过程如下图所示:

(1)precession:

(2)nutation:

(3)spin:

将R展开:

通过本章,我们可以得到一个结论:

对于原点相同的任意两个坐标系

,空间中相同的一个点,分别对应坐标系下的位置为

,必然存在一个转换矩阵R,满足两者之间的映射关系:

坐标系旋转的内容基本介绍完毕,下一篇继续,基于rotation,最终将确定物体的朝向,orientation这部分的内容会在下一篇详细介绍。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-06-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 LET 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档