Project 1: Fractal Implementation

Due date: Sunday September 30th 10:00 PM

For your first project you will create a Fractal viewer. The fractal viewer will show multiple fractals and display them in different color schemes. You must implement at least two different fractals and three different color schemes. One of those fractals must be a Mandelbrot fractal.

The Mandelbrot Set is a common fractal, that you have likely seen many times. If not, feel free to familiarize yourself with it: MathWorld, Wikipedia. There are easily hundreds of online resources explaining and exploring the Mandelbrot fractal. There are also hundreds of code examples. Try not to use these, instead understand how the rendering works, look at pseudocode and explanations online. If you don't understand, ask me!

You must implement a second fractal type. This should be a variant of the Julia Set. It should look like one of these. For more information on the Julia Set, again see MathWorld. You should include in your code comments the value of c that you have selected for your rendering.

Your program should execute as follows:

java FractalApp [ fractal-type [ color-scheme [x-view y-view width height] ] ]

All six of these arguments will be optional.
If no fractal-type is supplied the default Mandelbrot should be used.
If no color-scheme is supplied one of your color schemes should be selected as the default.
Your program should expect all four numerical window coordinates, or none. The default should be: -2 -2 6 4

For example, assuming you have a color-scheme designated as green, your program should correctly run with the following commands (and more!):

java FractalApp
java FractalApp mandelbrot green
java FractalApp julia green
java FractalApp mandelbrot green -1 -2 50 10
java FractalApp mandelbrot green -2.1 -1.3 3 2

The last of these commands is displayed below

mandelbrot in green

You must provide me with the correct Strings to call your color schemes (e.g., green, grayscale, rainbow)

Remember, we (myself and the TAs) are here to help. Ask us questions, explore online resources, find solutions.

Starter download: Fractal.zip, 4 files.

Grading

What should you turn in?

At least six java files: And at least one readme file, ideally named readme.txt. Inside this file, please put in the following format: (one per line)
Sets:
nameofSet
nameofSet
Color:
scheme
scheme
scheme
where nameofSet is each set name which is valid (CASE IMPORTANT) and scheme is each valid color scheme for them (CASE IMPORTANT). Also include somewhere in this file, not on those lines, your name, and the constant value you picked for your Julia set.

Please zip this up and email it to both the TAs account and also my account pgk@cs.unm.edu

Updates

Updated description of what you should turn in.

Frequently Asked Questions

None yet.