random#
- classmethod Rotation.random(cls, num=None, rng=None)#
Generiert gleichverteilte Rotationen.
- Parameter:
- numint oder None, optional
Anzahl der zu generierenden Zufallsrotationen. Wenn None (Standard), wird eine einzelne Rotation generiert.
- rng{None, int,
numpy.random.Generator}, optional Wenn rng als Schlüsselwort übergeben wird, werden andere Typen als
numpy.random.Generatorannumpy.random.default_rngübergeben, um einenGeneratorzu instanziieren. Wenn rng bereits eineGenerator-Instanz ist, dann wird die bereitgestellte Instanz verwendet. Geben Sie rng für reproduzierbares Funktionsverhalten an.Wenn dieses Argument positional übergeben wird oder random_state als Schlüsselwort übergeben wird, gilt das ältere Verhalten für das Argument random_state.
Wenn random_state None ist (oder
numpy.random), wird die Singleton-Instanznumpy.random.RandomStateverwendet.Wenn random_state eine Ganzzahl ist, wird eine neue
RandomState-Instanz verwendet, die mit random_state initialisiert wurde.Wenn random_state bereits eine
Generator- oderRandomState-Instanz ist, wird diese Instanz verwendet.
Geändert in Version 1.15.0: Als Teil des SPEC-007-Übergangs von der Verwendung von
numpy.random.RandomStatezunumpy.random.Generatorwurde dieses Schlüsselwort von random_state in rng geändert. Für eine Übergangszeit werden beide Schlüsselwörter weiterhin funktionieren, obwohl nur eines gleichzeitig angegeben werden kann. Nach der Übergangszeit geben Funktionsaufrufe mit dem Schlüsselwort random_state Warnungen aus. Das Verhalten von sowohl random_state als auch rng wird oben beschrieben, aber nur das Schlüsselwort rng sollte im neuen Code verwendet werden.
- Rückgabe:
- random_rotation
Rotation-Instanz Enthält eine einzelne Rotation, wenn num None ist. Andernfalls enthält es einen Stapel von num Rotationen.
- random_rotation
Siehe auch
Hinweise
Diese Funktion ist für die effiziente Stichprobenentnahme von zufälligen Rotationsmatrizen in drei Dimensionen optimiert. Für die Generierung von zufälligen Rotationsmatrizen in höheren Dimensionen siehe
scipy.stats.special_ortho_group.Beispiele
>>> from scipy.spatial.transform import Rotation as R
Einzelne Rotation abtasten
>>> R.random().as_euler('zxy', degrees=True) array([-110.5976185 , 55.32758512, 76.3289269 ]) # random
Stapel von Rotationen abtasten
>>> 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]])