欧拉角推算旋转矩阵的问题

旋转的正方向

我们在进行旋转的时候,我们首先得知道怎么是一个正方向,正方向是遵循右手定则的,即:右手握住对应的旋转轴,大拇指指向正方向,那么四根手指指向的方向就是正方向了。

接下来我们引入公式

//在右手系中绕X轴旋转p° 对应的矩阵Rx
        | 1    0        0 |
  Rx=   | 0   cosp   -sinp|
        | 0   sinp    cosp|
//在右手系中绕Y轴旋转h° 对应的矩阵Ry
        | cosh   0   sinh|
  Ry=   |  0     1     0 |
        |-sinh   0   cosh|
//在右手系中绕Z轴旋转b° 对应的矩阵Rz
        |cosb  -sinb   0 |
  Rz=   |sinb   cosb   0 |
        |  0     0     1 |

如果对这个推算感兴趣可以参考牛小骥老师的课件:
在这里插入图片描述
也就是这个转化矩阵只要你是右手系就可以正常使用,不论你是使用下面谁的坐标系:

  • 右前上-东北天(西北工业大学严老师团队)
  • 前右下-北东地(武汉大学牛老师团队)

都是可以正常使用的。

旋转顺序的问题

根据组合旋转矩阵的定义也可以了解,多次旋转组合在一起,例如Z-X-Y顺规的欧拉角(30°,62°,28°)就是先绕Z轴旋转28°,然后绕X轴旋转30°,最后绕Y轴旋转62°。单一的旋转矩阵无法满足这样的组合旋转,无法完成对应。此时就需要利用旋转变换的性质:物体绕轴旋转对应的矩阵具有可累乘的性质,即多一次旋转就是多一次矩阵乘法。

因此,组合旋转矩阵就是对应顺序的基础旋转矩阵的乘积。例如Z-X-Y顺规的欧拉角对应的组合旋转矩阵就是R = RzRxRy。如果是X-Y-Z顺规的欧拉角,对应的组合旋转矩阵就是R = RxRyRz。依据这个乘法法则即可获得欧拉角→旋转矩阵的转换。

举一个例子,按照2.1节中的基础旋转矩阵,计算Z-X-Y顺规下对应的旋转矩阵,其结果如下:

//欧拉角(p,h,b)在右手系中对应的旋转矩阵(Z-X-Y顺规)
               |cosbcosh-sinbsinpsinh  -sinbcosp  cosbsinh+sinbsinpcosh|
R = Rz*Rx*Ry = |sinbcosh+cosbsinpsinh   cosbcosp  sinbsinh-cosbsinpcosh|
               |     -cospsinh            sinp           cospcosh      |

安卓的欧拉角怎么转化旋转矩阵

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CUHK-SZ-relu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值