Title: Documentation and Updated Statements Final Project: CSC 151-01 Daniel Delay, Daniel Kraemer, Steve Yang Design Statement After we implemented our Julia set, we determined that we had not changed anything from our original proposal and that our original design statement would still be valid for our new code. Our Julia set demonstrated the same aesthetic merits (unity, rhythm, balance, scale and color) that our original design statement had promised. Regardless of whether we created our Julia set with greys or golds, the three of us were still awestruck by the beauty of our implemented Julia set. The fractal swirls and spirals of our Julia set present a charming visualization of the series of repetitions formed from the set of non-convergent complex numbers mapped rhythmically upon themselves. Unified with thick patterns and thin strands alike, the visualization of any Julia set represents the artistic merits of cohesion and tension, connection and disunity. Simultaneously restrictive and outwardly daring, the depiction of Julia sets in regards to the scale of one portion to the next poses the question of infinity to viewers, challenging every individual to explain and define Julia sets in concrete artistic labels. As the set trails off to infinity, the scale of the image changes constantly but chaotically, presenting the illusions of unpredictability on a mathematically stable equation. Balance and unity are further explored in the unique radial symmetry of our Julia set. When the color is set according to unique gradients in relation to the position of the Julia set, the effusive nature of color and rhythm come into play once again, tantalizing the senses and the intellect alike. Whether discordant or analogous, monochromatic or complementary, each Julia set we’ve produced presents a distinct color combination that is both appealing and abstract to the palate. The divergence of the Julia set offers an array of possibilities within the color scheme as the programmer and coder sees fit. In a way, our Julia set is a rendering of the butterfly’s wings and the hurricane, as small changes in the initial conditions produce massive changes in the final result. Citation: ‘Elements and principles of two dimensional design,’ Weinman et al: http://www.cs.grinnell.edu/~weinman/courses/CSC151/2014S/readings/design-elements-reading.html ‘Design and color,’ Weinman et al: http://www.cs.grinnell.edu/~weinman/courses/CSC151/2014S/readings/design-and-color-reading.html Technique Statement First and foremost, a Julia set is a representation on the complex plane of the function f(z)=z2 + c, where z represents an individual point on the plane and c is a fixed complex number. The set describes the relative ‘divergence’ of each point on the plane, or the tendency of successive applications of f towards an arbitrarily large z,. If a particular point z remains fixed, cycles around a in closed loop or gets ‘stuck’ in some other manner, the representation of the Julia set for this z is the color black. Otherwise the point will be colored according to its position, or how ‘quickly’ the point diverges. The computation of a Julia set contains several important components. First, we devised a mechanism to determine whether or not a particular point z diverges. For an arbitrary natural number N, if fN(z)> k, where k is a fixed boundary, we can confidently say that it diverges. The smaller the N that meets this criteria, the ‘quicker’ the point diverges. For example, if we want reddish colors to signify points that diverge ‘quickly’ and greyish colors to signify points that diverge ‘slowly,’ then we would set the pixel color of a particular point to “grey” if we need a big N to achieve fN(z)>k, and set the pixel color to “red” we only need a small number. We can use this property to recur over N, changing the color of pixels z that satisfy fN(z)>k depending on the size of N. If you have a z such that no N satisfies fN(z)>k, then we can say that it “converges,” and we color it “black”. In our algorithm, this would mean that after exhausting all i for 0