CSC-151-02 Image Project Evan Cunningham Design Statement:             I hope to be able to explore various aspects of color and the uses of shapes together. My intent is for my code to create an image with a background that fades from full value of a color on the left to black on the right. Over this background, I will juxtapose a shape with complementary colors to that of the leftmost portion of the background. To elaborate, if we have a background that starts as fully green on the left and fades to black as we go right, we will have a shape that will be colored with the complementary color to green (magenta). This shape will, however, be composed of only one general color. There will be no color change in any individual shape, but the contrast between the background and the shapes should differ as one looks at the right side and the left side of a shape. The intended effect of this is for the shape to “pop” out, emphasizing the shape over the background. In such an image, complementary colors are present in their full values, but the full contrast will never be brought out. This is because, while it is my intention for the shapes to pop out at the viewer, it is not my intention for the images to be too bright or too difficult to look at. The shapes will all be circles within squares, with both the square and circle being nearly the exact same color. My reason for not making any changes to the shape itself as the colors change or as the inputs change is that I intended to see the pattern that using repetition alongside rhythm would create. However, I could not manage to create the pattern of shapes that I desired because it was too complicated to code. Proposal Technique Statement:             To create my images, I will first be creating my backgrounds by iterating images over positions by using image-compute in order to create the fading effect from the color to black. The color used will be determined by taking n (one of the inputs to the procedure), taking a modulo of n by 3, and checking to see if, when the resulting value is divided by 3, 2, or indivisible by those, we get an integer. We get three separate cases, so we can use three separate predicate statements to determine how the color will be made. Thus, iterating images over positions is one of the algorithmic techniques that I will be using to create my images.             The next step I intended to take was creating the correct number and color of shapes. To create these shapes, I planned to use a combination of GIMP tools and numeric recursion to create my images and to color them. I then intended to use image-select-ellipse! and image-select-rectangle! to make my shapes. In order to determine the number of shapes I would make, I planned to divide n by 45, floor the result, and then add 1 to the number. The final result from that would be the number rows and columns of shapes I would create, which I could then call m. Using m, I intended to use numeric recursion in combination with the GIMP tool procedures previously mentioned to create my shapes. In order to determine where our image-select-ellipse! and image-select-rectangle! procedures would put our shapes, I intended to feed in to these procedures a width and height that corresponds to our input width and input height divided by a factor of m, and the positions too would be determined only by factors of our input width, height, and m, which depends on n. I did not, however, manage to create more than one shape, because the coding was too difficult.             My procedure has failed on the account of producing unique outputs for any input n from 0 to 999. Instead, I have managed to create only 45 unique outputs of n from 0 to 44, since I was unable to iterate the images. These 45 images are not alike because my code will cycle through the colors from (17 0 0) until we get to (0 0 255). From there, the process starts over, and thus we have only 45 unique images.