python中的坐标旋转scipy.spatial.transform.Rotation(草记)

#实操中学到的两种选转坐标的方式,随手记录一下#

scipy.spatial.transform.Rotation是一个坐标旋转工具,其中有多种方式进行旋转。scipy.spatial.transform.Rotation — SciPy v1.11.4 Manual

这里介绍两种方式from_mrp和from_euler

一、form_mrp

假设我们的关于一个轴进行旋转,使用向量a代表旋转轴的单位向量;旋转角度为θ

则mrp=a*tan(θ/4)  注:这里一定要注意1/4,这里的设置是为了刚性旋转,即旋转之后向量的模不变。

得到旋转矩阵r_mtrix=Rotation.from_mrp(mrp)

使用apply方法对向量b进行旋转 b_r=r_matrix.apply(b),b_r就是旋转后的向量。

实例: 

 

 

这里旋转轴a是沿着y轴的正方向,旋转角度为90°,b1和b2在y-o-z平面上,关于y轴旋转90°之后到x-o-z平面上。(此处旋转方向可以用右手定则理解,右手大拇指朝向Y轴正方向,四指握的方向就是旋转方向)

 

二、from_euler

这个方法更加直观,直接设置旋转轴和旋转角度即可。

直接上实例

直接设置,沿x轴旋转0°,沿y轴旋转90°,沿z轴旋转0°,得到与form_mrp同样的效果。此处degrees=True代表着旋转角度使用度数。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值