from_mrp#
- classmethod Rotation.from_mrp(cls, mrp)#
Initialisierung aus Modified Rodrigues Parametern (MRPs).
MRPs sind ein 3-dimensionale Vektor, der in Richtung der Rotationsachse zeigt und dessen Betrag gleich
tan(theta / 4)ist, wobeithetader Rotationswinkel (in Radiant) ist [1].MRPs haben eine Singularität bei 360 Grad, die vermieden werden kann, indem sichergestellt wird, dass der Rotationswinkel 180 Grad nicht überschreitet, d. h. die Rotationsrichtung umkehrt, wenn sie über 180 Grad liegt.
- Parameter:
- mrparray_like, Form (N, 3) oder (3,)
Ein einzelner Vektor oder ein Stapel von Vektoren, wobei mrp[i] den i-ten Satz von MRPs angibt.
- Rückgabe:
- rotation
RotationInstanz Objekt, das die durch die Eingabe-MRPs dargestellten Rotationen enthält.
- rotation
Hinweise
Hinzugefügt in Version 1.6.0.
Referenzen
[1]Shuster, M. D. „A Survey of Attitude Representations“, The Journal of Astronautical Sciences, Vol. 41, No.4, 1993, S. 475-476
Beispiele
>>> from scipy.spatial.transform import Rotation as R >>> import numpy as np
Initialisierung einer einzelnen Rotation
>>> r = R.from_mrp([0, 0, 1]) >>> r.as_euler('xyz', degrees=True) array([0. , 0. , 180. ]) >>> r.as_euler('xyz').shape (3,)
Initialisierung mehrerer Rotationen in einem Objekt
>>> r = R.from_mrp([ ... [0, 0, 1], ... [1, 0, 0]]) >>> r.as_euler('xyz', degrees=True) array([[0. , 0. , 180. ], [180.0 , 0. , 0. ]]) >>> r.as_euler('xyz').shape (2, 3)
Es ist auch möglich, einen Stapel einer einzelnen Rotation zu haben
>>> r = R.from_mrp([[0, 0, np.pi/2]]) >>> r.as_euler('xyz').shape (1, 3)