Python scipy.spatial.transform.Rotation.as_euler 示例讲解
表示为欧拉角。
任何方向都可以表示为 3 个基本旋转的组合。一旦选择了轴序列,欧拉角就定义了围绕每个相应轴 [1] 的旋转角度。
[2] 中的算法已用于计算围绕给定轴序列旋转的欧拉角。
欧拉角存在万向节锁定问题[3],表示失去了一定的*度,无法唯一确定第一个和第三个角度。在这种情况下,会发出警告,并将第三个角度设置为零。但是请注意,返回的角度仍然代表正确的旋转。
- seq: 字符串,长度 3
-
3 个字符属于集合 {‘X’, ‘Y’, ‘Z’} 用于内部旋转,或 {‘x’, ‘y’, ‘z’} 用于外部旋转 [1] 。相邻轴不能相同。外部和内部旋转不能在一个函数调用中混合使用。
- degrees: 布尔值,可选
-
如果此标志为 True,则返回的角度以度为单位,否则以弧度为单位。默认为假。
- angles: ndarray,形状 (3,) 或 (N, 3)
-
形状取决于用于初始化对象的输入的形状。返回的角度在以下范围内:
第一个角度属于 [-180, 180] 度(含)
第三个角度属于 [-180, 180] 度(包括)
-
第二个角度属于:
[-90, 90] degrees if all axes are different (like xyz)
[0, 180] degrees if first and third axes are the same (like zxz)
参数:
返回:
参考:
-
https://en.wikipedia.org/wiki/Euler_angles#Definition_by_intrinsic_rotations
-
Malcolm D. Shuster,F. Landis Markley,“提取欧拉角的一般公式”,制导、控制和动力学杂志,第一卷。 29.1,第 215-221 页。 2006年
-
https://en.wikipedia.org/wiki/Gimbal_lock#In_applied_mathematics
1 (1,2):
scipy.spatial.transform.Rotation.as_euler:
scipy.spatial.transform.Rotation.as_euler:
例子:
>>> from scipy.spatial.transform import Rotation as R
表示单次旋转:
>>> r = R.from_rotvec([0, 0, np.pi/2])
>>> r.as_euler('zxy', degrees=True)
array([90., 0., 0.])
>>> r.as_euler('zxy', degrees=True).shape
(3,)
表示单次旋转的堆栈:
>>> r = R.from_rotvec([[0, 0, np.pi/2]])
>>> r.as_euler('zxy', degrees=True)
array([[90., 0., 0.]])
>>> r.as_euler('zxy', degrees=True).shape
(1, 3)
表示单个对象中的多个旋转:
>>> r = R.from_rotvec([
... [0, 0, np.pi/2],
... [0, -np.pi/3, 0],
... [np.pi/4, 0, 0]])
>>> r.as_euler('zxy', degrees=True)
array([[ 90., 0., 0.],
[ 0., 0., -60.],
[ 0., 45., 0.]])
>>> r.as_euler('zxy', degrees=True).shape
(3, 3)
上一篇: mipi 各种时钟计算
下一篇: ENVI 色彩构成的基本操作
推荐阅读
-
python 机器人编程 - 使用 python API 调用控制 wifi 小车的示例程序
-
Python3 标准库概述和示例
-
Python+Matplotlib 奇偶函数可视化的简单示例 - 奇异函数 定义:如果对于定义域中的任意 x,存在 f(-x) = -f(x),则称 f(x) 为奇异函数。奇函数的特征奇函数的图象与原点对称。
-
Python+Matplotlib 显示通用函数、变换和函数的简单示例
-
[机器学习] - 线性回归(自我监督学习) - 10.示例代码(Python 实现)
-
lstm 预测预报算法的 python 实现 - lstm 预测预报算法的 python 实现示例
-
Python numpy.fft.fftshift示例解析-例子说明
-
Python示例:使用torch.fft.fftshift进行傅里叶转换位移-注意事项
-
使用matplotlib在Python中实现正弦信号的时域波形和频谱图示例
-
Python实现分段收费的示例代码