scipy.spatial.transform.RigidTransform.

as_dual_quat#

RigidTransform.as_dual_quat(self, *, scalar_first=False)#

Gibt die Dualquaternionen-Darstellung der Transformation zurück.

Einheits-Dualquaternionen kodieren die Orientierung in einem realen Einheitsquaternion und die Translation in einem Dualquaternion. Es gibt eine doppelte Abdeckung, d.h. die Einheits-Dualquaternionen q und -q repräsentieren die gleiche Transformation.

Parameter:
scalar_firstbool, optional

Gibt an, ob die Skalar-Komponente in den beiden einzelnen Quaternionen, die den realen und den dualen Teil repräsentieren, zuerst oder zuletzt steht. Standard ist False, d.h. die Skalar-zuletzt-Reihenfolge wird verwendet.

Rückgabe:
dual_quatnumpy.ndarray, shape (N, 8) or (8,)

Ein einzelner Einheits-Dualquaternionen-Vektor oder ein Stapel von Einheits-Dualquaternionen-Vektoren. Der reale Teil wird in den ersten vier Komponenten und der duale Teil in den letzten vier Komponenten gespeichert.

Beispiele

>>> from scipy.spatial.transform import RigidTransform as Tf
>>> import numpy as np

Erhalte die Identitäts-Dualquaternionen (wir verwenden standardmäßig Skalar-zuletzt)

>>> Tf.identity().as_dual_quat()
array([0., 0., 0., 1., 0., 0., 0., 0.])

Wenn wir die Skalar-zuerst-Konvention verwenden möchten, verwenden wir das Argument

>>> Tf.identity().as_dual_quat(scalar_first=True)
array([1., 0., 0., 0., 0., 0., 0., 0.])