Computational Media / Week Four / by Pippa Kelmenson


Make something with a lot of repetition, more than you want to hand-code. You could take something you've already done where there was a lot of repetition in the code and see if you can re-write it using a loop so that instead of 28 lines of code that call rect(), you have 1 line of code calls rect() inside of a loop that goes around 28 times. How do you need to rework the way you position that rect() in order to make it work in a loop? Try creating an algorithmic design with simple parameters.


I first drew individual vines using my “vine” function, including a loop for two leaves on either side of each. I then was able to make each vine move along a vertical sine wave, as if blowing in a breeze. In the future, I hope that I can add various shades of green to the vines and leaves, as well as adjust the leaf position with my “steps” variable, and integrate an interactive element with the mouseIspressed function. I would love if I could use the mouse to repel the vines as a unit, as the mouse gets closer to each.


Although I’m happy with my final result, I hope to make several improvements and answer a few questions.

  • How can I start the leaves after y=0 (so that they don’t start directly at the top of the canvas)?

  • Is there a way that I can set the vines/leaves to random shades of green?

  • Do I need to make a loop for the vines and leaves separately? Or would I not be able to since my vines are individually drawn?