Houdini - Separate Pieces
We want to manipulate every face individually, so we have to “break up” the mesh into individual primitive pieces.
Use a facet operator, with “unique point” turned on. Then, use a primitive operator to do stuff, like scaling, which will get us:
Add a point to the center of each primitive
Run a Wrangle SOP over primitives and simply add a point at each position:
int pt = addpoint(0, @P);
setpointgroup(0, "centroids", pt, 1); // group just in case
Which gives us this: