征途所在是星辰大海
——无名
三联后私信博主免费领取ChatGPT4 mini永久授权码~
前言
分享一下我搓机器人过程中遇到的问题
在机器视觉中,常需要将物体的坐标从一个坐标系变换到另一个坐标系。旋转矩阵可以精确描述物体在三维空间中的旋转关系,常配合平移矢量一起完成刚体变换。
相关算法放在文末,博主不是计算机专业,代码基本都是根据数学公式写出来的,没有优化~
坐标系变换
当我们描述一个物体,从一个参考坐标系换算到另一个参考坐标系中时,我们需要对原坐标系进行仿射变换,旋转矩阵描述坐标系的旋转关系,平移矩阵描述两坐标系之间的位置关系。
公式:
其中:
为物体的初始坐标,
为变换后物体的坐标
为旋转矩阵
为平移矢量
平移矢量
在几何变换中,平移矢量是一种用于描述物体在空间中沿某一方向移动(平移)的方法。平移是一种刚体变换(即保持物体形状和大小不变的变换),但它不同于旋转矩阵,因为平移不涉及任何旋转或缩放操作。
一般来说,平移矢量是一个点的集合,直接相加即可,不做详细解释
旋转矩阵
旋转矩阵用于描述物体在二维或三维空间中旋转变换,具有如下性质:
- 旋转矩阵
为正交矩阵,即
- 旋转矩阵行列式为 1,即
- 旋转变换后,向量的长度和角度保持不变
二维旋转矩阵
假设给定一个二维向量 ,让它绕原点逆时针旋转一个角度
,旋转后的新向量记为
,这个旋转的过程可以表示为:
接下来,就是如何求解这个旋转矩阵 :
一:极坐标表示
一个二维向量 可以用极坐标表示为:
其中:
为矢量长度,大小为
为矢量与
轴的夹角
二:旋转后的极坐标表示
如果将矢量 绕原点逆时针旋转角度
,旋转后的矢量
表示为: