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