Thursday, January 25, 2018

More Creations, More Lessons Learned, More Joy of Poetic Computation

Earlier this week I experimented with what Zach Lieberman calls Poetic Computation. Over the last few days I've enhanced the framework I created to experiment with this concept. For example, you can reveal the code behind an animation with a single click. Also, I updated the framework itself to thread a state variable through the animation function. I first saw this done in Racket World programming, and it seemed like a perfect fit for my code.

More importantly, I've made a number of new animations. Some of them build on each other, like these two:

Or these guys:

Some are one offs, like these guys:

Most were planned out with a general concept in mind, though this one is the result of pure happenstance:

I'm astounded at how quickly I'm able to compose a work of art that I can be proud of. I can tell you all the benefits of sketching, or experimenting with music or fiddling around with crafts. But the end result when I do this, by my own judgement, is at best so-so (And I'm OK with that. Really, I am). Yet, give me a world with nothing but line segments and a few operations (scale, translate, rotate and copy) and I seem to be able to make something magical. Why is that?

Part of what makes these animations work is that all they need to be is visually interesting. For example, when I started crafting the beye animation, my goal was to morph a square into a circle. I did this by writing some code to generate a circle using nothing but small line segments. I then revamped the code to generate a square using four large segments. I then mulled over how I could morph one into the other using an ever increasing counter. My first attempt produced something nowhere near my original square to circle concept. Rather than throw my arms up in frustration, I just went with it. I'd stumbled over something cool and could freely abandon my original concept.

Perhaps it's the wide definition of success, combined with so many paths to get there, that make this creative outlet so satisfying?

Feel free to grab my code and start making your own creations.

No comments:

Post a Comment