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

坐标系与矩阵(3):平移

作者头像
Peter Lu
发布2021-07-20 12:28:12
1.8K0
发布2021-07-20 12:28:12
举报
文章被收录于专栏:LETLET

本章主要介绍平移,平移本身非常的直白,比如一点

,平移

,则平移后的位置是

。如果在平移前考虑旋转,结合前两篇的内容,很容易得到如下公式:

这里,就有一个线性变换的概念:变换后直线不变,比例不变,原点不变。不难看出,红色矩阵部分是绕原点旋转,满足线性变换的条件。但平移后原点发生的变化,并不是线性变换。这里我们称其为仿射变换(Affine transformation):线性变换+平移。

数学之美,其中之一就是希望达到形式上的统一。而齐次坐标,则实现了将仿射变换转为线性变换的形式:

这里,我们将一个2*2的矩阵升级为3*3的矩阵,这里要强调的是该矩阵是先旋转再平移,每个点扩增一个

位,竟然将平移从非线性变成线性的关系,将旋转和平移统一在一个矩阵中,如此的神奇,这是为什么呢?

从几何的角度,这里可以认为新增了一个维度

,当旋转时,每一个点都相对

旋转,自然中心点不变,而平移时,因为新增维度

的值为1,则相当于该平面上升到

的平面,然后在该平面上实现了平移,而整体上则类似比萨斜塔那般,依旧相对于原点不变。这样,我们新增一个维度,通过高维度的线性变换实现低维度的仿射变换。下图描述了该过程。

这样,对于一个point,对应的齐次坐标为

,而一个vector,对应的齐次坐标为

这样,既能满足向量的平移不变性,也能保证两点相减为向量,唯一特别处是两点相加,对应的是两点的中点,这个几何意义。

这样,可得平移矩阵:

我们将旋转和平移组合在一起,假设初始位置

可得:

例子1:

点p绕正方向左下角点

后的点

这里,提供两种思路。通常二维场景下,我们会把B移到O点

,然后旋转

,最后再移动回B点

,因此对应的解为:

另一个思路则是默认

,则M从O平移到B,然后绕

旋转,此时A相对于M坐标系的位置记为

是M从O平移到B时的相对位置:

前者是坐标点的移动,而后者是坐标系的移动,不同的思路,但最终的矩阵都是一致的。

坐标系和矩阵的基本概念介绍完毕,下一篇我们对应具体的应用场景,首先,先从GIS中大地坐标系和NEU这类的平面坐标系的转换开始吧。

参考资料(上一篇忘记引入参考资料了):Motion and Manipulation https://www.cs.uu.nl/docs/vakken/moma/2019.html

GAMES101: https://www.bilibili.com/video/BV1X7411F744?p=3

如何通俗地讲解「仿射变换」这个概念:

https://www.zhihu.com/question/20666664/answer/157400568

google drive上共享了pdf原版,有兴趣的可以下载下来看。

drive:https://drive.google.com/drive/folders/1Tp_zDNkY4OuhJ3bagE8qD6N0eX6jU8pm?usp=sharing

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

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

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

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

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