For this assignment, I recreated Tim’s piece ( in the first codePen. In order to create the stacked shapes, I used a for loop and some variables to make the layered rounded squares decrease in size as they’re stacked upwards by the loop. A “flip” variable allows for every other created square to be rotated to create dimension, and I used frameCount often to create movement. In order to get the rotation to increase as the squares get smaller, I utilized a variable that counts up as the loop runs to increase the speed of rotation stepwise.

Push, pop, and translate were also utilized in all included renditions along with the other mentioned features. When creating renditions of the original recreation, I utilized random to increase the visual appeal but kept the algorithm for shape formation the same besides some shrinking of dimensions here and there. Sin, cos, and lerpcolor allowed for smoother colors and special uses of rotateX/Y allowed for the last rendition to rotate in a different patterning.