A first approximation, “polygons subdividing a circle with some falling out” may communicate the concept of this piece, but just note that it isn’t a circle:
And they aren’t polygons:
Without investigating, my first guess would be that the subdivided-circle part uses something like Jared Tarbell’s Substrate algorithm, only for curves (e.g. Bezier clipping algorithm) instead of line segments. The pure white zone in the upper-right of the third image is the kind of artifact you might get from a process like substrate – where each segment is equally likely as a starting point, so it becomes increasingly unlikely that a large zone will be split as the segment population increases.
…it is possible that the model is actually triangle point data and that the curves (including partials) are a rendering technique on that data – so it could be recursively inscribing triangles in triangles rather than curves from curves. In that case the open lines could be a fancy way of sometimes rendering a triangle as broken. However, I suspect (?) that it is probably more like this bezier rendering glitch – an artifact of a curve-based process.
As a guess about the second part – the pieces-falling-out part, not the subdivided-circle part – perhaps the code then adds “waterfall” zones of displaced shapes as an independent process. So those falling shapes aren’t created as normal subdivision fill operations with the segments then translated down rather than drawn in place. Instead, they are created in addition to the subdivision fill. I’m guessing that based in part on the heavy black band in the center image being filled so high up. I don’t think that would happen if those shapes were only randomly displaced from the fill operations that we see, even if the horizontal zone was designated for extra filling. The pieces that fell out were never added, and that space can still be filled with new pieces. The things we see falling were never put it.
Simplified version (curve edition, not triangle edition):
- draw several rings of wobbly curves to approximate a circle. add them to curve set.
- main loop:
- pick a random curve, and a point on that curve.
- adding a subdivision curve to it – a wobbly triangle, or v, or curve segment – anchored within some bounds.
- add it to the curve set and continue, or
- don’t add it to the curve set, and displace it down by a random amount.