resqpy.olio.triangulation.triangulated_polygons
- resqpy.olio.triangulation.triangulated_polygons(p, v, centres=None)[source]
Returns triangulation of polygons using centres as extra points.
- Parameters:
p (
2D numpy float array) – points used as vertices of polygonsv (
listoflistofints) – ordered indices into p for each polygoncentres (
2D numpy float array, optional) – the points to use as the centre for each polygon
- Returns:
points, triangles where – points is a copy of p extended with the centre points of polygons; and triangles is a numpy int array of shape (N, 3) being the triangulation of points, where N is equal to the overall length of v
Notes
if no centres are provided, balanced centre points are computed for the polygons; the polygons must be convex (at least from the perspective of the centre points); the clockwise/anti-clockwise order of the triangle edges will match that of the polygon; the centre point is the first point in each triangle; the order of triangles will match the order of vertices in a flattened view of list v; p and centres may have a shape of 2 or 3 in the second dimension (xy or xyz data); p & v could be the values (c, v) returned by the voronoi() function, in which case the original seed points p passed into voronoi() can be passed as centres here