Friday, March 25, 2016

Julia Set

Julia Set

The following post is by Nicole VanOort as a part of George Mason University
Math 493, Mathematics Through 3D Printing.


    Julia Sets were originally researched in 1917 by Gaston Julia and thus is what the set are named after. It wasn’t until the 1970s though that the images of these sets were actually created due to Julia’s lack of a computer. The person who started creating the images on the computer of Julia Sets was Benout Mandelbrot who at the same time discovered the Mandelbrot Sets. Julia Sets are similar to Madelbrot Sets, they both create fractal images. They both start with a parameter z. It uses an iteration process in which this parameter z is squared and a constant c is added to it. You then take this new value, or z(2) and follow the same process. The iteration process is repeated until the result shoots off to infinity, or a constant limit is reached. A more illustrative way to picture this process is shown below.
z → z2 + c
     The actual fractal image is using starting values of your parameters and the constant chosen to use for your set. Each constant has a real and complex piece. For Julia Sets the constant remains the same throughout the fractal plot, what varies is the starting parameter z. To create the image a plot is placed at each pixel, or starting parameter. This point is determined using the starting parameter, where the x coordinate is the real portion of the number and the y coordinate is the imaginary part of the number. The color of these points is determined by the number of iterations it takes to get the “iterated z” outside a circle of radius 2 around the origin. The number of starting values or points you choose to use, dictates the detailed image you will receive.
      The Julia set that I chose to create and print is the Julia set that uses the constant c=-0.8+0.156i. The Julia Set fractal image can be seen above. Without the use of a multi-colored printer, not only did my Julia Set have to be in three dimensions it also had to be in one color. Therefore the number of iterations to get out of this circle of radius 2, could no longer be represented by different colors. Instead using Mathematica I created a Julia Set that represents iteration differences of differing points with height. The code used to create this is fairly straight forward. To create a visualization of the Julia Set itself and a representation of the fractal image I used the command JuliaSetPlot, specifying the constant within brackets and that I wanted the plot legends to be automatic. The command and resulting image produced in Mathematica are shown below.
 

        The last step needed to create a 3D print worthy object is to create this elevated image of the Julia Set using the Mathematica command using a ListPlot3D command and a JuliaSetIterationCount which spits out a number of iterations of the set specified in the function. The two commands together creates this Julia Set represented with height instead of color, but also creates a similar superior image overall to the image seen above. The specificities of this command can be seen below. The last step is then to export this file as a .stl so it can be exported in Makerbot and ready to print. One important specificity to add to my Mathematica code was the internal command Filling->Bottom within the ListPlot3D command itself. Otherwise the 3D structure is hollow and does not have a stable flat bottom since it is continuously raised up. This command fills the object all the way to the base so it is no longer hollow and has a flat, level base. The finished printed 3D object after all of this is done can also be seen below.

       Other last minute facts to consider when trying to print something similar is to make sure your height in the z direction is large enough for the smallest/shortest parts of the object to stably be printed. Originally the parts with the smallest amount of iterations (around the edges) were less than a millimeter in height which would have been difficult to remove from the build plate itself without breaking. Uniformly scaling the whole thing would have created a large object, with a long print time. Instead, making sure it’s not set to uniform scaling and just increasing the height still allows the width and length of the object to stay the same and just the height to change which has less effect on overall print time. If you are looking for a print around 4 hours, mine took a total of 4 hours and 19 minutes with 11 centimeters in length, almost 6 centimeters in width and 3 centimeters in height. The 5th generation printer was used with no rafts, no support and 0.25mm layer height. The only problems occurring with the print was slight warping due to the light load on the edges of the object itself and the inability for it to stick to the tape/build plate, as well as having some of the tape stick to the object when attempting to remove it from the build plate after the print was complete. Overall, the print was successful.










No comments:

Post a Comment