Mesh Topo Problem

Dear Mesh-Experts, I’m hoping for your with a geometric problem I’m stuck on in Grasshopper.

I have a triangulated closed mesh (like a sphere, see Sketch 1) and I want to create a new mesh (shown in red in Sketch 2) where the vertices are placed at the incenters of the original faces (see Sketches 3 and 4).

The tricky part is that the mesh faces might be all over the place in terms of order and orientation.

I’m not even sure if there is a geometrical solution to this, but maybe someone can point me in the right direction.

mesh topo v0.gh (30.4 KB)

1 Like

Thanks, @Quan_Li! Amazing! It took me a bit to figure out what you’re doing there, and we’re getting pretty close to what I need.

I think I didn’t explain my problem clearly enough. The red mesh is the original, and the white one on the left is what your script produces. What I’m aiming for is something more like what you see on the right. I got that by manually deleting some faces from your result.

Ideally, I’m looking for a pattern of triangles that are only connected at their tips, like a “carpet” of triangles. I understand it might not be possible to achieve this perfectly on a triangulated sphere, but something close to the outcome on the right would work for me. If possible, I’d like to minimize the areas where the triangles aren’t connected.

Or, maybe, is there a solution without disconnected tips?

This isn’t possible (without additional gaps) for an icosahedron based division of a sphere, because it means alternating the red and white triangles around each vertex, which isn’t possible at the vertices surrounded by 5 triangles.
One alternative would be to start from a subdivided octahedron (which has only even numbers of faces around each vertex) projected to a sphere, then select alternating faces with ‘checkerboard’.

Thanks, @DanielPiker, I didn’t think of Checkerboard. That is the solution.
Here is a comparison of the results:

1: @Quan_Li’s solution
2: Manually deleted faces based on solution 1
3: Tri-remeshed sphere + Checkerboard
4: Subdivided octahedron + Checkerboard
5: Subdivided octahedron with (slightly) equalized edge lengths using Kangaroo + checkerboard

1 Like