The visual effect that Mike and I were trying to achieve was one that would be instantly recognizable as a pattern (since the fractal rectangles scale according to size) while maintaining uniqueness between pieces. To that end, various transformations are applied to the image based on whether n is even, odd, or prime, and also based on n's size. Also, there is a pattern of shapes posted on top of the fractals: this changes also based on n, so while everything is related, it's not the same. Another advantage of this is that n can potentially generate an unlimited number of images. Our procedure starts out by using let* to define a new image with dimensions width x height that is subsequently shown. For the first operation on this image, we decided that fractal-rectangle would be a good procedure to use, as it creates interesting images and it scales appropriately no matter what the image size is. To vary the rectangle sizes a bit, we changed the initial code of fractal-rectangle to the suggestion provided by section i of Homework 16. We used modulo on some multiple of n (1 for red, 2 for green, 3 for blue) to determine the components of the initial color that fractal-rectangle takes. Modulo allows for any input value of n, and it allows for a range of colors to be produced (the blue component dominates until n=85, then it falls to 0 and green dominates, etc.). For our second operation on the image, we used let* to define a series of five objects (of the variety from Exam 2, problem 3) which are placed in the image using image.render-object!. If n is even, a larger box is placed in the center of the image and four smaller discs are rendered above, below, and to the left and right of the box; if it is odd, the center is a disc and the surrounding objects are boxes. These objects’ positions and sizes are some fraction of the overall image size. The color of the central object is the result of applying rgb.phaseshift to the color used for fractal-rectangle!; the other objects are colored by applying rgb.complement and rgb.phaseshift (in that order) to the same color. The third operation uses image.map! to map a color transformation to the whole image. If n is odd, rgb.darker is composed with itself to make the image significantly darker; if n is even, rgb.lighter is used instead. Then, if n is greater than 500, rgb.bluer makes the image bluer; otherwise, it makes it greener. Finally, we defined a prime? predicate (located at the top of the page) to determine if n is prime. If it is, the entire image is phaseshifted.