as_matrix#
- RigidTransform.as_matrix()[source]#
Return a copy of the matrix representation of the transform.
4x4 rigid transformation matrices are of the form:
[ tx] [ R ty] [ tz] [ 0 0 0 1]
where
R
is a 3x3 orthonormal rotation matrix andt = [tx, ty, tz]
is a 3x1 translation vector.- Returns:
- matrixnumpy.ndarray, shape (…, 4, 4)
Transformation matrices with the same leading dimensions as the transform.
Notes
Array API Standard Support
as_matrix
has experimental support for Python Array API Standard compatible backends in addition to NumPy. Please consider testing these features by setting an environment variableSCIPY_ARRAY_API=1
and providing CuPy, PyTorch, JAX, or Dask arrays as array arguments. The following combinations of backend and device (or other capability) are supported.Library
CPU
GPU
NumPy
✅
n/a
CuPy
n/a
✅
PyTorch
✅
✅
JAX
✅
✅
Dask
⛔
n/a
See Support for the array API standard for more information.
Examples
>>> from scipy.spatial.transform import RigidTransform as Tf >>> from scipy.spatial.transform import Rotation as R >>> import numpy as np
A transformation matrix is a 4x4 matrix formed from a 3x3 rotation matrix and a 3x1 translation vector:
>>> t = np.array([2, 3, 4]) >>> r = R.from_matrix([[0, 0, 1], ... [1, 0, 0], ... [0, 1, 0]]) >>> tf = Tf.from_components(t, r) >>> tf.as_matrix() array([[ 0., 0., 1., 2.], [ 1., 0., 0., 3.], [ 0., 1., 0., 4.], [ 0., 0., 0., 1.]])
>>> Tf.identity(2).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.]]])