scipy.spatial.transform.RigidTransform.
identity#
- classmethod RigidTransform.identity(cls, num=None)#
Initialisiert eine Identitätstransformation.
Die Komposition mit der Identitätstransformation hat keine Auswirkung, und die Anwendung der Identitätstransformation auf einen Vektor hat keine Auswirkung.
- Parameter:
- numint, optional
Anzahl der zu generierenden Identitätstransformationen. Wenn None (Standard), wird eine einzelne Transformation generiert.
- Rückgabe:
- transform
RigidTransformInstanz Die Identitätstransformation.
- transform
Beispiele
>>> from scipy.spatial.transform import RigidTransform as Tf >>> from scipy.spatial.transform import Rotation as R >>> import numpy as np
Erstellen einer einzelnen Identitätstransformation
>>> tf = Tf.identity() >>> tf.as_matrix() array([[1., 0., 0., 0.], [0., 1., 0., 0.], [0., 0., 1., 0.], [0., 0., 0., 1.]]) >>> tf.single True
Die Identitätstransformation kann ohne Auswirkung auf einen Vektor angewendet werden
>>> tf.apply([1, 2, 3]) array([1., 2., 3.])
Die Identitätstransformation hat bei der Komposition mit einer anderen Transformation keine Auswirkung
>>> rng = np.random.default_rng() >>> t = rng.random(3) >>> r = R.random(rng=rng) >>> tf = Tf.from_components(t, r) >>> np.allclose((Tf.identity() * tf).as_matrix(), ... tf.as_matrix(), atol=1e-12) True
Mehrere Identitätstransformationen können gleichzeitig generiert werden
>>> tf = Tf.identity(2) >>> tf.as_matrix() array([[[1., 0., 0., 0.], [0., 1., 0., 0.], [0., 0., 1., 0.], [0., 0., 0., 1.]], [[1., 0., 0., 0.], [0., 1., 0., 0.], [0., 0., 1., 0.], [0., 0., 0., 1.]]]) >>> tf.single False >>> len(tf) 2