三维空间旋转变换矩阵原理详细推导

时间:2024-03-20 09:04:27

本文档将说明如何推导三维空间旋转变换矩阵

Copyright © 2020 HIT 余晨, 转载请注明出处。

原理说明

其实推导三维空间的旋转变换矩阵就是对三维空间进行换基而已,如果有学过矩阵分析的人应该能很好地理解我所说的意义,即入口基与出口基之间的变换矩阵。
当然,这里假设学习的人都是使用空间机器人或视觉处理的同学,因此这里由空间方法进行推导。

绕单个轴旋转的变换矩阵推导

现在假设我们有两个坐标系:x,y,z与n,o,a,如图1所示:
三维空间旋转变换矩阵原理详细推导
假设这两个坐标系原点重合,且坐标系n,o,a上固连有一点p,现在我们绕着世界坐标系x,y,z的x轴旋转一个角度 θ \theta θ,那么从x轴正方向上往里看,应该看到如下:
三维空间旋转变换矩阵原理详细推导
那么从几何关系上,我们通过计算旋转后P点在x,y,z坐标系下的坐标可以得到如下公式:

p x = p n p y = p o c o s θ − p a s i n θ p z = p o s i n θ + p a c o s θ p_{x} = p_{n} \\ p_{y} = p_{o}cos\theta-p_{a}sin\theta \\ p_{z}=p_{o}sin\theta+p_{a}cos\theta px=pnpy=pocosθpasinθpz=posinθ+pacosθ
写成矩阵形式:
三维空间旋转变换矩阵原理详细推导
这就是绕着x轴旋转的变换矩阵,有的人把负号位置弄错了是因为弄混了坐标系关系,其实只要记住点是固连在旋转坐标系noa上的,我们知道点在noa下的坐标,而我们要求的是旋转后这个点在xyz坐标系下的坐标,因此上面的等式左边应为 p x , p y , p z p_{x},p_{y},p_{z} px,py,pz,而右边为 p n , p o , p a p_{n},p_{o},p_{a} pn,po,pa
如果等式左右对调了,得出的矩阵负号位置就错了,你们可以试着推一下。

正确的三维连乘矩阵结果

假设我们按照x,y,z的顺序旋转矩阵(世界坐标系,不是本身,因此左乘),那么:
三维空间旋转变换矩阵原理详细推导