random#
- метод класса Вращение.random(cls, число=None, rng=None)#
Генерировать равномерно распределенные вращения.
- Параметры:
- числоint или None, опционально
Количество случайных поворотов для генерации. Если None (по умолчанию), то генерируется один поворот.
- rng{None, int,
numpy.random.Generator, опционально Если rng передается по ключевому слову, типы, отличные от
numpy.random.Generatorпередаются вnumpy.random.default_rngдля создания экземпляраGenerator. Если rng уже являетсяGeneratorэкземпляр, то предоставленный экземпляр используется. Укажите rng для повторяемого поведения функции.Если этот аргумент передаётся по позиции или random_state передается по ключевому слову, устаревшее поведение для аргумента random_state применяется:
Если random_state равно None (или
numpy.random),numpy.random.RandomStateиспользуется синглтон.Если random_state является int, новый
RandomStateиспользуется экземпляр, инициализированный с random_state.Если random_state уже является
GeneratorилиRandomStateэкземпляр, тогда этот экземпляр используется.
Изменено в версии 1.15.0: В рамках SPEC-007 переход от использования
numpy.random.RandomStatetonumpy.random.Generator, этот ключевое слово было изменено с random_state to rng. В переходный период оба ключевых слова будут продолжать работать, хотя только одно может быть указано за раз. После переходного периода вызовы функций, использующие random_state ключевое слово будет выдавать предупреждения. Поведение обоих random_state и rng описаны выше, но только rng ключевое слово должно использоваться в новом коде.
- Возвращает:
- random_rotation
Rotationэкземпляр Содержит одно вращение, если число равно None. В противном случае содержит стек из число вращения.
- 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]])