CompSci 108 : Fall 2009

Team Van Gogh
Scott Ings
Megan Heysham
Kevin Jang


Picasso Project

Picasso v 1.0 Project Artifact

Picasso v 2.0 Final Project Artifact

Project Vision
Our goal is to create a sophisticated GUI that allows the user a variety of options, specifically saving a history of expressions, viewing multiple images, viewing defined variables, and zooming. We are also really interested in the idea of generating expressions rather than entering them manually, either randomly or based on string or collection of known expressions.

Issues
- Some of the extentions are either vague or complicated, especially dealing with generating expressions, will probably require further research.
- Resizing images seems like it may be a little complicated.

Envisioned Classes
- Already implemented Arithmetica classes - Parser, Expression, ExpressionFactory, BinaryExpression, UnaryExpression, VariableExpression, ParenthesesExpression, ConstantExpression
- Color class, representing a color object, values for RGB
- Image class, a collection of Color objects, with the number of objects based on the size of the image
- Viewer class - control GUI
- Model class - maybe expanded from the Arithmetica Parser class
- FunctionExpression class - extend Arithmetica to allow for multi-argument functions
- We expect to use a variety of other classes to implement the various extensions.

Arithmetica Implementation
We decided to use Scott's Arithmetica implementation as the basis of our project. We feel that it is easily extendable to include the additional requirements for this project, notably for multi-argument functions.

Very Rough (and Hopeful) Time Estimation
- Extend Arithmetica to allow for Color expressions, multi-argument functions, the additional unary functions, and file name strings. Est. Time = 3 hours
- Create basic GUI, allows for load/save images, text input of expressions from user, displays image. Est. Time = 4 hours
- Start on extentions involving generating new expressions. Est. Time = 10 hours (unsure about this, we need to do further research)
- Extend GUI to show history of old expressions, view multiple images, view defined variables, zoom. Est. Time = 6 hours