Updated 9/30/09 - See Artifact page
Same classes as the Arithmetica implementation plus
Team Polymorphism
Dean Chen, Daphne Ezer, and Alex Galonsky
Responsibilities
Dean Chen
Primary- GUI
- Connect GUI to our implementation
- Planning implementation of extensions
Daphne Ezer
Primary- Parsing colors, making previous program interact with the color generation class
- Adding size function
Alex Galonsky
Primary- Color class
- Generating the image
- Updating the website
Vision for the Project
The vision for our project is to create an easy to use interface that lets the user map the x and y coordinates of an image to a certain color, based on their input. Our goal is to make an easily extendable piece of software with all the necessary functionality.
Priority of Extensions
- Basic specifications
- Generate expressions
- Fractals
- Improve the GUI
- Displaying Variables
- Saving History of Expressions
- (x, y) Coordinate of Mouse
Issues
- What happens if the function can’t evaluate at a specific point?
- How are we going to make the colors between -1 and 1?
- Do we want x and y variables to be special variables? Should we allow the user to assign x and y?
Envisioned Classes
Same classes as the Arithmetica implementation plus
- Viewer (interface): contains functions that interact with the behind the rest of the program
- Color: a small class that can contain three expressions for R G and B
- ImageGenerator: takes in a function and generates an array of colors... also in charge of changing size and other properties of the image
Justification of Choice of Arithmetica Code and Necessary Changes
We intend to use most of Daphne's code, because she was the only person who implemented multi-parameter functions and her parser can be easily amended to parse the bracket-comma structure of a Color. The current parser has distinct parsing code in the OpenGroup and CloseGroup that would be the same as the code in an OpenBracket and CloseBracket classes. This code should be refactored out.
Estimates
Dean Chen
- Reading documentation for GUI: 2 hours
- Implementing the GUI: 6 hours
Daphne Ezer
- Planning out what to do: 2 hours
- Adding colors to the parser: 3 hours
- Change the size: 3 hours
- Debugging: 2 hours
Alex Galonsky
- Create the Color class and normalize elements: 1 hour
- Create a flexible data structure for the pixels: 1 hour
- Fill structure with colors from evaluated expressions: 5 hours