齐次坐标变换 坐标变换 坐标系变换 旋转矩阵 坐标旋转 坐标系旋转 欧拉角 Matlab 平移 旋转

齐次坐标变换 坐标变换 坐标系变换 旋转矩阵 坐标旋转 坐标系旋转 欧拉角 Matlab 平移 旋转平移齐次坐标变换 空间某点由矢量 描述 其中 为轴 上的单位矢量 此点可用平移齐次变换表示为 旋转齐次坐标变换 表 表 非齐次 去掉第四行第四列就行了 绕 x 轴作转角为的旋转变换 绕 y 轴作转角为的旋转变换

大家好,我是讯享网,很高兴认识大家。

平移齐次坐标变换: 

空间某点由矢量 a\boldsymbol{i}+b\boldsymbol{j}+c\boldsymbol{k}
讯享网 描述。其中,\boldsymbol{i,j,k} 为轴 x,y,z 上的单位矢量。此点可用平移齐次变换表示为: 

Trans(a,b,c)=\begin{bmatrix} 1 & 0 & 0 & a \\ 0 & 1 & 0 & b\\ 0 & 0 & 1 & c \\ 0 & 0 & 0 & 1 \end{bmatrix}

旋转齐次坐标变换: 

s  sinc 表 cos ,非齐次去掉第四行第四列就行了。

绕x轴作转角为\theta的旋转变换:

Rot(x,\theta )=\begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & c\theta & -s\theta & 0 \\ 0 & s\theta & c\theta & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}

绕y轴作转角为\theta的旋转变换: 

Rot(y,\theta )=\begin{bmatrix} c\theta & 0 & s\theta & 0 \\ 0 & 1 &0 & 0 \\ -s\theta & 0 & c\theta & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}

绕z轴作转角为\theta的旋转变换: 

Rot(z,\theta )=\begin{bmatrix} c\theta & -s\theta & 0 & 0 \\ s\theta & c\theta & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}

如果先让物体绕z轴旋转90°,接着绕y轴旋转90°,再沿x轴方向平移1个单位(右手坐标系,右手定则旋转),则: 

T=Trans(1,0,0)Rot(y,90)Rot(z,90)

eul2rotm()      (MatlabR2016a)

eul=[angle1 angle2 angle3]

eul2rotm(eul,'ZYX') 是先绕X轴旋转angle3再绕Y轴旋转angle2再绕Z轴旋转angle1。( eul2rotm中为弧度)

如:

eul = [pi pi/2 pi/2]; rotm1 = eul2rotm(eul,'ZYX'); rotm1*[0 1 0]'

讯享网

表示  [0;1;0],先绕X轴旋转90°,再绕Y轴旋转90°,最后绕Z轴旋转180°(右手坐标系,右手定则旋转),结果为 [-1;0;0]。

也可以:

讯享网eul2 = rad2deg([pi pi/2 pi/2]); rotm2 = rotz(eul2(1)) * roty(eul2(2)) * rotx(eul2(3)); rotm2*[0 1 0]'

结果也为 [-1;0;0](rotx,y,z 中为角度)。

点绕坐标系旋转 与 坐标系自身旋转

坐标系不动,点绕坐标系旋转:

 [-1,0,0]'= Rotz(180)*Roty(90)*Rotx(90)*[0,1,0]' 

上式表示:坐标系C下的点 P_{c}=[0,1,0]'先绕C的X轴旋转90°,再绕C的Y轴旋转90°,最后绕C的Z轴旋转180°(右手坐标系,右手定则旋转),则新的坐标(坐标系C下)P_{c}^{'} =[-1,0,0]'

即:R_{xyz} = Rotz(180)*Roty(90)*Rotx(90),P_{c}^{'} = R_{xyz}*P_{c}

同一个点,坐标系自身的旋转:

设一开始坐标系C1和坐标系C2重合,且坐标系C2经过先绕C1的X轴旋转90°再绕C1的Y轴旋转90°最后绕C1的Z轴旋转180°的变换后为新的坐标系C2(等同于坐标系C2经过先绕C2的Z轴旋转180°到C2',再绕C2'的Y轴旋转90°到C2'',最后绕C2''的X轴旋转90°)。

则这个过程可视作坐标系C1 到 (新)坐标系C2的旋转变换整个过程坐标系C1未动):

_{c2}^{c1}\textrm{R}=Rotz(180)*Roty(90)*Rotx(90),此时 _{c2}^{c1}\textrm{R} 也描述 (新)坐标系C2相对于坐标系C1的方位。

若将[0,1,0]'看做坐标系C2下的坐标P_{c2}, 将[-1,0,0]'看做坐标系C1下的点P_{c1},则P_{c1}= _{c2}^{c1}\textrm{R} *P_{c2},即坐标系C1中的点P_{c1}可在坐标系C2中表示为P_{c2} (反之亦然)。       

具体应用:若世界坐标系W到相机坐标系C的旋转变换为_{C}^{W}\textrm{R},相机坐标系下有空间点P_{C},则该空间点在世界坐标系下可表示为P_{W}= _{C}^{W}\textrm{R} *P_{C}

refer: 位姿变换与李群、李代数_李代数位置变换-CSDN博客 中的 一、1.

          坐标变换(2)—不同坐标系下的变换 - 知乎

          机器人学——姿态描述方法(欧拉角,固定角,D-H法,绕定轴旋转)_欧拉角 定轴-CSDN博客

          相机矩阵(Camera Matrix)-CSDN博客

小讯
上一篇 2025-02-22 18:25
下一篇 2025-03-14 16:37

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/63972.html