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
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
, andc
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