This is a computer graphics question. We need the mesh to dilate its concave parts, while keeping its convex parts unchanged. The deformed mesh will enclose the original mesh, just like a convex hull.
There are many ways. For example: move all vertices that are NOT part of the convex hull to an arbitrary vertex that IS part of the convex hull.
But I suppose you want the resulting mesh not to intersect itself, and that you want the result to 'look good'?
I am not aware of existing software, and the more I think about how to implement it, the tougher it gets (e.g. concave parts that have convex islands in them that ARE part of the convex hull; tori).
Thank you Lambert. That's why I think it's tough. But your idea is a good hint to me. Maybe I could work out some kind of mapping between the mesh and the convex hull. THANKS!
Label the vertices that are connected to a convex hull vertex with ONE
Label the non-labeled vertices that are connected to ONE with TWO
Label the non-labeled vertices that are connected to TWO with THREE
etc...
Map the labeled vertices to the convex hull using the label as a distance criterion to the rim (easier said than done!)
}
Note that the algorithm will fail with tori.
In my first answer, I said that "concave parts that have convex islands in them that ARE part of the convex hull" complicated the matter. In fact it does NOT: you can treat them as if they are also part of a non-convex-hull patch, and in the mapping phase, you know exactly where to put them because they keep their original position.