How to generate 2D grid map inside of a patch area

I would like to create a 2D grid map with equidistante points based on the faces and vertices of an patch.
In my case, I get a complex patch shape from a given figure (fig). With that I can read the vertices and faces
dataObjs = findobj(fig,'-property','XData');
faces = dataObjs.Faces;
vertices = dataObjs.Vertices;
Based on this information, a grid map (e.g. 1m grid) should be placed in the areas of that patch.
And this is where I get stuck.
One idea is that I put a grid map over the whole area and check which points are inside the patch area (like inShape), but I haven't found a suitable solution for this.

Answers (2)

Read about inpolygon.

1 Comment

Thanks for the quick reply.
With inpolygon I cannot currently reproduce the complex form. I did it once via polyshape based on the vertices coordinate points, the polynomial areas look different then. The patch still uses the faces to connect the vertices.

Sign in to comment.

A 2D grid map of a patch sounds suspiciously like an image of the patch. Considering that you're first extracting the faces and vertices from a figure, most likely you want the either the getframe, saveas, or exportgraphics function.
If for some reason you need more control, you'll need a rasterization algorithm. If it's a 2D triangulation, you could use patch_rasterize on File Exchange. If it's a 3D triangulation, you could use my rendering toolbox on File Exchange.

Asked:

on 7 Apr 2022

Answered:

on 10 Feb 2024

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!