求三维坐标绕坐标轴旋转后的坐标值

目的

旋转矩阵

应用

沿单个坐标轴旋转

沿多个坐标系旋转


目的

由于其他文章原理介绍比较详细,但应用方面较少。本文直接介绍旋转矩阵的应用,条件为坐标系不变,求旋转后的三维坐标。本文方法较傻瓜式,需要自己进行测试以确认是否正确。

旋转矩阵

此处直接贴出网上很容易找到的公用的旋转矩阵:

绕X轴:

Rx(\alpha )=\begin{bmatrix} 1 & 0&0 \\ 0& cos\alpha & -sin\alpha \\ 0& sin\alpha &cos\alpha \end{bmatrix}

绕Y轴:

Ry(\beta )=\begin{bmatrix} cos\beta & 0&sin\beta \\ 0& 1& 0\\ -sin\beta &0 &cos\beta \end{bmatrix}

绕Z轴:

Rz(\gamma )=\begin{bmatrix} cos\gamma & -sin\gamma & 0\\ sin\gamma & cos\gamma &0 \\ 0& 0 & 1 \end{bmatrix}

应用

沿单个坐标轴旋转

沿A坐标轴旋转\delta°,则乘以其对应的旋转矩阵,是左乘还是右乘,可以手动测试一下。例如我的坐标系如下图,M为原坐标(1,0,0),现在绕y轴逆时针旋转至90°,即红色标记地方,所求的坐标M'应为(0,0,1),经测试,公式可以为:

M'=Ry(-90\div 180\ast \pi )\cdot M

M'=M\cdot Ry(90\div 180\ast \pi )

抛开其物理意义,可见左乘还是右乘,加上负号即可等价。至于原理如何可以查找其他博文,此处只介绍如何应用。如果你的坐标系与我的不同,但又不理解右手系,完全可以用这个方法进行试错测试。其他坐标系如法炮制。

沿多个坐标系旋转

按照旋转顺序,依次相乘即可得到最终的旋转矩阵,这里不再详述

R=Rx\cdot Ry\cdot Rz...

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值