resqpy.olio.triangulation.surrounding_xy_ring
- resqpy.olio.triangulation.surrounding_xy_ring(p, count=12, radial_factor=10.0, radial_distance=None, inner_ring=False, saucer_angle=None)[source]
Creates a set of points surrounding the point set p, in the xy plane.
- Parameters:
p (
numpy float arrayofshape (...,3)) – xyz set of points to be surroundedcount (
int) – the number of points to generate in the surrounding ringradial_factor (
float) – a distance factor roughly determining the radius of the ring relative to the ‘radius’ of the outermost points in pradial_distance (
float) – if present, the radius of the ring of points, unless radial_factor results in a greater distance in which case that is usedinner_ring (
bool, defaultFalse) – if True, an inner ring of points, with double count, is created at a radius just outside that of the furthest flung original point; this improves triangulation of the extended point set when the original has a non-convex hull; radial_distance does not effect the inner ring radiussaucer_angle (
float, optional) – if present, an angle in degrees, between +/- 90 (but less than 90 degrees) being an angle to determine a z offset for the ring(s); a +ve angle results in a -ve z shift
- Returns:
(numpy float array, float) pair –
numpy float array of shape (N, 3) being xyz points in surrounding ring(s); z is set constant to mean value of z in p (optionally adjussted based on saucer_angle); N is count if inner_ring is False, 3 * count if True
radius used for ring of additional points