坐标变换与基变换到底哪个左乘,哪个右乘??

本文深入探讨坐标变换与基变换的区别与联系,解析两者在数学上的本质差异,及其在导航与SLAM中的应用。文章详细说明了基变换与坐标变换的定义、操作方式及为何基变换采用右乘,坐标变换采用左乘的原因。
VersionDateByChangeCost
A2020-3-18AYZPFirst Version三小时

前言

学习目的

1) 坐标变换与基变换到底哪个左乘,哪个右乘。

答案: 根本就是由基和坐标的维数决定其到底左乘还是右乘,纯粹的数学关系,想太多,吃太饱

学习路线

1) SLAM十四讲视频

2) 优快云博客:https://blog.youkuaiyun.com/wys7541/article/details/81806376

资料定位

1) 学习笔记心得

一 坐标与基

1.1 基

  基的概念源于线性代数,一般指向量空间的基,其定义为:


Fig1. 图来自勿幻想博客(https://me.youkuaiyun.com/wys7541)

   **基**的一般使用 **一维行向量**表示:

V = L ( α 1 , α 2 , . . . , α m ) V = L({\alpha _1},{\alpha _2},...,{\alpha _m}) V=L(α1,α2,...,αm)

【在我的理解里】,基实际上是坐标系的一组向量表示。三维坐标系 ( x y z ) (x y z) (xyz)中,设其一组基为(α1, α2, α3)所以请把基当做坐标系吧。


Fig2. 三维直角坐标系

1.2 坐标

  在线性代数中,坐标的全称为,***向量关于基的坐标。***其定义为:


Fig3. 图来自勿幻想博客(https://me.youkuaiyun.com/wys7541)

   **坐标**一般用 **一维列向量**表示:

【在我的理解中】,坐标是指坐标系下一组数值。如三维坐标系下某点坐标为(x, y, z)。

二 基变换

2.1 基变换定义


Fig4. 图来自勿幻想博客(https://me.youkuaiyun.com/wys7541)

2.2 基变换大白话

  • 基变换就是把一组基变到另一组基。

  • 而用在导航方面来讲,就是从一个坐标系转换到另一个坐标系。

  • 注意,基变换是右乘的,即过渡矩阵A被乘在右边。

2.3 为什么基变换过渡矩阵A被乘在右边

  因为基是用一维行向量表示的,因此过渡矩阵A只能被乘到右边。举个三维的例子。


式中,(β1 β2 β3)是变换后的基(即变换后的坐标系),(α1 α2 α3)是变换前的基(变换前的坐标系),A是过渡矩阵(即变换矩阵)。(β1 β2 β3)是1x3的矩阵,(α1 α2 α3)是1x3的矩阵,A是3x3的矩阵,想要等式成立,必然右乘。

三 坐标变换

3.1 坐标变换定义


Fig5. 图来自勿幻想博客(https://me.youkuaiyun.com/wys7541)

3.2 坐标变换大白话

  • 坐标变换就把一个点(或一个向量)从一个坐标系转换到另一个坐标系去。举个栗子:东北天坐标下点B坐标为(1, 2, 3),通过坐标变换到北西天坐标系,在北西天坐标系下B点坐标是(x, x, x)。
  • 上面那点就是说,同一个点(或向量)在不同坐标系下的坐标分别是什么?
  • 注意,坐标变换,是左乘的。过渡矩阵A是乘在左边的。(在这里A和A-1均只表示一个象征作用,象征变换阵,下同)

3.3 为什么坐标变换的过渡矩阵A被乘在左边

  因为坐标是用一维列向量表示的,因此过渡矩阵A只能被乘到左边。举个三维的例子。


式中, ( x ′ y ′ z ′ ) T {\left( {x'{\rm{ }}y'{\rm{ }}z'} \right)^T} (xyz)T是某一点在变换后的坐标系下坐标, ( x y z ) T {\left( {x{\rm{ }}y{\rm{ }}z} \right)^T} (xyz)T是该点在变换前的坐标系下的坐标, A A A是过渡矩阵(即变换矩阵)。 ( x ′ y ′ z ′ ) T {\left( {x'{\rm{ }}y'{\rm{ }}z'} \right)^T} (xyz)T是3x1的矩阵, ( x y z ) T {\left( {x{\rm{ }}y{\rm{ }}z} \right)^T} (xyz)T是3x1的矩阵, A A A是3x3的矩阵,想要等式成立,必然左乘。

四 总结

  • 关于向量和坐标系基元是左乘还是右乘,其实举个栗子就可以分清了。(已知坐标系基元为(i, j, k),基元表示为一维行向量,因而基元的变换只能是右乘,举个栗子[1x3]=[1x3]*[3x3]。而坐标表示为一维列向量,因而坐标变换只能是左乘,举个栗子[3x1]=[3x3]*[3x1])。因而本质是写出来的数学关系,让其能够成立,只是一种表述方法。
  • 即,我为啥会提出这个无聊的问题???

参考资料

[1] 勿幻想. 线性代数笔记——基变换与坐标变换. 优快云博客. 2018.08. https://blog.youkuaiyun.com/wys7541/article/details/81806376

基变换坐标变换线性代数的重要组成部分,涉及如何从一组转换到另一组以及相应地调整向量的坐标以匹配新的过程。下面提供几个有关基变换坐标变换的例子。 ### 示例题目 1 设有一个二维实向量空间$\mathbb{R}^2$中的两个不同: - 原始 $\beta_1 = \{\vec{b}_1,\vec{b}_2\}$ 其中 $\vec{b}_1=\begin{pmatrix}1\\0\end{pmatrix}, \vec{b}_2=\begin{pmatrix}0\\1\end{pmatrix}$ - 新 $\beta_2 = \{\vec{c}_1,\vec{c}_2\}$ 其中 $\vec{c}_1=\begin{pmatrix}1\\1\end{pmatrix}, \vec{c}_2=\begin{pmatrix}-1\\1\end{pmatrix}$ 给定向量$v_{\beta_1}=[x,y]_\beta$, 要求找到该向量在新下的坐标表示$v_{\beta_2}$. **解答** 为了完成这个转变,需要计算出从旧到新的过渡矩阵P。此矩阵可以通过将新向量写成原下列的形式得到: $$ P = [\vec{c}_1 | \vec{c}_2 ]= \left[\begin{array}{cc} 1 & -1 \\ 1 & 1 \end{array}\right] $$ 要获得新下的坐标,可以利用公式 $v_{\beta_2}=P^{-1} v_{\beta_1}$ 计算。 假设$x=3, y=2$,则有: ```matlab % MATLAB code to calculate the new coordinates under beta_2 basis. P = [1,-1; 1,1]; inv_P = inv(P); v_beta1 = [3; 2]; % Original vector in terms of beta_1 v_beta2 = inv_P * v_beta1; disp(v_beta2) ``` 执行这段MATLAB代码会给出向量$v$在新$\beta_2$下的坐标。 --- ### 示例题目 2 考虑三维向量空间$\mathbb{R}^3$内的两组分别为标准正交和非标准。 - 标准正交为:$\epsilon = \{(1,0,0), (0,1,0), (0,0,1)\}$ - 另一组为:$\gamma = \{(1,1,0),(1,0,1),(0,1,1)\}$ 对于任意向量$a=(a_x,a_y,a_z)$属于$\mathbb{R}^3$,找出其在这两种下的坐标之间的关系。 **解答** 这里同样需要构造一个过渡矩阵Q,它由新相对于老的坐标构成。之后,任何向量在标准下的坐标都可以通过以此过渡矩阵转为其在新下的坐标。 $$ Q = \left[\begin{array}{ccc} 1 & 1 & 0 \\ 1 & 0 & 1 \\ 0 & 1 & 1 \end{array}\right] $$ 因此,如果已知某一向量在标准下的坐标,则可以在新下的坐标通过如下方式获取: $$ a_\gamma = Q^{-1}a_\epsilon $$
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值