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

数学基础---刚体变换(旋转矩阵与平移矩阵)

在计算机视觉、机器人学、图形学等领域,刚体变换(即不改变物体形状和大小的变换)是描述物体运动或坐标转换的核心工具。旋转矩阵与平移矩阵作为刚体变换的基础组件,分别负责描述“旋转”与“平移”这两种基本运动,其理论严谨性和工程实用性贯穿多个学科。

一、刚体变换的本质与分类

刚体变换的核心是保持物体上任意两点的距离和夹角不变,仅改变物体的位置(平移)和朝向(旋转)。数学上,刚体变换可分解为:

  1. 旋转(Rotation):物体绕某一轴(二维中为点)转动,不改变原点到物体上点的距离;
  2. 平移(Translation):物体沿直线移动,所有点的位移量相同。

旋转是线性变换(可通过矩阵乘法实现),平移是非线性变换(通过向量加法实现)。二者的组合构成完整的刚体变换,需通过“齐次坐标”统一为矩阵运算。

二、旋转矩阵(Rotation Matrix)

旋转矩阵是描述旋转的正交矩阵,其核心性质决定了旋转的“刚体性”。

1. 定义与核心性质

旋转矩阵是一个n×n的正交矩阵(n=2时为二维旋转,n=3时为三维旋转),满足:

  • 正交性:旋转矩阵R\mathbf{R}R的逆矩阵等于其转置矩阵,即R−1=RT\mathbf{R}^{-1} = \mathbf{R}^TR1=RT
  • 行列式为1det⁡(R)=1\det(\mathbf{R}) = 1det(R)=1(保证旋转为“右手系”,无镜像翻转;若行列式为-1,则包含镜像,不属于纯旋转);
  • 保长度:对任意向量v\mathbf{v}v,旋转后长度不变,即∥Rv∥=∥v∥\|\mathbf{R}\mathbf{v}\| = \|\mathbf{v}\|Rv=v
  • 保夹角:对任意向量v1,v2\mathbf{v}_1, \mathbf{v}_2v1,v2,旋转后夹角不变,即v1Tv2=(Rv1)T(Rv2)\mathbf{v}_1^T\mathbf{v}_2 = (\mathbf{R}\mathbf{v}_1)^T(\mathbf{R}\mathbf{v}_2)v1Tv2=(Rv1)T(Rv2)
2. 二维旋转矩阵

在二维平面中,点(x,y)(x,y)(x,y)绕原点逆时针旋转θ\thetaθ角的旋转矩阵为2×2矩阵
R(θ)=[cos⁡θ−sin⁡θsin⁡θcos⁡θ] \mathbf{R}(\theta) = \begin{bmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{bmatrix} R(θ)=[cosθsinθsinθcosθ]

  • 几何意义
    旋转后点的坐标(x′,y′)(x', y')(x,y)满足:
    [x′y′]=R(θ)[xy]=[xcos⁡θ−ysin⁡θxsin⁡θ+ycos⁡θ] \begin{bmatrix} x' \\ y' \end{bmatrix} = \mathbf{R}(\theta) \begin{bmatrix} x \\ y \end{bmatrix} = \begin{bmatrix} x\cos\theta - y\sin\theta \\ x\sin\theta + y\cos\theta \end{bmatrix} [xy]=R(θ)[xy]=[xcosθysinθxsinθ+ycosθ]
    θ\thetaθ为负,则表示顺时针旋转。
3. 三维旋转矩阵

三维空间的旋转更复杂,需明确旋转轴(通常为x、y、z轴)。在右手坐标系中,绕坐标轴逆时针旋转θ\thetaθ角的矩阵如下:

  • 绕x轴旋转(y-z平面内转动):
    Rx(θ)=[1000cos⁡θ−sin⁡θ0sin⁡θcos⁡θ] \mathbf{R}_x(\theta) = \begin{bmatrix} 1 & 0 & 0 \\ 0 & \cos\theta & -\sin\theta \\ 0 & \sin\theta & \cos\theta \end{bmatrix} Rx(θ)=1000cosθsinθ0sinθcosθ

  • 绕y轴旋转(x-z平面内转动):
    Ry(θ)=[cos⁡θ0sin⁡θ010−sin⁡θ0cos⁡θ] \mathbf{R}_y(\theta) = \begin{bmatrix} \cos\theta & 0 & \sin\theta \\ 0 & 1 & 0 \\ -\sin\theta & 0 & \cos\theta \end{bmatrix} Ry(θ)=cosθ0sinθ010sinθ0cosθ

  • 绕z轴旋转(x-y平面内转动):
    Rz(θ)=[cos⁡θ−sin⁡θ0sin⁡θcos⁡θ0001] \mathbf{R}_z(\theta) = \begin{bmatrix} \cos\theta & -\sin\theta & 0 \\ \sin\theta & \cos\theta & 0 \\ 0 & 0 & 1 \end{bmatrix} Rz(θ)=cosθsinθ0sinθcosθ0001

4. 旋转的复合与参数化

三维旋转有3个自由度(需3个参数描述),但3×3旋转矩阵有9个元素,冗余度高。实际中常用更简洁的参数化方式,且需掌握旋转的复合规则:

  • 复合旋转:旋转矩阵不满足交换律,若先绕x轴旋转θ1\theta_1θ1,再绕z轴旋转θ2\theta_2θ2,总旋转矩阵为R=Rz(θ2)⋅Rx(θ1)\mathbf{R} = \mathbf{R}_z(\theta_2) \cdot \mathbf{R}_x(\theta_1)R=Rz(θ2)Rx(θ1)先旋转变换在右侧)。

  • 参数化表示

    • 欧拉角:将旋转分解为绕三个轴的三次转动(如“Z-Y-X”角),但存在“万向锁”问题(当中间轴旋转90°时,丢失一个自由度);
    • 轴角:用旋转轴u\mathbf{u}u(单位向量)和旋转角θ\thetaθ表示,通过罗德里格斯公式可转换为旋转矩阵;
    • 四元数:用4个参数表示旋转,无万向锁问题,插值平滑,是工程中(如无人机姿态)的常用形式,可通过归一化四元数q=(w,x,y,z)\mathbf{q} = (w, x, y, z)q=(w,x,y,z)转换为旋转矩阵:
      R(q)=[1−2y2−2z22xy−2zw2xz+2yw2xy+2zw1−2x2−2z22yz−2xw2xz−2yw2yz+2xw1−2x2−2y2] \mathbf{R}(\mathbf{q}) = \begin{bmatrix} 1-2y^2-2z^2 & 2xy-2zw & 2xz+2yw \\ 2xy+2zw & 1-2x^2-2z^2 & 2yz-2xw \\ 2xz-2yw & 2yz+2xw & 1-2x^2-2y^2 \end{bmatrix} R(q)=12y22z22xy+2zw2xz2yw2xy2zw12x22z22yz+2xw2xz+2yw2yz2xw12x22y2
三、平移矩阵(Translation Vector)

平移是物体沿坐标轴的平行移动,数学上用向量表示(而非矩阵,因平移是加法运算)。

1. 定义与表示
  • 二维平移:用2×1向量t=[txty]\mathbf{t} = \begin{bmatrix} t_x \\ t_y \end{bmatrix}t=[txty]表示,txt_xtxtyt_yty分别为x、y方向的位移量。点(x,y)(x,y)(x,y)平移后坐标为:
    [x′y′]=[xy]+t=[x+txy+ty] \begin{bmatrix} x' \\ y' \end{bmatrix} = \begin{bmatrix} x \\ y \end{bmatrix} + \mathbf{t} = \begin{bmatrix} x + t_x \\ y + t_y \end{bmatrix} [xy]=[xy]+t=[x+txy+ty]

  • 三维平移:用3×1向量t=[txtytz]\mathbf{t} = \begin{bmatrix} t_x \\ t_y \\ t_z \end{bmatrix}t=txtytz表示,点(x,y,z)(x,y,z)(x,y,z)平移后坐标为:
    [x′y′z′]=[xyz]+t \begin{bmatrix} x' \\ y' \\ z' \end{bmatrix} = \begin{bmatrix} x \\ y \\ z \end{bmatrix} + \mathbf{t} xyz=xyz+t

2. 平移的复合

多次平移的复合是向量加法(满足交换律):若先平移t1\mathbf{t}_1t1,再平移t2\mathbf{t}_2t2,总平移向量为t=t1+t2\mathbf{t} = \mathbf{t}_1 + \mathbf{t}_2t=t1+t2

四、齐次坐标与变换矩阵:统一旋转与平移

旋转是线性变换(矩阵乘法),平移是非线性变换(向量加法),无法直接用矩阵乘法统一。为解决这一问题,引入齐次坐标(增加一个维度),将平移“嵌入”矩阵,使刚体变换可表示为单一矩阵的乘法。

1. 二维齐次变换矩阵(3×3)

二维点的齐次坐标为(x,y,1)T(x, y, 1)^T(x,y,1)T(最后一维为“尺度因子”,固定为1)。旋转+平移的复合变换矩阵为:
T=[Rt0T1]=[cos⁡θ−sin⁡θtxsin⁡θcos⁡θty001] \mathbf{T} = \begin{bmatrix} \mathbf{R} & \mathbf{t} \\ \mathbf{0}^T & 1 \end{bmatrix} = \begin{bmatrix} \cos\theta & -\sin\theta & t_x \\ \sin\theta & \cos\theta & t_y \\ 0 & 0 & 1 \end{bmatrix} T=[R0Tt1]=cosθsinθ0sinθcosθ0txty1

  • 作用:齐次点p=(x,y,1)T\mathbf{p} = (x, y, 1)^Tp=(x,y,1)T经变换后为:
    p′=Tp=[xcos⁡θ−ysin⁡θ+txxsin⁡θ+ycos⁡θ+ty1] \mathbf{p}' = \mathbf{T} \mathbf{p} = \begin{bmatrix} x\cos\theta - y\sin\theta + t_x \\ x\sin\theta + y\cos\theta + t_y \\ 1 \end{bmatrix} p=Tp=xcosθysinθ+txxsinθ+ycosθ+ty1
    忽略最后一维即得二维坐标。
2. 三维齐次变换矩阵(4×4)

三维点的齐次坐标为(x,y,z,1)T(x, y, z, 1)^T(x,y,z,1)T,复合变换矩阵为:
T=[Rt0T1]=[r11r12r13txr21r22r23tyr31r32r33tz0001] \mathbf{T} = \begin{bmatrix} \mathbf{R} & \mathbf{t} \\ \mathbf{0}^T & 1 \end{bmatrix} = \begin{bmatrix} r_{11} & r_{12} & r_{13} & t_x \\ r_{21} & r_{22} & r_{23} & t_y \\ r_{31} & r_{32} & r_{33} & t_z \\ 0 & 0 & 0 & 1 \end{bmatrix} T=[R0Tt1]=r11r21r310r12r22r320r13r23r330txtytz1

  • 作用:齐次点p=(x,y,z,1)T\mathbf{p} = (x, y, z, 1)^Tp=(x,y,z,1)T变换后为:
    p′=Tp=[R[xyz]+[txtytz]1] \mathbf{p}' = \mathbf{T} \mathbf{p} = \begin{bmatrix} \mathbf{R} \begin{bmatrix} x \\ y \\ z \end{bmatrix} + \begin{bmatrix} t_x \\ t_y \\ t_z \end{bmatrix} \\ 1 \end{bmatrix} p=Tp=Rxyz+txtytz1
3. 齐次变换矩阵的复合

多个刚体变换的复合等价于齐次变换矩阵的乘法(不满足交换律)。例如,先执行变换T1\mathbf{T}_1T1(旋转R1\mathbf{R}_1R1+平移t1\mathbf{t}_1t1),再执行T2\mathbf{T}_2T2(旋转R2\mathbf{R}_2R2+平移t2\mathbf{t}_2t2),总变换为:
T总=T2⋅T1=[R2R1R2t1+t20T1] \mathbf{T}_{\text{总}} = \mathbf{T}_2 \cdot \mathbf{T}_1 = \begin{bmatrix} \mathbf{R}_2\mathbf{R}_1 & \mathbf{R}_2\mathbf{t}_1 + \mathbf{t}_2 \\ \mathbf{0}^T & 1 \end{bmatrix} T=T2T1=[R2R10TR2t1+t21]

五、工程应用与注意事项

旋转矩阵与平移矩阵的应用贯穿多个领域,其细节处理直接影响系统精度。

1. 相机位姿估计(外参矩阵)

在计算机视觉中,相机外参(Extrinsics)描述相机坐标系与世界坐标系的关系,即:
P相机=R⋅P世界+t \mathbf{P}_{\text{相机}} = \mathbf{R} \cdot \mathbf{P}_{\text{世界}} + \mathbf{t} P相机=RP世界+t
其中R\mathbf{R}R为3×3旋转矩阵,t\mathbf{t}t为3×1平移向量。齐次形式为P相机,齐次=T⋅P世界,齐次\mathbf{P}_{\text{相机,齐次}} = \mathbf{T} \cdot \mathbf{P}_{\text{世界,齐次}}P相机,齐次=TP世界,齐次T\mathbf{T}T为4×4外参矩阵。

2. 机器人运动学

机器人末端执行器的位姿(位置+姿态)通过齐次变换矩阵描述。例如,机械臂各关节的变换矩阵相乘,可得到末端相对于基座的总变换,用于运动规划。

3. 关键注意事项
  • 旋转方向与坐标系:需明确旋转是“右手系”还是“左手系”,以及旋转角的正负定义(通常逆时针为正);
  • 正交性验证:数值计算中,旋转矩阵可能因误差偏离正交性,需通过SVD分解进行正交化(如R=UVT\mathbf{R} = \mathbf{U}\mathbf{V}^TR=UVT,其中U,V\mathbf{U},\mathbf{V}U,V为SVD分解结果);
  • 变换顺序:旋转与平移的复合顺序不可交换,“先旋转后平移”与“先平移后旋转”结果不同(除非平移量为零);
  • 参数化选择:欧拉角易实现但有万向锁,四元数适合插值,轴角适合直观理解,需根据场景选择。

旋转矩阵与平移矩阵是描述刚体变换的数学基础:旋转矩阵通过正交性保证“保距保角”,平移向量通过加法描述位置偏移,二者通过齐次坐标统一为变换矩阵,实现高效的复合运算。从理论上的性质推导到工程中的位姿估计、机器人控制,其应用无处不在。掌握其定义、性质、参数化及复合规则,是理解和解决刚体运动问题的核心前提。

http://www.dtcms.com/a/569139.html

相关文章:

  • 找别人建网站去哪里设计网址合集
  • 宁波网站建设费用wordpress启用注册
  • 我的第一个开源项目IOT-Tree Server-实际项目使用介绍
  • 蓝牙钥匙 第41次 紧急情况处理场景下的汽车数字钥匙系统:全方位应急方案设计与实现
  • Nestjs框架: gRPC微服务通信及安全实践全解析
  • 朴朴超市小程序分析
  • 济南物流公司网站建设金华建设工程网站
  • visual basic 从入门到精通 IT9网络学院VB编程系列培训教程
  • 厦门汽车充电站建设报备网站免费ppt模板下载中国风
  • 操作系统期中考试
  • 陕西建设集团韩城公司网站怎样创建基本的网站
  • 每日两题day33
  • 【解决】Failed to remove partition 1 from system: 设备或资源忙
  • Android通过SQL查询trace分析进程启动线程总数量
  • 超轻量级 AI 网安工具
  • 【C++】封装红黑树实现map和set容器(详解)
  • sscanf解析
  • 中专生实习找什么工作?
  • 车辆车身颜色特征识别
  • 【JUnit实战3_28】第十七章:用 JUnit 5 实测 SpringBoot 项目
  • 摆脱局域网束缚!用 DS File+cpolar 让 NAS 文件随用随取
  • 网站制作费电力行业做的好的招投标网站
  • 百度网址大全网站大全石家庄网页设计培训班
  • 设计模式学习(十二)状态模式
  • shell-基于k8s/docker管理容器、监控模型训练所消耗的最大CPU与最大内存脚本
  • Maven打包时指定输出路径、以时间戳命名包名和路径名,结合IDEA以指令脚本方式动态配置输出目录
  • PortSwigger
  • Doxygen入门指南:从注释到自动文档
  • Docker 部署 Elasticsearch 8.12 + Kibana + Nginx 负载均衡
  • yolo 训练 动态改变类别