scipy.spatial.transform.Rotation.random

Rotation.random()

生成均匀分布的旋转。

参数
num整型或无型,可选

要生成的随机旋转次数。如果为None(默认值),则生成单个旋转。

random_state :{无,整型, numpy.random.Generator{无,整型,

如果 seed 为无(或 np.random )、 numpy.random.RandomState 使用的是Singleton。如果 seed 是一个整型、一个新的 RandomState 实例,其种子设定为 seed 。如果 seed 已经是一个 GeneratorRandomState 实例,则使用该实例。

退货
random_rotationRotation 实例循环实例

包含单次旋转,如果 num 是没有的。否则包含一个堆栈 num 旋转。

注意事项

该函数针对有效采样三维随机旋转矩阵进行了优化。有关生成高维随机旋转矩阵的信息,请参见 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]])