当前位置: 首页 > news >正文

坐标变换矩阵

在高级驾驶辅助系统(ADAS)领域,存在多种常用的坐标系:雷达Lidar坐标系、车辆坐标系、相机坐标系、图像坐标系。

旋转变换矩阵(Rotation Matrix

在二维平面xoy上,由绿色坐标系逆时针旋转θ°到蓝色坐标系。可以看到,点A是没有移动的,变化的是点A分别在前后两个坐标系中的坐标,即从(x_{g}, y_{g})变换到了(x_{b}, y_{b})

如图1中黑色虚线的分解方式所示,通过矢量分解(类似于物理中力、速度等矢量的分解),将绿色坐标系中的(x_{g}, y_{g})分别分解到蓝色坐标系的x轴和y轴上,可以得到:

\\x_{b} = cos\theta * x_{g} + sin\theta * y_{g} \\ y_{b} = -sin\theta * x_{g} + cos\theta* y_{g}

用矩阵表示为:

\begin{bmatrix} x_{b}\\ y_{b} \end{bmatrix} = \begin{bmatrix} cos\theta & sin\theta\\ -sin\theta & cos\theta \end{bmatrix} \begin{bmatrix} x_{g}\\ y_{g} \end{bmatrix}

其中R则为二维情形下的旋转变换矩阵,它表示了A点在前后坐标系中的值的映射关系

R = \begin{bmatrix} cos\theta & sin\theta\\ -sin\theta & cos\theta \end{bmatrix}

三维情形

有了上述在二维平面旋转的基础,三维空间的旋转矩阵也就不难得出了。

即绕x轴,y轴,z轴分别进行旋转。最后将这三个旋转变换矩阵相乘,就能得到在三维空间任意角度的旋转变换矩阵了。(xyz轴满足右手系关系

绕x轴旋转的时候,可以看作在yoz二维平面上的旋转,此时x的值不变

R_{x} =\begin{bmatrix} 1 &0& 0\\ 0 &cos\theta &sin\theta \\ 0 &-sin\theta & cos\theta \end{bmatrix}

绕y轴旋转的时候,可以看作在zox二维平面上的旋转,此时y的值不变

R_{y} =\begin{bmatrix} cos\theta &0& -sin\theta\\ 0 &1&0 \\ sin\theta &0& cos\theta \end{bmatrix}

绕z轴旋转的时候,可以看作在xoy二维平面上的旋转,此时z的值不变

R_{z} =\begin{bmatrix} cos\theta &sin\theta& 0 \\ -sin\theta &cos\theta&0 \\0&0&1 \end{bmatrix}

最终的三维旋转变换矩阵就是上面三个矩阵相乘,意为三维坐标系分别绕x轴、y轴和z轴旋转相应的角度。

R = R_{x}R_{y}R_{z} =\begin{bmatrix} 1 &0& 0\\ 0 &cos\theta_{x} &sin\theta_{x}\\ 0 &-sin\theta_{x} & cos\theta_{x} \end{bmatrix}\begin{bmatrix} cos\theta_{y}&0& -sin\theta_{y}\\ 0 &1&0 \\ sin\theta_{y} &0& cos\theta_{y} \end{bmatrix}\begin{bmatrix} cos\theta_{z} &sin\theta_{z}& 0 \\ -sin\theta_{z} &cos\theta_{z}&0 \\0&0&1 \end{bmatrix}

正交矩阵

向量正交

首先先明白什么是在解析几何中的概念,向量正交是指:若两个同维向量的点乘(也叫:数量积)为0,则两个向量正交(也叫垂直),即:在平面直角坐标系中  相互垂直(夹角为90度)。

例:假设存在三个向量,分别为:

正交矩阵

如果把正交的向量,按列向量的形式放进一个花括号内,即组成了一个正交向量组。那么该正交向量组中的向量,均两两相互垂直(也就是任意拿出两个向量来做点乘都=0)。

例:假设存在4个向量,分别为: 

正交基

基向量是构成向量空间的一个向量组(坐标系),该向量组内的向量是线性无关的(若两两正交,则必定线性无关),并且通过它们的线性组合可以表示整个向量空间中的任意向量。

在此基础上,若基向量组内的向量两两正交,则称作:正交基,如下图所示:

特别的:若基向量组内的向量两两正交,且向量长度均为1,则称作:标准正交基。

向量组转矩阵

矩阵是一种数据结构,简单来说就是一张数表,往格子里填入相应的数字就能视作一个矩阵,所以向量组可以视作矩阵。那么,我们把上面的正交向量组视作矩阵:

正交矩阵

当正交向量组转为矩阵后,我们就可以用矩阵的视角来重新看待“正交向量组”

例1:是几行几列的矩阵?是不是方阵?
例2:矩阵的秩是多少?矩阵是否可逆?

至此,最核心的问题是:什么样的矩阵才能称作正交矩阵?

第一点:必须是一个方阵,即n行n列;

第二点:矩阵中的每一列若视作向量,则这些向量均两两相互垂直;

第三点:矩阵中的每一列若视作向量,则这些向量的长度均为1;

同时满足这3点,即为一个正交矩阵。让我们来看一些例子:

数学定义及性质

1、数字定义:

若一个方阵 是正交矩阵,当且仅当它的转置矩阵与自身的乘积等于单位矩阵

另一种等价的定义是:若方阵是正交矩阵,当且仅当的列向量是两两正交的单位向量。

2、数学特性

1、正交矩阵的逆:,正交矩阵的转置 = 正交矩阵的逆

2、正交矩阵的行列式: 行列式的取值只有两种可能(1)或(-1)

3、向量正交:将视作由若干行向量组成,则这些行向量两两相互正交,若将视作由若干列向量组成,则这些列向量也两两相互正交

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • CentOS7 VMware虚拟机基于NAT配置网络IP
  • 【机器学习sklearn实战】岭回归、Lasso回归和弹性网络
  • PyCharm 2024.1 总结和最新变化
  • 大家不推荐开放式耳机?开放式耳机的优缺点
  • EasyExcel实现100w数据导入导出
  • React中,className属性自定义组件不生效的问题
  • 全面介绍 Apache Doris 数据灾备恢复机制及使用示例
  • 循环神经网络三
  • uniapp版本更新除了plus.runtime.getProperty的解决办法
  • XHTML 简介
  • 单元测试注解:@ContextConfiguration
  • 企微SCRM在私域流量运营中的痛点解决之道
  • 畅捷通基于Flink的实时数仓落地实践
  • python 提取视频中的音频 采用ffmpeg-python 库
  • Ubuntu 系统的部署和基础操作(使用)
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • flask接收请求并推入栈
  • idea + plantuml 画流程图
  • mysql 数据库四种事务隔离级别
  • Web Storage相关
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 事件委托的小应用
  • 一些关于Rust在2019年的思考
  • 用jquery写贪吃蛇
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • ​iOS实时查看App运行日志
  • #162 (Div. 2)
  • #QT(一种朴素的计算器实现方法)
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • (2)空速传感器
  • (CPU/GPU)粒子继承贴图颜色发射
  • (solr系列:一)使用tomcat部署solr服务
  • (苍穹外卖)day03菜品管理
  • (二)PySpark3:SparkSQL编程
  • (五)MySQL的备份及恢复
  • (一)基于IDEA的JAVA基础12
  • (转)fock函数详解
  • (转)Linq学习笔记
  • (转)详解PHP处理密码的几种方式
  • .NET : 在VS2008中计算代码度量值
  • .Net CF下精确的计时器
  • .net 生成二级域名
  • .NET程序员迈向卓越的必由之路
  • @Data注解的作用
  • @JsonFormat与@DateTimeFormat注解的使用
  • [ JavaScript ] JSON方法
  • [].slice.call()将类数组转化为真正的数组
  • [Algorithm][综合训练][kotori和气球][体操队形][二叉树中的最大路径和]详细讲解
  • [Big Data - Kafka] kafka学习笔记:知识点整理
  • [BZOJ 3531][Sdoi2014]旅行(树链剖分+线段树)
  • [C#]使用PaddleInference图片旋转四种角度检测
  • [cb]UIGrid+UIStretch的自适应
  • [CSAWQual 2019]Web_Unagi ---不会编程的崽
  • [DevEpxress]GridControl 显示Gif动画