TriangulateMesh
is almost the right tool for this problem. For example,
numb = 113;
region = BoundaryMeshRegion[{{0, 0}, {3, 0}, {3, 1}, {0, 1}}, Line[{1, 2, 3, 4, 1}]];
mesh = TriangulateMesh[region, MaxCellMeasure :> RegionMeasure[region]/numb]
Then I can do the following:
points = MeshCoordinates @ mesh;
Graphics @ Point @ points
Length @ points
102
However, 113
points were desired, and this approach will always (or almost always) find slightly fewer points than what were desired. Is there an efficient way to get exactly the desired number of points? Perhaps we can spelunk the TriangulateMesh
algorithm and use undocumented-internal functions to subdivide the largest cells to get the desired number of points.