scipy.spatial.transform.Rotation.
随机#
- classmethod Rotation.random(cls, num=None, random_state=None)#
生成均匀分布的旋转。
- 参数:
- numint 或 None, 可选
要生成的随机旋转次数。如果为 None(默认),则生成一个旋转。
- random_state{None, int,}
如果 seed 是 None(或 np.random),则使用
numpy.random.RandomState
单例。如果 seed 是 int,则使用新的RandomState
实例,并以 seed 为种子。如果 seed 已经是Generator
或RandomState
实例,则使用该实例。
- 返回:
- random_rotation :
Rotation
实例旋转实例 如果 num 为 None,则包含一个单一的旋转。否则包含 num 个旋转的堆栈。
- random_rotation :
注释
此函数针对在三维空间中高效采样随机旋转矩阵进行了优化。对于生成更高维度的随机旋转矩阵,请参见
scipy.stats.special_ortho_group
。示例
>>> from scipy.spatial.transform import Rotation as R
采样单次旋转:
>>> R.random().as_euler('zxy', degrees=True) array([-110.5976185 , 55.32758512, 76.3289269 ]) # random
采样一组旋转:
>>> R.random(5).as_euler('zxy', degrees=True) array([[-110.5976185 , 55.32758512, 76.3289269 ], # random [ -91.59132005, -14.3629884 , -93.91933182], [ 25.23835501, 45.02035145, -121.67867086], [ -51.51414184, -15.29022692, -172.46870023], [ -81.63376847, -27.39521579, 2.60408416]])