CSC-151-02 Project Statements | Final Version Bing and Rae Design Statement: Inspired by the beloved children's toy, the kaleidoscope, our design illustrates the interaction of shapes, colors, and lines. Our graphics focus on uniting these elements to demonstrate the beauty in abstract symmetry. Specifically, we applied complementary and monochromatic color schemes to our series. Complementary colors create contrast and intensify the colors of the shapes. Complements also assist in highlighting and defining figures, and serve as a method for achieving emphasis within our images. In addition to complementary colors, our images' color palette includes softer undertones through the use of monochromatic color schemes. In our final image-series, we decided to incorporate this color scheme (instead of a color gradient) because we wanted to define and accentuate the concentric shapes in our background. The use of a smooth color gradient would have blended these shapes together and viewers would not notice the distinct “layers”/ rings in our kaleidoscope image. The monochromatic scheme allowed us to set variations in the saturation and brightness of the colors. Consequently, this produced a clean and visually-cohesive color combination which backdropped the figures and worked as both a background and an accent to the overall piece. By encompassing the shapes in subdued colors, we hope to produce emotional undertones to the image (E.g. The red gradient will elicit underlying feelings of energy and excitement while indigo will trigger calm and comforting moods.). The undertones provide some emotional context for interpreting the patterns and shapes within the graphic. Through the principles of proportion and rhythm, our image-series deceives the naked-eye. We skew the sense of scale by using contrasting colors and similar-sized shapes within our pictures. Though the final images make use of a concentric structure, rather than generating shapes with increasing sizes, we decided to keep the shape-sizes constant throughout all the layers of the kaleidoscope (Scaling the turtle-graphics and the simple drawings according to their position on the canvas proved to be an obstacle. The shapes varied too greatly to create a universal procedure for a position-dependent scale that would scale all the shapes to fit within the image bounds.). The consistency in the shape-sizes creates a balanced image but the differing forms of the shapes make viewers question the shapes' relative size to one another. In addition, the design has rotational symmetry, evenly distributing weight throughout the entire image. In essence, our images follow a systematic yet fluid pattern. A sense of continuity is present throughout the design. Our image series offers a wide range of shapes, embracing unity in diversity. Similar to a jig-saw puzzle, though the separate pieces –or graphics– will vary, when they are combined and interconnected, they will create an interesting and unified composition
. Our design scheme incorporates both geometric and organic shapes to make the images more abstract and open to interpretation. The use of geometry and space makes our pictures bold but balanced. Technique Statement: To generate these images, we: wrote code to create shapes using the GIMP painting tools; wrote instructions for turtle graphics; described images as sequences of simple drawings; and created lists to store collections of colors and shapes so we could select them from those respective lists. We chose two main categories with which to represent and sort our collection of procedures: the background and the foreground. Each of these categories will have a series of lists of colors and shapes. In regards to the background, it contains concentric shapes with a monochromatic color scheme. We accomplished this by employing the use of GIMP drawing tools and Turtle graphics. We began constructing the background through the use of MediaScript's core operation, image-new, to build a new blank image. To create some variation in the images constructed, we built a list of three color possibilities for the background. In order to select a color for the image, we used the list-ref procedure to extract an element of the color list. Modulo assisted in breaking the possibilities into sections of the list-lengths and offsetting 'n' accordingly. To ensure we could use the parameter 'n' to extract all three of the possible elements in the color list, we used the modulo function to “wrap-around” the position possibilities to 3. Furthermore, we called the side-effect context-set-bgcolor! to the selected color from the list and produced a colored background. The algorithms for constructing the background also included building a layer of concentric shapes. We constructed a list of shapes via MediaScheme drawing constants. Specifically, drawing-unit-circle and drawing-unit-square provided two of the shapes for our list of background shapes. To make a series of concentric circles and squares, we generated several scaled copies of the drawings and combined them into one complete drawing through drawing-group. We constructed other free-form polygons and shapes using turtle-graphics and iteration. Through the operations turtle-forward! and turtle-turn! the turtle performed those actions to draw the side-lengths for our shapes. Sequencing those operations with the turtle advancing prior to turning, assisted in producing the correct image and proper orientation of the turtle. Through the implementation of the function, repeat, a defined turtle repeated the same actions/ side-effects to produce the polygons. Regarding the concentric pattern for these free-form shapes, we used turtle-teleport! to relocate the turtle to a new starting position (proportional to that of the first shape drawn) and used multiplication to generate a new side-length for the turtle to move through the operation turtle-forward! Similar to the approach for the background color, we constructed a list for these shapes and selected them using list-ref and modulo. In regards to coloring these background polygons, we used image-select-polygon! to fill our selected polygons with the specified color. The colors for these polygons are extracted from the list created for the background color. This process involved some helper procedures that are similar in operation to turtle-polygon! with the exception that they color the whole drawing rather than the outline. Concerning the foreground for the image, we (again) made use of lists to reference our possibilities. Specifically, we started by building a list of shapes, a list of colors, and a list of defined turtles. We duplicated a specific shape around a circle/ 360-degree path, by constructing a list of 8 horizontal and vertical offsets and then used turtle-teleport! to move the turtles. To change the colors of the shapes, we made use of the procedure turtle-set-color! and applied it to the list of foreground colors (similar to the method for background-color, we utilized list-ref and modulo to select from the number of color options). To create our overall image-series procedure, we used conditionals to account for the several possibilities and “cases” our images will encounter when given a value for n. Because our design scheme includes both turtle-graphics and simple-drawings with GIMP, we had to account for the different methods needed to create/generate our shape-drawings onto the image. In addition, our images are built on a series of 4 “layers” (or group of positions) that we can render the shapes onto to create the kaleidoscope-effect. Consequently, the image-series uses modulo to “wrap-around” the layer-value to 4, to generate the shapes on the respective 4 layers. In building different images, we varied the shapes drawn, and the color with which the shapes were drawn. Our series creates at least 1000 distinct images because the overall algorithm for generating these pictures depends on relatively prime numbers of options. To create variability in our images, we used modulo to decompose the total variables into 4 cycles/ lists. These lists are: background colors (3 options), background shapes (5 options), foreground colors (7 options), and foreground shapes (11 options). Each list represents a data set of a number of potential variants, and when calculating the combinations of these data sets, we multiply the number of options within each list. So modulo will select the image (n) among (3x5x7x11=) 1,155 possibilities. ** Due to our time constraints we were unable to simplify some of the procedures to make them more concise. The three n-values that produce nice representations of our series are as follows: >> n = 43 >> n = 999 >> n = 124 Parts of these statements were modified from explanations and references found in the following readings: J. Weinman and S. Rebelsky (2014) “Function References” http://www.cs.grinnell.edu/~weinman/courses/CSC151/2014F/reference/ “Turtle Graphics” http://www.cs.grinnell.edu/~weinman/courses/CSC151/2014F/readings/turtle-graphics-reading.html “Iteration” http://www.cs.grinnell.edu/~weinman/courses/CSC151/2014F/readings/iteration-reading.html “Drawings As Values” http://www.cs.grinnell.edu/~weinman/courses/CSC151/2014F/readings/drawings-reading.html **In addition, we would like to acknowledge and thank  CSC-151 Mentor Ajuna Kyaruzi for peer-reviewing our statements and for her suggestions on formatting this write-up. And we would like to thank CSC-151-02 Professor Jerod Weinman for his suggestions and revisions for the final statements.