How can I get the kind of subdivision or triangulation generated by Photoshop's Puppet Warp feature?

Hi, you can use “fill curve” method:

triangulate.blend (604.4 KB)

hope it helps!

Let me see if I understand

Draw a curve around the artwork.
Subdivide that curve based on the length of the original curve divided by 0.4?
Set spline resolution to 2.
Fill this first curve around the artwork with an N-gon.
Distribute points on the N-gon face using the same 0.4 as the Distance Min.
Create a single curve point and instance it on the points from the previous step.
Realize instances.
Fill curve again using Triangles and this time it will connect all of those distributed points.

Is that what’s happening?

You can use other methods to resample or subdivide the curve, it is up to you. Here I am using “segment length” its based on spline parameter. When this length is divided by distance 0.4 you get the number of subdivision cuts per segment - that way you keep the original curve points (when you resample curve by length it is similar, but you loose these points). Play with the settings you will understand easily. Then 1st curve fill is just to get some surface for point distribution and use these points to instance the curves (each is resampled to have one point only). See the image below to explain better the fill curve approach:

This addon does that :

I’ve looked a bit into the algorithm, the first step is to find the edge of the shape using the alpha channel. Then once you have the delimiting edges you can fill it using something along the lines of @filanek’s method…