通俗理解齐次变换矩阵复合变换的时候变换顺序不可逆——上

这个很多人都会直接说:“就是不可逆啊,你拿两个矩阵乘以下,在换个顺序乘以下,它们的结果就是不一样的。”是啊,但是为什么它们的结果是不一样的呢?小虎曾经在机器人学课堂上问过老师,老师含糊其词,想拿上面那句话唬我狂小虎,说这是线性代数的知识,但是小虎上的线性代数课也只给出“矩阵和矩阵相乘不满足乘法交换律(cummutative property)”的结论。

齐次变换矩阵复合变换不可逆分析

先给出结论:
对于在相对坐标系下的固定点P,当相对坐标系相对于固定/绝对坐标系作同一运动的时候,如果该运动所处的顺序不同,那么P点相对于固定/绝对坐标系的运动效果是不一样的,而我们观察的往往是物体(比如这个点)相对于固定/绝对坐标系的运动

拿一个题目作为例子好啦。
固连在坐标系(𝑛,𝑜,𝑎)上的点P(7,3,2)T 经历如下变换,求出变换后该点相对于固定参考坐标系的坐标。

当绕y轴旋转90°处在第(2)步时

(1)绕z轴旋转90°;
(2)接着绕y轴旋转90°;
(3)接着再平移[4,-3,7];
我就拿例子中绕y轴旋转90°这个运动来说明。
第一个步骤结束后,P坐标为
P ( − 3 , 7 , 2 ) P(-3,7,2) P(3,7,2)

(1)结束后,我们来看看P在绝对坐标系中的位置:
P n o a ′ ′ = [ 0 0 1 0 0 1 0 0 − 1 0 0 0 0 0 0 1 ] × [ − 3 7 2 1 ] = [ 2 7 3 1 ] \pmb{P_{noa}''}=\begin{bmatrix} 0 & 0 & 1& 0\\ 0 & 1 & 0& 0\\ -1 & 0 & 0 & 0\\ 0 & 0 & 0 & 1 \\ \end{bmatrix}\times \begin{bmatrix} -3\\ 7\\ 2 \\ 1\\ \end{bmatrix}=\begin{bmatrix} 2\\ 7\\ 3\\ 1\\ \end{bmatrix} PnoaPnoaPnoa=0010010010000001×3721=2731
P ′ ( 2 , 7 , 3 ) P'(2,7,3) P(2,7,3)

两个步骤中P的相对位置变换为
Δ 1 = ( 2 , 7 , 3 ) − ( − 3 , 7 , 2 ) = ( 5 , 0 , 1 ) \Delta_1= (2,7,3)-(-3,7,2)=(5,0,1) Δ1=(2,7,3)(3,7,2)=(5,0,1)

当绕y轴旋转90°处在第(3)步时

倒转一下(2)和(3)的顺序
(1)绕z轴旋转90°;
(2)接着再平移[4,-3,7];
(3)接着绕y轴旋转90°;

(2)结束后,P在绝对坐标系中坐标如下(计算过程略)
P ( 1 , 4 , 9 ) P(1,4,9) P(1,4,9)

(3)结束后,我们来看看P在绝对坐标系中的位置:
P n o a ′ ′ ′ = [ 0 0 1 0 0 1 0 0 − 1 0 0 0 0 0 0 1 ] × [ 1 4 9 1 ] = [ 9 4 − 1 1 ] \pmb{P_{noa}'''}=\begin{bmatrix} 0 & 0 & 1& 0\\ 0 & 1 & 0& 0\\ -1 & 0 & 0 & 0\\ 0 & 0 & 0 & 1 \\ \end{bmatrix}\times \begin{bmatrix} 1\\ 4\\ 9 \\ 1\\ \end{bmatrix}=\begin{bmatrix} 9\\ 4\\ -1\\ 1\\ \end{bmatrix} PnoaPnoaPnoa=0010010010000001×1491=9411
P ( 9 , 4 , − 1 ) P(9,4,-1) P(9,4,1)
两个步骤中P的相对位置变换为
Δ 2 = ( 9 , 4 , − 1 ) − ( 1 , 4 , 9 ) = ( 8 , 0 , − 10 ) \Delta_2= (9,4,-1)-(1,4,9)=(8,0,-10) Δ2=(9,4,1)(1,4,9)=(8,0,10)

可以看到 Δ 1 ≠ Δ 2 \Delta_1\neq \Delta_2 Δ1=Δ2,可以推测再平移[4,-3,7] 步骤的 Δ 3 \Delta_3 Δ3 Δ 4 \Delta_4 Δ4也是不一样的,而且正是由于 Δ 1 + Δ 3 ≠ Δ 2 + Δ 4 \Delta_1+\Delta_3\neq \Delta_2+\Delta_4 Δ1+Δ3=Δ2+Δ4,最终交换顺序才导致结果不同。也就是P在不同顺序下进行接着绕y轴旋转90°相对于绝对坐标系位移是不一样的,对于再平移[4,-3,7]这个移动也是如此。
P可以时相对坐标系上的任意一点,特殊地,当P初始坐标为 ( 0 , 0 , 0 ) (0,0,0) (0,0,0)时,P就是相对坐标系的坐标原点,结果也是类似的。

说明

为防止文章过长乏味,将此博客为上下两篇。通俗理解就上篇足够,下篇是对这篇例题的常规求解和线性代数解释。

通俗理解齐次变换矩阵复合变换的时候变换顺序不可逆——上
通俗理解齐次变换矩阵复合变换的时候变换顺序不可逆——下

posted @   狂小虎  阅读(421)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示