More selected projects

the subtle force of living

A 2D projection mapping project inspired by the cycles and rhythms of nature.
produced by: Lucie Stepankova

Introduction

I approached this assignment as practice-based research, with curiosity and courage to explore code from a perspective that most fits my interests while being aware that I will step outside of my comfort zone and, in part, outside of the framework of the material covered in the lectures up until this point. My aim was to work with some general concepts covered in class while implementing some more organic aspects. I worked on all the sketches from scratch, using short snippets of code found in Term 1 projects combined with open source code from tutorials and sketches available online.

Concept and background research

'the subtle force of living' is a visual-computational work stimulated by personal fascination and curiosity about the organic, the natural and the ecological. It should be understood as an instinct-fuelled reflection on these themes approached through the lens of computation. Thematically, the threads are quite loose, leaving space to ponder and explore, the frontiers of the outcome being dictated by the limits of my present understanding of code and its practical application.

The title alludes to the subtle forces, oftentimes at work at humanly inaccessible scales, that are at the backbone of all life. These are the forces that allow for growth of roots in the soil, that create weather and stimulate the cycles of birth, life and death. I decided to accompany the projection video with a sound art piece "Beneath The Forest Floor" by Hidegard Westerkamp to further immerse the audience in the flux of the world I aim to portray.

Technical

I made use of the wide array of tools covered in class including for() loops and if(), else if(), else() statements. This is particularly true about the 'Fractal Tree' sketch where these functions form the backbone that is embellished by angle and length variations using ofNoise(), ofRandom() and .getLerped() in combination with color vectors.

In the image-centered sketches, I used .png files to create translucid layers and used image vectors to access these while working with ofNoise() and ofRandom() function to add motion and dynamic hue details to them, creating a lively dance-like effect.

Self evaluation

The overarching feeling following this past month is one of an intense learning experience enmeshed with humility. I have to admit that all in all, I am not keen on the final projection-mapped outcome. This is a combination of my personal aversion to projection mapping and my inability to translate my visual daydreams into a satisfactory outcome due to my limited coding experience. That said, when it comes to the coding element of the project I feel quite proud of how far I was able to get in working on the single sketches. I am grateful for recognizing the limits of my current understanding of code which led me to accept the imperfections that sometimes come with it and left me with an urge to know more.

I am happy I decided to divide the project into working both with generative and recursive systems and with modification of images. This allowed for a more dynamic workflow that made it easier for me to keep focused. Initially, I was working on another generative sketch which I decided to not use in the final project due to its aesthetic incompatibility with the other sketches. I feel I could have taken less time diving deep into the research and finding solutions for recursivity and I could have spent more time developing the - now discarded - sketch and working more diligently on mapping and composing the scenes.

References

- Recursive

An Array of Images - Processing Tutorial

Animate an Image - Processing Tutorial

Richard Bourne 'Finding My Roots'

Matt Pearson 'Generative Art: A Practical Guide Using Processing'

Daniel Shiffman 'The Nature of Code'

https://openframeworks.cc/ofBook