Form Generator_ Jasmin Liang


Description


My design this week was relatively simple due to time constraints. I created an eye where the viewer can use the mouse to change its size and move the eyelid. When the mouse is pressed, a "vision" would appear in the iris. The viewer can also pressed a key to change the background color.


Design Process & Reflection

I began with two sketches where the setup would somewhat resemble the Rene Magritte painting. But then as I was building it, I realized that instead of using mouse Y to scale up the eye vertically, it would be more interesting to use that for an interaction with the eyelid instead.


draft sketch


During the process, I definitely felt that there was a lot more precise caculation and troubleshooting needed than last time. I felt that once variables are involved,ordering became extremely important and determined whether each layer would display correctly. I also realized that to maintain the shape of an object while changing its scale, especially when it is conditioned upon mouse location, I would almost always have to use an "if" conditional to control the response in each scenario. I ended up using a series of conditionals to make sure my eye is still legible in its transformation.


Another strange thing I need to troubleshoot/get around with, is the fact that when a draw() function is being executed with a variable, since it is always being executed in loops, every loop will create a new drawing. That almost requires one to place the background() within the draw() function to simply cover the traces of the old loops. It took me a while to figure out that creating RGB variables for the background() and more importantly, assigning their initial values in the setup() function would be the only way to solve this. I wonder if there is a method that one can use to erase the trace of an old loop, that every time a loop is executed, it can clear the canvas and start anew?

There are certain things I really enjoyed about this project. I enjoyed the moments when I explored new functions and effects, I was able to incoporate them and adjust my my design accordingly. It made the whole process less predictable and more a journey of discovery. I especially like the use of the conditional MouseIsPressed. I think its use makes a lot of sense here and gives the interaction a greater level of physicality, in that, the audience have to persistently exert their thumb muscle to make the "vision" appear. If I were to further develop the project, I would love to engage more with the text and the background. I would also like to try out using something like a scale factor as a variable because most of my variables are rather straightforward linear movements. I think working with more regular shapes and multiplication with a scale factor would be an interesting way to explore the potential of variables.