shear_coords#

shear_coords(network, **kwargs)[source]#

Shears the coordinates a given amount about along axis

Parameters:
  • coords (ndarray) – The coordinates to be transformed

  • ay (scalar) – The factor by which to shear along the x-axis as a function of y

  • az (scalar) – The factor by which to shear along the x-axis as a function of z

  • bx (scalar) – The factor by which to shear along the y-axis as a function of x

  • bz (scalar) – The factor by which to shear along the y-axis as a function of z

  • cx (scalar) – The factor by which to shear along the z-axis as a function of x

  • cy (scalar) – The factor by which to shear along the z-axis as a function of y

  • S (array_like) – The shear matrix. Must be a 3-by-3 matrix since pore coordinates are always in 3D. If this is given then the other individual arguments are ignored.

Returns:

coords – The sheared coordinates. A copy of the supplied coordinates is made so that the operation is not performed in place.

Return type:

ndarray

See also

rotate_coords

Notes

The shear along the i th-axis is given as i* = i + aj. This means the new i coordinate is the old one plus some linear factor a in the j th direction.

The values of a, b, and c are essentially the inverse of the slope to be formed by the neighboring layers of sheared pores. A value of 0 means no shear, and neighboring points are stacked directly on top of each other; a value of 1 means they form a 45 degree diagonal, and so on.

If S is given, then is should be of the form:

S = [[1 , ay, az],
     [bx, 1 , bz],
     [cx, cy, 1 ]]

where any of the off-diagonal components can be 0 meaning no shear