My initial inspiration for this project was not derived from a physical phenomenon but was borne out of a deep-seated desire to challenge myself to create beautiful and aesthetically pleasing art. One of the earliest works that caught my attention and fueled my creative energy was an exhibit titled ‘Melting Memories’ by the artist Refik Anadol. This exhibit, which I stumbled upon during a case study at the Pilevneli Gallery, was a captivating and awe-inspiring experience that left me yearning to create something equally powerful.
The core technique and starting point of Anadol’s work is to construct a bridge between philosophy and art. The paintings in the exhibit express and transform the process of storing and forgetting memories in the human brain through art. Although this concept seemed beyond my capabilities, I was nonetheless captivated by the power of this work. This power emanates from the flowing textures and the unpredictable changes inherent in the artwork.
This realization made me ponder how to encapsulate this sense of flow in my work. While contemplating this, I was reminded of a sand painting performance I witnessed. The performance, a profound and transformative artistic experience for me, showcased the incredible potential of seemingly tiny grains of sand when piled together to transform into various forms. This was a sight that left me breathless and inspired.
Initially, I wanted to explore the concept of “time.” I planned to use P5 to emulate some images in the poignant Chinese poem “Time Flies like an Arrow.” However, as I delved deeper into the project, it made more sense to focus on “sand” to represent the theme of Nature.
My thoughts were soon occupied by the physical phenomenon of “sand.” I found myself captivated by a small tabletop ornament known as a “liquid hourglass.” This curiosity led me to embark on a journey to study and investigate the physical phenomenon underlying this device.
Among the many physical phenomena that I researched, the one that inspired me the most was the concept of automatic random diversion and stacking of sand. This led me to find a tutorial on sand stacking using Make2DArray. I expanded on the effect of having the sand initially rest at the top, with many rows of sand simultaneously falling at the start of the process. Also, I tried using 2D array to be occupied in default blue to represent water, so that the water can be automatically filled up the free spaces, (in test 6), but it seems a failure.
With the guidance of my professor, I eventually turned to the more familiar particles I had learned about during my course to implement this physics device. My initial attempt was to randomly generate many particles and let them fall from the top of the canvas. However, the sheer number of particles made it difficult to maintain the program, as adding a checkCollision method during the fall would overload the program. Simultaneously, I wanted to detect the distance between the sands to create a kind of attraction between them. My goal was to simulate the feeling that the sands were interacting with each other and piling up together. Unfortunately, due to the failure of checkCollision, this attempt also ended in failure.
I was able to overcome this setback. Instead, it prompted me to develop alternate logic for generating sand. I thought the sand grains would begin to fall step by step due to the dropping of the bottom layer. Although I couldn’t directly reproduce the interaction forces between the left and suitable sand grains, I thought that the effect of a column falling could be achieved if the same column of sand existed in an array. With this idea in mind, I began constructing rows of sand grains structured in columns.
Following a successful initial attempt, I wanted to create the possibility of more shapes in the sand arrangement to reflect my initial theme of “variability and unpredictability.” Considering my professor’s advice, I combined this approach with the noise function. This meant that every time I ran the program, the position of the bottom grain in each column, as determined by the noise function, dictated the number of grains in each column. This resulted in the initial positions of the grains being more deformable and the subsequent fall of the grains becoming more variable, echoing the unpredictability of Nature.
https://editor.p5js.org/TinaZhang226/sketches/54R84y_BZ
There are definitely many future developments that could applied to my project in the future. I am also thinking that probably adding a force based on the mousePosition could be helpful for the attraction power between different columns, but it turns out to be a failure. But I also gain some inspirations from the presentation from other students, probably applying Spring could also be a feasible choice to connect different columns together, and once mouse is clicked, that particle could fall down and push some other related particles down together. And I will continue testing on those possibilities~