0.相关库
导入相关的库,重命名为R:
from scipy.spatial.transform import Rotation as R
初始的四元数,欧拉角,旋转矩阵的变量用以下变量代替:
quat=[...] # (x,y,z,w)格式 matrix=[...] euler=[...] # [顺序得由旋转顺序定义]
1.实例创立与使用
1.1创立
通过以下三个函数可以返回ret实例
- ret =R.from_quat(quat)
- ret =R.from_euler('zyx',euler,degree =True)
- ret =R.from_matrix(matrix)
注意:在欧拉角中,大写的'ZYX' 代表外旋,'zyx'代表内旋(固定轴);大部分情况需要写成[Rz,Ry,Rx]
1.2 实例使用
同过以下三个函数返回对应的变量:
- R = ret.as_matrix() # 得到旋转矩阵
- E = ret.as_euler('ZYX',degree=True) # 得到欧拉角
- Q = ret.as_quat() # 得到四元数
注意:欧拉角中,返回值E的顺序和'zyx'对应,为[Rz,Ry,Rx]
2.例子
ret =R.from_quat(quat) # 从四元数返回一个旋转实例
- E =ret.as_euler('zyx',degree=True) # 从实例得到内旋'zyx'欧拉角
- R = ret.as_matrix() # 得到旋转矩阵 # 从实例得到旋转矩阵
- Q = ret.as_quat() # 从实例得到四元数