scipy.spatial.transform.Rotation.

concatenate#

classmethod Rotation.concatenate(cls, rotations)#

将一系列 Rotation 对象连接成单个对象。

如果您想例如计算一组旋转的平均值,并且需要将它们打包到一个对象中来执行此操作,这将非常有用。

参数:
rotationsRotation 对象的序列

要连接的旋转。如果传入单个 Rotation 对象,则会返回一个副本。

返回:
concatenatedRotation 实例

连接的旋转。

备注

在 1.8.0 版本中添加。

示例

>>> from scipy.spatial.transform import Rotation as R
>>> r1 = R.from_rotvec([0, 0, 1])
>>> r2 = R.from_rotvec([0, 0, 2])
>>> rc = R.concatenate([r1, r2])
>>> rc.as_rotvec()
array([[0., 0., 1.],
       [0., 0., 2.]])
>>> rc.mean().as_rotvec()
array([0., 0., 1.5])

分割旋转的连接会恢复原始对象。

>>> rs = [r for r in rc]
>>> R.concatenate(rs).as_rotvec()
array([[0., 0., 1.],
       [0., 0., 2.]])

请注意,通过在初始化期间传入单个数据列表来创建所需的旋转可能更简单,而不是通过连接。

>>> R.from_rotvec([[0, 0, 1], [0, 0, 2]]).as_rotvec()
array([[0., 0., 1.],
       [0., 0., 2.]])