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 array of shape (..., 3)) – xyz set of points to be surrounded
count (int) – the number of points to generate in the surrounding ring
radial_factor (float) – a distance factor roughly determining the radius of the ring relative to the ‘radius’ of the outermost points in p
radial_distance (float) – if present, the radius of the ring of points, unless radial_factor results in a greater distance in which case that is used
inner_ring (bool, default False) – 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 radius
saucer_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