Have a look at some grasshopper posts, you might be better off using a circle packing algorithm and then deforming the circles via a seed/value. Offsetting the circle normal to the surface or using sphere’s and offsetting them to give space around the shape and boolean difference…
Thank Andy! Some useful info here.
I was just wondering aside of getting it on the surface if there’s a certain algorithm used in the original 2d pattern, there seems to be some kind of order.
I would suspect that image is the result of reticulation within Photoshop or similar, it’ll look like it has order due to the over lapping seamless tile texture, but it’s just a guess.