Updated 9/30/09 - See Artifact page

Team Polymorphism


Dean Chen, Daphne Ezer, and Alex Galonsky

Responsibilities

Dean Chen

Primary
  • GUI
  • Connect GUI to our implementation
Secondary
  • Planning implementation of extensions

Daphne Ezer

Primary
  • Parsing colors, making previous program interact with the color generation class
Secondary
  • Adding size function

Alex Galonsky

Primary
  • Color class
  • Generating the image
Secondary
  • 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

  1. Basic specifications
  2. Generate expressions
  3. Fractals
  4. 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