__pow__#
- Rotation.__pow__(self, float n, modulus)#
Diese Rotation n Mal mit sich selbst zusammensetzen.
Die Zusammensetzung einer Rotation
pmit sich selbst kann auf nicht-ganzzahligenerweitert werden, indem die Potenznals Skalierungsfaktor für den Rotationswinkel um die feste Achse der Rotation betrachtet wird. Der Ausdruckq = p ** nkann auch alsq = Rotation.from_rotvec(n * p.as_rotvec())ausgedrückt werden.Wenn
nnegativ ist, wird die Rotation vor Anwendung der Potenz invertiert. Mit anderen Worten,p ** -abs(n) == p.inv() ** abs(n).- Parameter:
- nfloat
Die Anzahl der Male, die die Rotation mit sich selbst zusammengesetzt wird.
- modulusNone
Dieses überschriebene Argument ist für Rotationen nicht anwendbar und muss
Nonesein.
- Rückgabe:
- power
RotationInstanz Wenn die Eingaberotation
pNmultiple Rotationen enthält, enthält die AusgabeNRotationen, wobei diei-te Rotation gleichp[i] ** nist.
- power
Hinweise
Zum Beispiel verdoppelt eine Potenz von 2 den Rotationswinkel, und eine Potenz von 0,5 halbiert den Winkel. Es gibt drei bemerkenswerte Fälle: Wenn
n == 1, wird die ursprüngliche Rotation zurückgegeben, wennn == 0, wird die Identitätsrotation zurückgegeben, und wennn == -1, wirdp.inv()zurückgegeben.Beachten Sie, dass gebrochene Potenzen
n, die effektiv eine Wurzel einer Rotation ziehen, dies unter Verwendung des kürzesten Pfades und der kleinsten Darstellung dieses Winkels (der Hauptwurzel) tun. Dies bedeutet, dass Potenzen vonnund1/nnicht unbedingt inverse voneinander sind. Zum Beispiel wird die 0,5-Potenz einer +240-Grad-Rotation als die 0,5-Potenz einer -120-Grad-Rotation berechnet, wobei das Ergebnis -60 statt +120 Grad ist.Beispiele
>>> from scipy.spatial.transform import Rotation as R
Eine Rotation potenzieren
>>> p = R.from_rotvec([1, 0, 0]) >>> q = p ** 2 >>> q.as_rotvec() array([2., 0., 0.]) >>> r = p ** 0.5 >>> r.as_rotvec() array([0.5, 0., 0.])
Inverse Potenzen heben sich nicht unbedingt auf
>>> p = R.from_rotvec([0, 0, 120], degrees=True) >>> ((p ** 2) ** 0.5).as_rotvec(degrees=True) array([ -0., -0., -60.])