For my netlabel Yarn Audio I created a Processing tool which recursively creates triangles based on an input image’s color. Triangles inside triangles are being created as long as a certain rule applies, e.g. «If the average brightness within the parent triangle is bigger than 127 create child triangles».
I am currently working on the second version of this program, which supports various grid-types (e.g. hexagons).