scipy.spatial.transform.Rotation.

concatenate#

classmethod Rotation.concatenate(cls, rotations)#

Verketten Sie eine Sequenz von Rotation-Objekten zu einem einzigen Objekt.

Dies ist nützlich, wenn Sie beispielsweise den Mittelwert eines Satzes von Rotationen ermitteln möchten und diese zur Durchführung zu einem einzigen Objekt zusammenfassen müssen.

Parameter:
rotationsSequenz von Rotation-Objekten

Die zu verkettenden Rotationen. Wenn ein einzelnes Rotation-Objekt übergeben wird, wird eine Kopie zurückgegeben.

Rückgabe:
verkettetRotation-Instanz

Die verketteten Rotationen.

Hinweise

Hinzugefügt in Version 1.8.0.

Beispiele

>>> 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])

Die Verkettung einer aufgeteilten Rotation stellt das ursprüngliche Objekt wieder her.

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

Beachten Sie, dass es einfacher sein kann, die gewünschten Rotationen zu erstellen, indem Sie die Daten bei der Initialisierung in einer einzigen Liste übergeben, anstatt sie zu verketten

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