scipy.spatial.transform.RigidTransform.

from_translation#

метод класса RigidTransform.from_translation(cls, перевод)#

Инициализация из массива numpy сдвига, без вращения.

При применении этого преобразования к вектору vрезультат такой же, как если бы трансляция и вектор были сложены вместе. Если t является вектором смещения перевода, тогда:

Tf.from_translation(t).apply(v) == t + v

Параметры:
переводarray_like, форма (N, 3) или (3,)

Одиночный вектор переноса или набор векторов переноса.

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

Примеры

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

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

>>> t = np.array([2, 3, 4])
>>> t + np.array([1, 0, 0])
array([3, 3, 4])
>>> tf = Tf.from_translation(t)
>>> tf.apply([1, 0, 0])
array([3., 3., 4.])
>>> tf.single
True

Верхние 3x1 точки в крайнем правом столбце матрицы преобразования являются вектором переноса:

>>> tf.as_matrix()
array([[1., 0., 0., 2.],
       [0., 1., 0., 3.],
       [0., 0., 1., 4.],
       [0., 0., 0., 1.]])
>>> np.allclose(tf.as_matrix()[:3, 3], t)
True

Создание нескольких преобразований из стека векторов переноса:

>>> t = np.array([[2, 3, 4], [1, 0, 0]])
>>> t + np.array([1, 0, 0])
array([[3, 3, 4],
       [2, 0, 0]])
>>> tf = Tf.from_translation(t)
>>> tf.apply([1, 0, 0])
array([[3., 3., 4.],
       [2., 0., 0.]])
>>> np.allclose(tf.as_matrix()[:, :3, 3], t)
True
>>> tf.single
False
>>> len(tf)
2