The first image is a bisection that is strictly normal, i.e. both color fields have an area that is exactly 50% of the pictorial space. There is a mixture where there is overlap (inclusion) and areas where not (exclusion) alluding to concepts of hybridity and third space.
Taking inspiration from the doodles, two more images were generated. These use the same generative line, but instead they are translated so that they are either completely overlapping (inclusion) or not (exclusion).
As these images are generative, this means that the bisection is guaranteed mathematically to be exact. This is a level of nuance and pedantry, but an important one. The bisection is not just normal but strictly normal with mixed (random) inclusion and exclusion. Using the same lines, but shifting them (algorithmically) until they completely overlap or not means full inclusion and full exclusion can also be explored.
I have been putting off writing this code for a long time as I anticipated that it would be horribly complex. Looking back at A Generative Bisection it was apparent that the core code was already there, and simply needed “packaging”. It had been written as a proof-of-concept and needed to be turned into something more practical and extensible, i.e. procedural and parameter-driven code. The strictly normal variant was quickly produced, and the result excellent.
I was anticipating that the code to produce the total inclusion and total exclusion variants would be horribly complex. Thanks to some lateral thinking the solution turned out to be extremely elegant. It was hardly surprising that the algorithms for inclusion and exclusion almost mirror each other, simply requiring the logic to be flipped is a couple of places. What was surprising was how few SLOC were needed: I’m talking less than 10 SLOC! This was achievable by basing the code around data structures to hold the information which can then be easily processed and manipulated.
When writing the code for this, the background music was Planet Shopping. It seemed to go well with the images.comments powered by Disqus