Assigned Date: Friday, Mar. 2, 2018
Due Date: Friday, Mar. 9
Due Time: 30 mins before class
Last modified on March 02, 2018, at 11:57 AM (see updates)
Write a Jython program that recreates an existing piece of art (your choice).
You may select a minimal, abstract piece of art, or a more traditional one (Google is your friend). You should avoid something overly complex (e.g., the Mona Lisa), but you could recreate it in less detail.
- Find an interesting piece of art on the web.
- On a piece of paper, design what GUI elements (lines, circles, icons, labels, etc.) you need to recreate it. Write down their points, like we did in class...
Remember: 2 hours of design can save you 20 hours of code.
- Write the program that does it.
The piece should contain at least seven GUI elements.
Your goal should be to dazzle us.
Your header documentation should mention the name of the piece of art, the original creator's name (and in parentheses, the years (s)he lived, e.g., 1820-1918).
Also, include the URL where you found the image.
Also, follow documentation instructions from Homework 1.
You will submit your assignment by both handing in a printout in class, and online via OAKS.
Be prepared to demonstrate your program in class.
Do all of the following:
- Hand in a printout in class on the due date. This should consist of:
- your Python program,
- the image of the original piece of art you chose to recreate, and
- the image generated by your program.
- Upload the same on OAKS. There should be three files in your submission (your program, and two images). Use meaningful names, e.g.,
- monalisa-original.jpg, and
- Be ready to demo your program in class.
Your grade will be based on how well you followed the above instructions, and the depth/quality of your work.
This assignment has the following objectives:
- Understand color, shapes, 2D-coordinate space, and displays.
- Create interesting pieces of art usinf the GUI library of JythonMusic
- Apply numeric and string data types to represent graphical information.
- Use predefined classes in program development (object-based programming).
- Construct a long program that accomplishes a certain goal.