机械臂笔记——变换矩阵

机械臂笔记——齐次变换矩阵

背景

homogeneous transformation matrix

齐次变换矩阵是计算机图形学、机器人学、物理学和其他工程领域中常用的一种数学工具,用于描述和计算在三维空间中的几何变换,包括平移、旋转、缩放等。它通过将变换矩阵扩展到四维空间(包括三个空间维度和一个额外的维度),允许我们将所有的变换统一到一个矩阵操作中。

齐次坐标

在介绍齐次变换矩阵之前,需要先了解齐次坐标的概念。一个点的齐次坐标是它的普通三维坐标加上一个额外的坐标分量,通常设为 1。例如,一个在三维空间中的点 P = (x, y, z) 的齐次坐标表示为 P_h = (x, y, z, 1) 。

齐次变换矩阵的形式

齐次变换矩阵是一个 4x4 的矩阵,它可以表示为:
T = [ R t 0 1 ] 其中: T = \begin{bmatrix} R & t \\ 0 & 1 \end{bmatrix} 其中: T=[R0t1]其中:

  • ( R ) 是一个 3x3 的旋转矩阵,用于描述旋转变换。
  • ( t ) 是一个 3x1 的平移向量,用于描述平移变换。
  • ( 0 ) 是一个 1x3 的零向量。
  • ( 1 ) 是一个标量,用于保持齐次坐标的第四个分量为 1。

齐次变换矩阵的作用

齐次变换矩阵可以用来执行以下操作:

  1. 平移:通过修改 ( t ) 向量,可以沿 x、y、z 轴平移一个点。
  2. 旋转:通过修改 ( R ) 矩阵,可以绕 x、y、z 轴旋转一个点。
  3. 缩放:虽然缩放通常需要单独的缩放矩阵,但可以通过在 ( R ) 中加入缩放因子来实现。

应用齐次变换矩阵

要应用齐次变换矩阵 T 到一个点 P_h ,我们只需将 T 与 P_h 的齐次坐标进行矩阵乘法:
P h ′ = T ⋅ P h P'_h = T \cdot P_h Ph=TPh

其中 P’_h 是变换后的点的齐次坐标。

示例

假设我们有一个点 P = (1, 2, 3) 和一个变换矩阵 T ,其中 R 是单位矩阵(即没有旋转),t = (1, 1, 1) :
T = [ 1 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 ] T = \begin{bmatrix} 1 & 0 & 0 & 1 \\ 0 & 1 & 0 & 1 \\ 0 & 0 & 1 & 1 \\ 0 & 0 & 0 & 1 \end{bmatrix} T= 1000010000101111

点 P 的齐次坐标是 P_h = (1, 2, 3, 1) 。应用变换矩阵 T 后:
P h ′ = T ⋅ P h = [ 1 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 ] ⋅ [ 1 2 3 1 ] = [ 2 3 4 1 ] P'_h = T \cdot P_h = \begin{bmatrix} 1 & 0 & 0 & 1 \\ 0 & 1 & 0 & 1 \\ 0 & 0 & 1 & 1 \\ 0 & 0 & 0 & 1 \end{bmatrix} \cdot \begin{bmatrix} 1 \\ 2 \\ 3 \\ 1 \end{bmatrix} = \begin{bmatrix} 2 \\ 3 \\ 4 \\ 1 \end{bmatrix} Ph=TPh= 1000010000101111 1231 = 2341
因此,变换后的点 P’ 的三维坐标是 (2, 3, 4) 。
齐次变换矩阵是处理三维变换的一个强大工具,因为它允许我们将多种变换组合到一个矩阵中,从而简化了计算过程。

Mapping(映射)

在变换矩阵的语境中,“mapping” 通常指的是一个数学函数,它将一组输入坐标(或向量)映射到一组输出坐标(或向量)。变换矩阵本身就是一个映射,它描述了如何从一个坐标系转换到另一个坐标系。
具体来说,变换矩阵的 “mapping” 涉及以下方面:

  • 定义域和值域:变换矩阵的输入通常是原始坐标或向量,定义域是所有可能的输入值的集合。输出是变换后的坐标或向量,值域是所有可能的输出值的集合。
  • 操作:通过矩阵乘法,原始坐标或向量与变换矩阵相乘,得到变换后的坐标或向量。
  • 关系:变换矩阵定义了输入和输出之间的具体关系,即如何通过线性组合将原始坐标映射到新的坐标。

Operator(算子)

在变换矩阵的语境中,“operator” 通常指的是一个数学对象,它对某些空间中的元素(如向量)进行操作,并得到该空间中的另一个元素。变换矩阵就是一个算子,它对向量空间中的向量进行线性变换。
具体来说,变换矩阵的 “operator” 涉及以下方面:

  • 操作:变换矩阵通过矩阵乘法对向量进行操作。
  • 线性:变换矩阵是线性的,这意味着它满足线性算子的性质。
  • 效果:变换矩阵的效果可以是旋转、缩放、剪切或平移等几何变换。

总结

  • Mapping:描述了变换矩阵如何将原始坐标映射到新的坐标,强调的是输入和输出之间的对应关系。
  • Operator:描述了变换矩阵作为一个算子的作用,强调的是对向量进行的操作及其线性特性。

基本操作

Mapping方式

对坐标系变换映射点的坐标。

请添加图片描述请添加图片描述请添加图片描述请添加图片描述

Operator方式

对向量点作运动计算。

请添加图片描述请添加图片描述
请添加图片描述

对坐标系作运动换化(运动的相对性:点对坐标系的变化,相当于坐标系对点作逆变换)。

请添加图片描述

总结

请添加图片描述

运算法则

连续运算

请添加图片描述

反矩阵

请添加图片描述请添加图片描述
请添加图片描述请添加图片描述

参考

变换矩阵

  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值