# 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

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
```