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