Project 2


Link to the Original Algorithm used in this project: * Press Here *



(Artist Statement:) For this assignment, I wanted to explore the use of the parametric equation algorithm which I had selected from a list of p5js examples and its potential for expressing the formal and linear qualitites of the object being mapped along its path. I felt that playing with the "three acts" sequence of the animation we were creating provided me with an opportunity to explore the different qualities of one of the most iconic and foundational shapes in p5js: the ellipse In this animation, the work starts with a black screen and begins drawing ellipses following the specified parametric pathways to create shapes that I call 'coils'. These coils are generated and altered because I reconfigured the parametric equations example into a class with methods that controlled how the shapes were drawn and how they should behave. I created a custom class with arguments that would control the values modulating the ellipse's positioning as it moved and wrote custom methods that would change the size of the shape as well as its position translated on the canvas and the fill and stroke colors as necessary. There are also groups of three methods in between my custom methods labeled x1A(), y1A(), x2A(), and y21(), x1B(), y1B(), x2B(), and y2B(), and (you may be sensing a pattern here...) x1C(), y1C(), x2C(), and y2C(). These methods contain the math of the algorithm that tell the circles what path they should be following. Aesthetically, my project begins with a group of three coils defined by my first method- the leftmost coil that is filled red with a black stroke color, the center coil that is black with a white stroke color, and the rightmost coil that is white with a red stroke color. Each coil has a mid-low alpha value for the fill color, so that there is a decent amount of transparency to expose a textureal and dimensional quality to the shapes. The second scene relies on my second method- three coils following the same fill color definitions I gave in the previous scene's explanation with no stroke this time. I also lowered the alpha value of this fill more severly to play with the accumulation of strokes on the canvas from a shape so often used to create brush tools. In my third scene I am using my third custom method to creat two coils this time, one with a black fill and white storke and one with a red fill and black stroke. These are the most transparent fills yet, but also the stronger of the strokes. This means that the linear quality of the ellipses' outlines creates the illusion of a 3D framework while drawing out linear patterns through the accumulation of lines overlapped with low-opacity fills. Each of the coils displayed throughout the animation is mapped to a slightly different configuration thanks to the arguments in the constructor of the class, and each coil is also set to a different point of translation thanks to the 'td' argument in my three main methods. The background is set to draw in setup() and draw() with a low-opacity black color to shade and chase the movement of the ellilpses. I think this piece was successful in its iteration on the utility of a selected algorithm and base shape, as well as the way that I was able to explore the qualities of shape, line, and form to create dynamic visuals from the basic qualities of the ellipse. I found it challenging to work with containerizing the original algorithm within classes and methods in part because the elements that had to be broken into separate mehtods also needed to talk to eachother. Methods are great for compartmentalization and utility, but I've found that they require a high degree of structure and specificity to produce functional dialogue. I also found the recording of the project difficult not so much for its actual function but because my frames were not recording in order for me. I believe that this may have been contributed to by the fact that the speed of the frame downloads was buffering on my computer and downloads may not have been appropriately updating.