0

I am working on a surface mesh, and would like to cells on the heart surface split the surface into cells, defined by boundary points that break up the heart as shown (which I know). I would like to extract the individual cells, to simply calculate the area of each cell, however I have struggled over how to do this. The surface mesh is closed and shown below with the cell boundaries which I know in terms of the surface mesh points ( I know the surface mesh indices corresponding to the boundary points). The context is I am looking at heart development and trying to model cell growth and behaviour moving on the heart surface.

I am also completely open to trimesh or Open3d solutions etc

I have tried to use boolean_difference and select_enclosed_points functions for this but to no avail, another potential idea is to delete the boundary points to create two meshes, and then select the smaller mesh which would be the cell in question, however I am wondering if there is a standard way to simply extract the enclosed area of a cell on the mesh

  • I don't know what the idiomatic way is to do this. But how did you try `select_enclosed_points()` that didn't work? I'd expect that you need a closed surface. So I'd try extruding the boundary of a cell along the normals with capping (might have to go manual VTK [like so](https://github.com/pyvista/pyvista/blob/746e15a009ea11331e51936d82c3ba300b267e57/pyvista/core/utilities/geometric_objects.py#L899-L901)), shifting it down a bit so that the closed surface cuts out your cell of interest. Making the cut precise might be tricky. But then you can try `select_enclosed_points()` to see if it works. – Andras Deak -- Слава Україні Jun 19 '23 at 21:41

0 Answers0