Final Presentation Comp8780 v2.0 -...

14
1 Final presentation Comp8780 iMondrianDrawer : Implementation of Mondrian Drawer for iPhones Supervisor Professor Tom Gedeon HyeJa (Grace) Seong U4823441

Transcript of Final Presentation Comp8780 v2.0 -...

Page 1: Final Presentation Comp8780 v2.0 - courses.cecs.anu.edu.aucourses.cecs.anu.edu.au/courses/CS_PROJECTS/11S2... · Final presentation Comp8780 iMondrianDrawer: Implementation of Mondrian

1

Final presentation Comp8780

iMondrianDrawer : Implementation of Mondrian Drawer for iPhones

Supervisor Professor Tom Gedeon

HyeJa (Grace) SeongU4823441

Page 2: Final Presentation Comp8780 v2.0 - courses.cecs.anu.edu.aucourses.cecs.anu.edu.au/courses/CS_PROJECTS/11S2... · Final presentation Comp8780 iMondrianDrawer: Implementation of Mondrian

2

Motivation

Piet Mondrian (1872-1944), a Dutch Neo-Plasticistpainter, used abstract images following a simple set of rules.

Many painters and architects are adopting the Mondrian styles

Composition with Red, Yellow and Blue 1921, by Piet Mondrian [1]

Page 3: Final Presentation Comp8780 v2.0 - courses.cecs.anu.edu.aucourses.cecs.anu.edu.au/courses/CS_PROJECTS/11S2... · Final presentation Comp8780 iMondrianDrawer: Implementation of Mondrian

3

Motivation: Industrial Designs

Page 4: Final Presentation Comp8780 v2.0 - courses.cecs.anu.edu.aucourses.cecs.anu.edu.au/courses/CS_PROJECTS/11S2... · Final presentation Comp8780 iMondrianDrawer: Implementation of Mondrian

4

MondrianDrawer Project at ANU

Initially developed by two students at the ANU for Human Computer Interface (HCI) since 2007 using Jython (2007) Java (2008)

My objective was to implement the Mondrian drawer as an iPhone App by transfering & updating the existing libraries.

Page 5: Final Presentation Comp8780 v2.0 - courses.cecs.anu.edu.aucourses.cecs.anu.edu.au/courses/CS_PROJECTS/11S2... · Final presentation Comp8780 iMondrianDrawer: Implementation of Mondrian

5

MondrianDrawer for iPhone

Development Environment Objective-C programming Xcode IDE & Mac OS iPhone Simulator/real iPhone

Tasks Conducted Transferring libraries into Objective-C Verifying algorithms Building user interfaces for iPhone

Page 6: Final Presentation Comp8780 v2.0 - courses.cecs.anu.edu.aucourses.cecs.anu.edu.au/courses/CS_PROJECTS/11S2... · Final presentation Comp8780 iMondrianDrawer: Implementation of Mondrian

Rules for “Mondrian-like” Drawing

Simple rules defined by McManus et al. (1993) 1) Solid white background2) All lines are horizontal or vertical, and

either extend to the image boundaries or terminate in the middle of another line

3) All rectangles enclosed by lines have red, blue or yellow colour

6

Page 7: Final Presentation Comp8780 v2.0 - courses.cecs.anu.edu.aucourses.cecs.anu.edu.au/courses/CS_PROJECTS/11S2... · Final presentation Comp8780 iMondrianDrawer: Implementation of Mondrian

Initialisation & Imaginary Line Generation

7

Page 8: Final Presentation Comp8780 v2.0 - courses.cecs.anu.edu.aucourses.cecs.anu.edu.au/courses/CS_PROJECTS/11S2... · Final presentation Comp8780 iMondrianDrawer: Implementation of Mondrian

Add Line Segments

8

(c) (d)

Add 1st Line Add 2nd Line

Page 9: Final Presentation Comp8780 v2.0 - courses.cecs.anu.edu.aucourses.cecs.anu.edu.au/courses/CS_PROJECTS/11S2... · Final presentation Comp8780 iMondrianDrawer: Implementation of Mondrian

Filling Colours

9

Add 3rd Line Fill Colours

Page 10: Final Presentation Comp8780 v2.0 - courses.cecs.anu.edu.aucourses.cecs.anu.edu.au/courses/CS_PROJECTS/11S2... · Final presentation Comp8780 iMondrianDrawer: Implementation of Mondrian

Making more Mondrian-like Drawing

Incorporate human assessment feedback.

Evolutionary Algorithm: Natural selection idea, which iteratively eliminates less good individuals and preserves better ones.

As a consequence, all individuals (Mondrian image) within the system tend to be better after several generations.

10

Page 11: Final Presentation Comp8780 v2.0 - courses.cecs.anu.edu.aucourses.cecs.anu.edu.au/courses/CS_PROJECTS/11S2... · Final presentation Comp8780 iMondrianDrawer: Implementation of Mondrian

Making more Mondrian-like: Evolutionary Algorithm

11

Random changes yielding a new candidate solution

Recombine elements of existing population

most fit candidates of the population survive

Page 12: Final Presentation Comp8780 v2.0 - courses.cecs.anu.edu.aucourses.cecs.anu.edu.au/courses/CS_PROJECTS/11S2... · Final presentation Comp8780 iMondrianDrawer: Implementation of Mondrian

Objective-C

Between C and C++ Developed in Apple

Most MondrianDrawer Java Libraries have been transferred to Objective-C

Issues: iterable, comparable, observable, hash map are not supported in current version Need to be implemented!

12

Page 13: Final Presentation Comp8780 v2.0 - courses.cecs.anu.edu.aucourses.cecs.anu.edu.au/courses/CS_PROJECTS/11S2... · Final presentation Comp8780 iMondrianDrawer: Implementation of Mondrian

Demo on iPhone Simulator

13

Page 14: Final Presentation Comp8780 v2.0 - courses.cecs.anu.edu.aucourses.cecs.anu.edu.au/courses/CS_PROJECTS/11S2... · Final presentation Comp8780 iMondrianDrawer: Implementation of Mondrian

Conclusions and Future Work

Basic functionalities of Mondrian Drawer have been demonstrated successfully on an iPhone simulator

Testing on a real iPhone requires license fee

Some C++ features such as iterators need to be coded from the scratch

Current codes need optimisation for iPhone.

14