As a design enthusiast, I have had the privilege of exploring various design technologies during my tenure at Parsons. Below are some of the projects I have undertaken that have helped sharpen my design skills, passion and dedication towards my creative practice.

WireFlower

"Wireflower" is a project that aims to explore the idea of how we are losing the softness and natural beauty of the world around us as we cage ourselves in our modern lives. The project takes the form of a black and white flower-like structure made entirely of wire, with its intricate and sharp lines representing the artificial and rigid structures of modern society.

The overall aesthetic of "WireFlower" is minimalist and stark, with a strong emphasis on the contrast between black and white. The wire structure creates a sense of tension and unease, reflecting the way in which our modern lifestyles have constrained and limited our connection to the natural world. The flower-like shape of the wire structure adds a layer of complexity to the design, with the curves and loops of the wire forming intricate patterns that hint at the organic beauty that is being lost. The use of curves and soft lines in the wire structure also creates a subtle contrast with the overall angular and rigid nature of the project.

Coding Process

The code generates a dynamic, randomized pattern using the noise() function and a set of predefined parameters.

In the setup() function, the canvas is created and the background colour is set to white with a stroke colour of black and an empty fill. The variable t is initialized to 0. In the draw() function, the code translates the origin of the coordinate system to the center of the canvas and begins drawing a shape using the curveVertex() function.

The curve is generated using the map() function to convert the value of i from 0 to 200 into an angle value between 0 and TWO_PI (which is 6.28 radians), and then using the noise() function to generate a radius value for each angle. The curveVertex() function then creates a vertex at the x,y coordinates calculated from the radius and angle. The endShape() function is called with the CLOSE argument to close the shape, and the variable t is incremented by 1 on each frame to create a dynamic and constantly changing pattern. The if statement that checks the frameCount uses the mod (%) operator to clear the background every 600 frames, which creates a periodic refresh of the pattern and prevents it from becoming too cluttered.