"""Mesh a line contour with quads of variable resolution""" from vedo import Spline, Grid, show import numpy as np pts = [ [0.0, 0.0], [1.0, 0.0], [1.1, 4.0], [1.0, 1.5], [0.2, 5.0], [-1., 3.0], [0.4, 2.7], [-1., 2.4], ] shape = Spline(pts, closed=True).color('red4').linewidth(5) xcoords = np.arange(-2.0, 2.5, 0.075) ycoords = np.arange(-0.5, 5.5, 0.075) xcoords += np.cos(xcoords+0.6)*0.75 # make quads shrink and stretch ycoords += np.sin(ycoords+0.5)*0.75 # to refine mesh resolution grd = Grid(s=[xcoords, ycoords]) # create a gridded plane msh = shape.generate_mesh(grid=grd, quads=True) show(shape, msh, __doc__, axes=1).close()