py5 at The Whitney

I'm thrilled to share that py5 is now at The Whitney Museum of American Art. This is one of the most well known museums in the United States and it is an honor and a privilege to show work here.

I collaborated with Marina Zurkow to create two animated works. The first, The River is a Circle, was created as a part of the Hyundai Terrace Commission.

/images/posts/py5/py5-at-the-whitney/the-river-is-a-circle.jpg

The other work, The Earth Eaters, is one of two works in Parting Worlds.

/images/posts/py5/py5-at-the-whitney/the-earth-eaters.jpg

The second work in Parting Worlds is Wink, a piece that Marina made with Adobe Flash many years ago.

Both The River is a Circle and The Earth Eaters use Processing and py5. They are Processing Sketches with some Python code, using py5 as a bridge to connect the two languages through py5's Processing Mode. Interestingly, both works have identical Java code. The differences are in Python and in rather large Yaml configuration files. And the actual image assets, of course. To create these works I wrote a shared reusable framework with modular components that enable me to construct both works in the same way that someone might make different things with the same set of lego pieces. The Yaml configuration file is extensive, providing a blueprint for how the image assets will animate and move around the screen.

In addition, there is a lot of ancillary Python code that is not a part of the final works but is necessary for the construction of them. A useful analogy is to compare this to a building's construction: the scaffolding, cranes, lifts, etc, are not a part of the final product but are necessary to build a large structure. The Earth Eaters, for example, employs over 100K image files and has a configuration file that is 86K lines long. It is not possible for me to manage all of this manually. Instead, there are custom Python tools that do much of the work for me. Some of the programming techniques used had a lot in common with py5generator, the code library that creates py5. Documenting that is a job for another day.

Comments