Colorful Representation of Julia Sets Swayam Bagaria, Sadish Dhakal,Akshay Gulati, Vinny Newton Designing Statement: The purpose of our project is to represent the mathematical information of the Julia sets using colors and position in a two dimensional plane. There are infinite number of Julia sets. For each set, the 'depth' of the set in each point in the two dimensional plane is different. We represent this 'depth' with colors. The points in the plane that have 'infinite depth' are represented by black. Our program generates different Julia sets for different inputs, and also presents those sets in different amount of detail, depending on how large of an image the user wants. The border around provides a familiar frame of viewing images, meant just to poke at the viewer and remind them that it is a manufactured image they are viewing. Due to the nature of the Julia sets, the forms generated will generally look symmetric about the center of the image. We designed our program so that the colors fade out away from the center of the image, so as to give a gradient effect. The viewer will also notice more details and more sporadic changes in color closer to the center of the image. We made the black appear vivid compared to the rest of the image because this is the primary object in our image. Within the Julia set (the black portion of the form), the viewer will notice patterns repeating themselves at smaller and smaller scales. This is an inherent property of mathematical objects called fractals, the Julia sets being examples of them. The patterns might remind the viewers of seashells or clouds as seen in pictures take from space. This can be expected because these natural phenomena share similar mathematical structure (fractals). Our goal was to merely provide an interpretation of the mathematical without excessively manipulating the beauty inherent in nature itself. Technique Statement: In this project we have created an image that has infinite variations based on the value of n and is scalable for different widths and heights. Our main topic of interest is the Julia sets the recursive algorithm for which is given by f(zn+1) = f(zn)2 + z0 where z0 is a constant complex number, and in our case it is the value dependent on n thus ensuring that we get a different image for different values of n. This is true because for every different n, there will be a different z0, which in turn will create a different set of points. In order to implement this code, we first created a conceptual complex plane where each pixel of the final image represents a point in the complex plane. Unlike the pixel plane provided in Scheme, our abstract complex plane is centered at the center of the image. We also have a limit to the range of complex values being accessed by the fractal, the range being -2-2i to 2+2i. This enables us to create Julia sets which are centered on the image and visually occupy the same amount of area in the image. Then we use the algorithm of the Julia set to create the set of points. The inputs to the algorithm are complex numbers represented by each pixel in our image. Since the function that converts the pixels to a complex number is one to one, we ensure that there is no overlap of pixels in the image. The points which happen to be in the Julia set are colored black, and the points which are not are converted to a different rgb-color which is decided by a particular hsv->rgb transformation that we found to be rather interesting. Here, we have deviated from our original proposal. In our original proposal, we mentioned that we would convert the number of iterations to an rgb-color. However, we did not simplify our coloring algorithm to that extent. We made the rgb-color a function of the number of iterations rather than just plainly assigning a color to it. We also used turtles to create a frame to emphasize the Julia set. Here as well, we slightly deviated from our original proposal. Initially, we mentioned that we would create images using turtles but we realized that the turtle images in the background would take away from the aesthetic of the Julia set rather than add to it. Hence, we just created a background or frame using turtles rather than making our image less pleasurable to the eye. We used the following algorithmic techniques in our code:- * Numeric recursion * Image-compute-pixels * Turtle graphics (in a minor way) * RGB- color transformations Reference: Chaos and fractals: New Frontiers of Science (2nd Edition) By Petgen, Jurgens and Saupe Published by: Springer-verlag New York, Inc. (2004)