For Zach's software class (I know! learning OF with a creator of OF!!) we're taking a week to focus on an artist's work and what sort of techniques they favor, and then individually recreating a particular piece (or at least a piece inspired by one). It's a cool approach because no matter your level with coding you can figure new things out and come back to discuss it in the group.
The first artist we looked at is Vera Molnár, an artist starting in the 50s exploring pre-computer computational art and then later on with early computers (she has a show up at MoMA till April 8th). Her work varies from stark geometric shapes to more intricate patterns with a sort of contained random element. To do that by hand seems time consuming but not necessarily difficult, and oppositly using a computer you get a result very quickly but suddenly have to be much more intentional and precise with instructions. An example:
In Molnár's original one immediately grasps that there's red squares being maybe "stamped," but not in a way that perfectly lines up. My initial starting attempt used a simple for-loop inside a for-loop to generate a grid of squares, but with a little x/y jitter in their actual placement. Not quite right, I noticed there is always a little horizontal overlap, and only vertically do gaps appear. Adjusted accordingly, I was pretty content, but the original still has an oddly more organic feel and whole rows are shifted so that while overlap is preserved, the larger square has a rougher edge and tilts. Some folks also noted the texture of the squares themselves—something possibly not even intentional but just the nature of using paint on paper as a medium—and tried to recreate that. Through this mimicking and repeated looking I really grew to appreciate the original more, and while sketching from a master oil painting is very similar in this way, it's not something I would've thought to try with more geometric art where rather than just copy visually you are trying to find an underlying method. In copying you are also temporarily freed from being visually creative and able to focus on "skill" in a way I think under-appreciated but necessary. Now (over)confident, I wanted to take a stab at this piece:
This one needed a lot more pre-planning. Because the lines eventually become squiggles I didn't think I could just draw squares made up of four lines that shifted vertexes or something, so what I ended up doing was making an object that was a vector of points* that when drawn looked like a square. My thought being that by using noise (rather than pure random) the dots would shift and the overall effect would be a squiggly line. That is not what happened.
The lines disintegrate quite rapidly and left to its own devices the whole thing buzzes outwards like a hit beehive. Because each point has no computational relation to the point next to it the visual line is lost. I tried again:
The lines stay together, but too together. Also mysterious still artifacts appeared. After looking at Nabil's project where he used p5.js and found a way to alter a line itself (turns out you can add vertexes basically) I decided maybe my vector of points was fundamentally Not Right. Which is sort of a hard truth you have to sometimes accept with code—maybe you brute forced something together but sometimes you still have to toss it all out. Feeling appreciative of the original and with lessons learned I just left it there though. Our next artist is John Whitney, who is going to involve significantly more time and sin waves to figure out.
"Porting" not-code art into code art is an interesting medium adventure, but even from one coding language to another helps emphasize the different structures and "givens" unique to various languages. For a really cool deep-dive, 10PRINT looks at an early Basic program and (among other things) some of its modern ports. It's not a terribly technical book so I'd recommend to anyone: free pdf. Zach's class was in part inspired by a similar sort of project from this old zine. if you are a bit technical & curious, my code mess is on github. I don't know that I'll get too detailed about each artist but thought something light-hearted was in order (and either way I'll push the code).
*basically a list of (x, y) items. I had originally used an array, which in openframeworks you have to define the length, but switched to a vector (more like a shopping list, as long as you want it) because smaller inner squares need fewer points.