I want to optimize and decompose several concave polygon into convex ones but not too small or to complicated ones.Ideally cutting in places that would minimize the creation of convex polygons and in a way they are more close to being regular. (I have selected some of theme just to be more clear) enter image description here

I have tried (and they don't work):

  • Triangulation - Creating a lot of small polygons with Delaunay or other methods creates a lot of small polygons and it doesn't help me in my final objective. enter image description here

  • Convex-hull - It changes the shape of my polygons and I don't want to change that because they contain information. enter image description here

I need this because each of these polygons have information that I'm going to keep in points in a mesh to make thermic calculations after. I want to create this elementary polygons to then take the centroid of each one of them and create this mesh. So because of that it would be bizarre taking a centroid out of the polygon or taking the pole of inaccessibility and having a polygon that its almost "twisted".

An output for this selected polygons would be to cut them in concave pieces and then when we take their centroids would be something like these:

enter image description here

1 Answer 1


Seems like a math question on polygon decomposition that has already been answered at https://mathoverflow.net/questions/60212/partitioning-a-polygon-into-convex-parts. Several algorithms ar described. Either should work.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.