Design statement In our series, we are exploring ways to make images that are less geometric. This is very hard to do when a computer is responsible for generating images, so we decided that images that are geometrically imperfect are fine. First, we made use of string art to draw stars composed of strings on our canvas. We decided that it would be more interesting to draw a slightly imperfect star, so the vertices of our star are not perfectly aligned. Secondly, we decided that varying color for both the background, and the foreground would make the images even more interesting, so we created arrays of background & foreground colors that our procedure chooses from. We tried choosing dark colors for the background, and brighter colors for the foreground- this would enable some contrast in our images and help the stars stand out. Our intention was to emulate how stars are easy to see in the night sky. Thirdly, we decided that the number of strings for our stars should be determined by the size of the image- this would enable us to get similar looking stars on both "big" and "small" canvases. To introduce more variation, we now decided that we should vary the "number" of stars to draw on screen. We took the traditional approach and assigned positions for the stars at fixed intervals- this is not how stars look in the night sky, but this made it easier for us to draw different kinds of "frames" around our image. For the frame, we determined that a simple border within the borders of the canvas would look nice. To draw the frame, we selected from an array of interesting paintbrushes and drew four lines on the edges of the image. After drawing the borders, we changed the brushes for the stars as well! This would introduce further variation into the images. All stars use the same brush, though. Finally, we thought that the background looked too simple, so we decided to switch the plain background color to a more mosaic-like background. In this assignment, we learned that we could control the type of variation we wanted by limiting the kinds of brushes & colors the computer could use. Technique statement Our procedure takes three parameters and based on n, which is given by the user, produces an unique image with the indicated width and height. While all pictures share common elements, such as background pattern, string art stars, and frame, variation is introduced by selecting different brushes, colors and numbers of stars from a vector to draw the final unique image. We decided to use vector, which is a more efficient alternative to list, when a particular element needs to be extracted and the number of elements needs to remain constant throughout the entire procedure. To ensure uniqueness of each image, numbers of elements in our four vectors are relative primes, which means that none of them have a common factor. As a result, images generated with input n up to 1155 (7 background colors, 11 foreground colors, 5 star brushes, and 3 frame brushes) are unique. To select an element from a vector, we used modulo, which passes an index of one of the colors from the particular vector that is then extracted with list-ref. In our procedure, we strove to make as many aspects of the resulting image dependent on user's input as possible. The number of strings and the width and height of each star, therefore, depend on width and height of the image, through which we also achieved appropriate scaling. Another important variation of the image is the number of string art stars generated on the canvas. To vary the number of starts, cond is implemented to select one of the five alternatives based on n. All star patterns are symmetrical according to a horizontal line drawn in the middle of the image. Finally, our image is concluded with a frame, which is drawn by using image-draw-line! and a brush selected from a vector on the edges of the image. In our procedure, we took advantage of two useful existing procedures: star!, taken from one of our previous homeworks, which draws a distorted star and a modified version of fractal-rectangle!, which appears in one of the recent readings.