Transform.shear_matrix#
- property Transform.shear_matrix: NumpyArray[float][source]#
Return the shear component of the current transformation
matrixas a 3x3 matrix.Added in version 0.47.
Examples#
Download Python source code | Download Jupyter notebook
Compose a symmetric shear matrix.
>>> import numpy as np
>>> import pyvista as pv
>>> shear = np.eye(4)
>>> shear[0, 1] = 0.1
>>> shear[1, 0] = 0.1
>>> trans = pv.Transform(shear)
Get the shear matrix. The shear matrix is the same as the input in this particular example, but in general this is not the case.
>>> trans.shear_matrix
array([[1. , 0.1, 0. ],
[0.1, 1. , 0. ],
[0. , 0. , 1. ]])
Compose an asymmetric shear matrix instead.
>>> shear = np.eye(4)
>>> shear[0, 1] = 0.1
>>> trans = pv.Transform(shear)
Get the shear matrix. In this case, shear differs from the input because asymmetric shear can be decomposed into scale factors and a rotation.
>>> trans.shear_matrix
array([[1. , 0.05 , 0. ],
[0.04975124, 1. , 0. ],
[0. , 0. , 1. ]])
>>> trans.scale_factors
(0.9987523388778445, 1.0037461005722337, 1.0)
>>> axis, angle = trans.rotation_axis_angle
>>> axis
(0.0, 0.0, -1.0)
>>> angle
2.8624