scipy.spatial.transform.RigidTransform.

идентичность#

метод класса RigidTransform.идентичность(cls, число=None)#

Инициализировать тождественное преобразование.

Композиция с тождественным преобразованием не имеет эффекта, и применение тождественного преобразования к вектору не имеет эффекта.

Параметры:
числоint, необязательный

Количество генерируемых тождественных преобразований. Если None (по умолчанию), то генерируется одно преобразование.

Возвращает:
преобразоватьRigidTransform экземпляр

Тождественное преобразование.

Примеры

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

Создание единичного преобразования идентичности:

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

Тождественное преобразование может быть применено к вектору без эффекта:

>>> tf.apply([1, 2, 3])
array([1., 2., 3.])

Тождественное преобразование при композиции с другим преобразованием не имеет эффекта:

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

Множественные тождественные преобразования могут быть сгенерированы одновременно:

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