"""Delaunay 2D meshing with point loops defining holes""" from vedo import Grid, show # Generate a grid and add gaussian noise to it # then extract the points from the grid and store them in the variable gp gp = Grid().add_gaussian_noise([0.5,0.5,0]).point_size(8) # Define two internal holes using point ids ids = [[24,35,36,37,26,15,14,25], [84,95,96,85]] # Use the Delaunay triangulation algorithm to create a 2D mesh # from the points in gp, with the given boundary ids dly = gp.generate_delaunay2d(mode='xy', boundaries=ids) dly.c('white').lc('orange').lw(1) # Create labels for the point ids and set their z to 0.01 labels = gp.labels('id').z(0.01) show(gp, labels, dly, __doc__, bg="Mint", zoom='tight').close()