两个平面旋转平移坐标系间的坐标变换关系

在三维空间中,考虑两个右手直角坐标系 O1X1Y1Z1O_1X_1Y_1Z_1O1X1Y1Z1 与 O2X2Y2Z2O_2X_2Y_2Z_2O2X2Y2Z2。已知 O2O_2O2 在 O1X1Y1Z1O_1X_1Y_1Z_1O1X1Y1Z1 中的坐标为 (a,b,0)(a,b,0)(a,b,0),而 O2X2Y2Z2O_2X_2Y_2Z_2O2X2Y2Z2 的姿态由 O1X1Y1Z1O_1X_1Y_1Z_1O1X1Y1Z1 绕自身 Z1Z_1Z1 轴逆时针旋转 θ\thetaθ 角后,再将原点平移至 O2O_2O2 而得到。这里约定 θ\thetaθ 的正方向为从 Z1Z_1Z1 轴正端观察时的逆时针方向。由于旋转轴为 ZZZ 轴且平移向量没有 zzz 分量,整个变换在 zzz 方向上保持恒等,本质上是一个二维平面刚体变换。

设空间任意一点 PPP 在 O1X1Y1Z1O_1X_1Y_1Z_1O1X1Y1Z1 中的坐标为 (x1,y1,z1)(x_1,y_1,z_1)(x1,y1,z1),在 O2X2Y2Z2O_2X_2Y_2Z_2O2X2Y2Z2 中的坐标为 (x2,y2,z2)(x_2,y_2,z_2)(x2,y2,z2)。绕 ZZZ 轴旋转 θ\thetaθ 角的旋转矩阵为

Rz(θ)=(cos⁡θ−sin⁡θ0sin⁡θcos⁡θ0001).R_z(\theta)=\begin{pmatrix}\cos\theta & -\sin\theta & 0\\ \sin\theta & \cos\theta & 0\\ 0 & 0 & 1\end{pmatrix}.Rz(θ)= cosθsinθ0−sinθcosθ0001 .

这个矩阵作用于 O2O_2O2 系中的坐标向量,将其变换到与 O1O_1O1 系姿态相同的中间坐标系下,再加上原点平移向量 (a,b,0)T(a,b,0)^T(a,b,0)T,就得到 O1O_1O1 系中的坐标。因此从 O2X2Y2Z2O_2X_2Y_2Z_2O2X2Y2Z2 到 O1X1Y1Z1O_1X_1Y_1Z_1O1X1Y1Z1 的坐标变换关系为

(x1y1z1)=Rz(θ)(x2y2z2)+(ab0).\begin{pmatrix}x_1\\ y_1\\ z_1\end{pmatrix}=R_z(\theta)\begin{pmatrix}x_2\\ y_2\\ z_2\end{pmatrix}+\begin{pmatrix}a\\ b\\ 0\end{pmatrix}. x1y1z1 =Rz(θ) x2y2z2 + ab0 .

展开后可以写为

x1=x2cos⁡θ−y2sin⁡θ+a,x_1=x_2\cos\theta-y_2\sin\theta+a,x1=x2cosθ−y2sinθ+a,

y1=x2sin⁡θ+y2cos⁡θ+b,y_1=x_2\sin\theta+y_2\cos\theta+b,y1=x2sinθ+y2cosθ+b,

z1=z2.z_1=z_2.z1=z2.

从几何结构上看,Rz(θ)R_z(\theta)Rz(θ) 是一个正交矩阵,满足 Rz(θ)TRz(θ)=IR_z(\theta)^T R_z(\theta)=IRz(θ)TRz(θ)=I 且行列式为 111,因此该矩阵属于三维空间中的特殊正交群 SO(3)SO(3)SO(3)。更具体地说,它保持 ZZZ 轴不变,只在 XYXYXY 平面内进行旋转,所以它是平面旋转群 SO(2)SO(2)SO(2) 在三维空间中的一个自然嵌入。由于平移向量 (a,b,0)(a,b,0)(a,b,0) 也位于同一平面内,整个变换是一个保持距离和夹角的刚体运动,不会改变 zzz 坐标。这种性质使得该问题可以降维到 XYXYXY 平面内讨论,但齐次坐标形式仍保留三维结构,以便于后续与其他三维变换复合。

在机器人学、计算机视觉和机构运动学中,常把旋转和平移统一表示为 4×44\times44×4 的齐次变换矩阵。对于本题,从 O2O_2O2 系到 O1O_1O1 系的齐次变换矩阵为

TO1←O2=cos⁡θ−sin⁡θ0asin⁡θcos⁡θ0b00100001.T_{O_1\leftarrow O_2}=\begin{bmatrix}\cos\theta & -\sin\theta & 0 & a\\ \sin\theta & \cos\theta & 0 & b\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1\end{bmatrix}.TO1←O2= cosθsinθ00−sinθcosθ000010ab01 .

于是坐标变换可以紧凑地写成

(x1y1z11)=TO1←O2(x2y2z21).\begin{pmatrix}x_1\\ y_1\\ z_1\\ 1\end{pmatrix}=T_{O_1\leftarrow O_2}\begin{pmatrix}x_2\\ y_2\\ z_2\\ 1\end{pmatrix}. x1y1z11 =TO1←O2 x2y2z21 .

如果需要反向从 O1X1Y1Z1O_1X_1Y_1Z_1O1X1Y1Z1 变换到 O2X2Y2Z2O_2X_2Y_2Z_2O2X2Y2Z2,只需对上式求逆。由于旋转矩阵的逆等于其转置,且平移部分也需要相应反向,可得

(x2y2z2)=Rz(θ)T(x1−ay1−bz1).\begin{pmatrix}x_2\\ y_2\\ z_2\end{pmatrix}=R_z(\theta)^T\begin{pmatrix}x_1-a\\ y_1-b\\ z_1\end{pmatrix}. x2y2z2 =Rz(θ)T x1−ay1−bz1 .

将转置矩阵写出来就是

(x2y2z2)=(cos⁡θsin⁡θ0−sin⁡θcos⁡θ0001)(x1−ay1−bz1).\begin{pmatrix}x_2\\ y_2\\ z_2\end{pmatrix}=\begin{pmatrix}\cos\theta & \sin\theta & 0\\ -\sin\theta & \cos\theta & 0\\ 0 & 0 & 1\end{pmatrix}\begin{pmatrix}x_1-a\\ y_1-b\\ z_1\end{pmatrix}. x2y2z2 = cosθ−sinθ0sinθcosθ0001 x1−ay1−bz1 .

这等价于先把 O1O_1O1 系中的点平移到以 O2O_2O2 为原点的中间坐标系,再绕 ZZZ 轴反向旋转 θ\thetaθ 角。整个变换的逆具有明确的几何意义:先减去平移向量 (a,b,0)T(a,b,0)^T(a,b,0)T,再施加 −θ-\theta−θ 的旋转。

该变换关系也体现了旋转与平移的不可交换性。本题中 O2O_2O2 系是先旋转后平移得到的,因此变换顺序是先旋转后平移;若先平移后旋转,结果会不同。而齐次矩阵 TO1←O2T_{O_1\leftarrow O_2}TO1←O2 通过增广一维把仿射变换线性化,使得连续多个坐标系的变换可以通过矩阵连乘简洁地表达。理解这种旋转加平移的标准形式,是处理平面移动机器人定位、二维图像配准以及三维空间中标定问题的基础。

相关推荐
FITA阿泽要努力1 小时前
第 1 周·第 3 讲|工具如何交给模型:工具定义、参数与结构化调用
服务器·数据库·python·agent
W.A委员会1 小时前
PID与PID整定
python·算法
蜗牛互联网1 小时前
Java HttpClient 调用 Gemini 图像理解与金额字段校验
java·开发语言·人工智能·后端·python
蜗牛互联网1 小时前
Python Responses API视觉输入与本地金额校验最小实现
java·开发语言·人工智能·后端·python
冷雨夜中漫步1 小时前
YOLO快速入门——(2)YOLO V26安装与快速入门
图像处理·算法·yolo·计算机视觉
Python图像识别1 小时前
35-【2027毕设】YOLO11中草药检测识别系统 - Python完整源码+PyQt5界面+训练模型+数据集
python·qt·课程设计
马六六i1 小时前
市面上专业的IP驱动产业新场景新工具哪家好
网络·人工智能·python·tcp/ip
longlongzihan1 小时前
LeetCode 41. 缺失的第一个正数:从基础解法到原地哈希
c++·算法·leetcode
Omics Pro2 小时前
强生:以机理为中心!虚拟细胞世界模型
数据库·人工智能·python·深度学习·算法·机器学习·自然语言处理