坐标变换

坐标变换最通俗易懂的解释(推导+图解)_肥肥胖胖是太阳的博客-CSDN博客

绕一个轴的旋转

这里写的旋转角与标准的旋转角互为相反数,标准旋转角的定义为面向旋转轴的方向观察,顺时针为正,逆时针为负,ChatGpt给出的结果:[Chat](#Chat)

两个直角坐标系间的变换有6个自由度,分别是XYZ的平移和θxθyθz三个绕轴的旋转。
|600
Z轴旋转为例,转动一个小角度,得到下列关系式:

X=Xcosθz+(YXtanθz)sin(θz)=Xcosθz+YsinθzY=(YXtanθz)cos(θz)=Xsinθz+YcosθzZ=Z

即:

[XYZ]=[cosθzsinθz0sinθzcosθz0001][XYZ]=Rz[XYZ]

同理:

  Ry=[cosθy0sinθy010sinθy0cosθy]  Rx=[1000cosθxsinθx0sinθxcosθx]

则坐标变化的公式为:

[XYZ]=RxRyRz[XYZ]+[xyz]

任意两个坐标系之间的旋转平移

Drawing 2023-04-14 20.19.22.excalidraw
Drawing 2023-04-14 20.19.22.excalidraw
先考虑两个坐标系之间的旋转关系,再考虑平移就十分简单了。
正交坐标系O中,三个正交的单位向量:ex,ey,ez
正交坐标系O中,三个正交的单位向量:ex,ey,ez
则,一定可以用ex,ey,ez来表示ex,ey,ez。(注意:向量符号的表示与坐标系无关) ,即:

[exeyez]=[a11a12a13a21a22a23a31a32a33][exeyez]=R[exeyez]

其中,旋转矩阵中的系数是O'坐标轴向O坐标轴的投影
已知P(x,y,z),即OP=xex+yey+zez,易证:

[xyz]=[a11a12a13a21a22a23a31a32a33][xyz]=R[xyz]

加上平移矩阵:

[xyz]=[a11a12a13a21a22a23a31a32a33][xyz]+[x0y0z0]=R[xyz]+T

Chat


role::user

如何根据旋转、俯仰和偏航角确定旋转矩阵


role::assistant

旋转、俯仰和偏航角通常用于描述飞行器或机器人在三维空间中的朝向。根据欧拉角的定义,旋转、俯仰和偏航角分别是绕Z轴、Y轴和X轴的旋转角度。因此,可以通过以下步骤确定旋转矩阵:

  1. Z轴旋转θ角度,得到旋转矩阵Rz

Rz=[cosθsinθ0sinθcosθ0001]

  1. Y轴旋转ϕ角度,得到旋转矩阵Ry

Ry=[cosϕ0sinϕ010sinϕ0cosϕ]

  1. X轴旋转ψ角度,得到旋转矩阵Rx

Rx=[1000cosψsinψ0sinψcosψ]

  1. 将三个旋转矩阵按照ZYX的顺序相乘,得到最终的旋转矩阵R

R=RxRyRz=[cosθcosϕcosθsinϕsinψsinθcosψcosθsinϕcosψ+sinθsinψsinθcosϕsinθsinϕsinψ+cosθcosψsinθsinϕcosψcosθsinψsinϕcosϕsinψcosϕcosψ]

这个旋转矩阵R描述了从一个坐标系到另一个坐标系的旋转变换。例如,如果一个向量v在原始坐标系中的坐标是(x,y,z),那么在新的坐标系中的坐标v可以通过以下公式计算:

v=Rv

其中,vv都是列向量。


posted @   CryCat  阅读(256)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示