Homework 2A
Short Description:
Write a program that will produce a fractal.
This assignment is worth 50 points.
Goals
When you finish this homework, you should
- Begin to create computer graphics.
- Debug a program involving graphics.
- Write a program involving Basic OpenGL commands.
Formal Description
Write a program which will produce a fractal which can be formed by replacing lines in an existing figure with a pre-defined pattern. The dragon curve is one of many different examples such a fractal. Many are pictured on this page.
I would stick with 2-D figures for now. In the future we will be able to produce three dimensional objects, which we can then manipulate in 3-space. We are not ready to do this yet however.
Your program should support the following key presses
- R - draw the figure in red.
- G - draw the figure in green
- B - draw the figure in blue
- b - draw the figure in black.
- d - go one iteration further in fractal replacement.
- r - reset, go back to level 0, display your base case, in black
- q - quit, exit the program
- a - animate from the previous iteration to the current iteration
- A - animate from the base case to the current iteration.
Discussion
- Feel free to add additional "cool" features, be sure to document these in your README.
- Please use glBegin() and glEnd() to implement this project.
Required Files
Your code, a Makefile, and a README file.
The README file should contain personal information (your name, email, ...)
as well as a description of the assignment. It should discuss the algorithms and data structures you employed in accomplishing the assignment. You should
also discuss any unique features contained in your program, problems
with the program, and special instructions for compiling or using your program.
If you wish to provide feedback on the assignment, ask questions, or compose
poetry, this is probably the place to do it.
Submission
You should email tar file as an attachment to a message to danbennett360@gmail.com. This tar file should contain all of the source code required to generate your project, a Makefile, and the README file.