JON McCORMACK::HONOURS PROJECTS::2014

Here are my Honours Projects for 2014. Projects are based around topics in computational creativity, agent-based modelling, evolutionary computing, computer graphics and digital music. If you are interested in these areas please come and talk with me if you would like to know more.

IMPORTANT: Please come and see me regarding any project you intend doing before selecting that project.

Current Projects: > 4D Printing
  > Generative design of spatial patterns
  > Computational Models of Creativity
  > Interaction and Collaboration in Virtual Space
  > Parameter Mapping for Complex User Interfaces
  > Inference of Musical Networks
4D Printing (24 point project)
Jon McCormack

4D Printing is a special kind of 3D printing, designed to fabricate physical 3D objects that can change and self-assemble after they are printed. One application is for printing objects with a large surface area within the limited print volume of current 3D printers. The aim of this project is to devise software that uses physics simulation and constraints to correctly "fold" large connected objects and surfaces so they can be printed. There will also be opportunities to experiment with self-assembling structures generated algorithmically. Access to 3D printing facilities will be provided so you can test and print your generated models.

URLs and bibliographic references to background reading
[1] Skylar Tibbits: The emergence of "4D printing" (TED Talk)
[2] Nervous System, Kinematics (Web site)

Pre- and co-requisite knowledge and units studied
Successful completion of FIT3088 Computer Graphics or equivalent.


Generative design of spatial patterns (18 or 24 point project)
Jon McCormack (FIT) and Tim Schork (MADA)

Digital technologies have radically changed the possibilities for design and architecture. This project will use generative and procedural techniques in computer graphics to generate two- and three-dimensional spatial patterns, and then apply them to problems in architecture and design.

For the project you will build a software application that can be used by architects and designers as a source of inspiration and as the basis for creating interesting new designs. Generative design is a powerful technique that uses a process or algorithm to build a design. By changing algorithm parameters, variations within a design space can be readily explored on a computer. We can even use techniques such as artificial evolution, to discover new designs that are difficult or impossible to discover manually. Completed designs can be made into physical objects via 3D printing technologies.

Spatial patterns can be generated using various modes of symmetry, based on parameterised processes of repetition and variation. Stochastic techniques, such as Perlin noise, can provide visually interesting variation, breaking the geometric formalism normally associated with computer designs. In addition to solving technical challenges in computer graphics and interaction, this project will also require you to research different cultural interpretations of spatial patterning, in particular understanding Japanese and Asian traditions of pattern making inspired by nature.

The project will be co-supervised with Tim Schork from the Department of Architecture and there will be opportunities to work in collaboration with architecture students as you develop the system.

URLs and bibliographic references to background reading
[1] Liotta, S-J A. and M. Belfiore, Patterns and Layering: Japanese Spatial Culture, Nature and Architecture, Gestalten, 2012
[2] Stevens, P.S., Handbook of Regular Patterns: An Introduction to Symmetry in Two Dimensions, MIT Press, 1980
[3] Ebert, D.S. et al., Texturing and Modeling: A Procedural Approach (3rd edition), Morgan Kaufmann, 2002
[4] Akenine-Moller, T. et al., Real-Time Rendering (3rd edition), A K Peters/CRC Press 2008

Pre- and co-requisite knowledge and units studied
Successful completion of FIT3088 Computer Graphics or equivalent. An interest in design or architecture would be an advantage.


Computational Models of Creativity (18 or 24 point project)
Jon McCormack

Niche Constructions
Can a machine independently generate something that we would consider artistic or creative? This question goes back to the origins of computer science. Lady Lovelace famously declared in 1842 that the machine only has the ability to do what we tell it to do, it cannot "originate anything". Does creativity reside only in the programmer, not the program? There have been many famous models and programs that supposedly demonstrate machine creativity, such as Harold Cohen's AARON (an automated painter) and David Cope's EMI (a program that composes music). Early efforts in Artificial Intelligence seemed to forget about creativity, instead focusing on logical problem solving, but in more recent times understanding creativity has become an important focus in AI.

In this project you will investigate and devise computational models of creativity. The basis for investigations will be an agent-based model, where a population of creative agents try to produce artifacts that are novel, surprising and valuable. These artifacts will be judged by a separate group of critic agents. Both creative and critic agent have the ability to learn and evolve, so over time we should expect a co-evolutionary "arms race" as both creative and critic agents try to improve. By studying the model we hope to observe and understand creative phenomena, such as the origin of good ideas and study how they spread through a population.

URLs and bibliographic references to background reading
[1] McCormack, J. Pablo eCasso? In search of the first computer masterpiece, The Conversation 15 November 2012
[2] McCormack J. and M. d'Inverno, Computers and Creativity, Springer, Berlin 2012
[3] Boden, M., Creativity and Art: Three Roads to Surprise, Oxford UP, 2010


Interaction and Collaboration in Virtual Space (18 or 24 point project)
Jon McCormack

With many new technologies now available for experiencing virtual space, such as the CAVE 2 and Oculus Rift, attention is increasingly turning to how to interact and collaborate in a virtual environment. With a device such as the rift things are quite problematic because the user can't see their own body, making any interactive manipulation difficult. The aim of this project is to develop a prototype system that allows two or more people to remotely interact in a shared virtual world. Interaction would include things such as moving and manipulating virtual objects using simple gestures, navigation and movement, and voice recognition. Students working on this project will have access to the Oculus Rift (developer version) along with a variety of interactive devices.

URLs and bibliographic references to background reading
[1] Brenda Laurel, Computers as Theatre (2nd Edition), Addison-Wesley 2014.

Pre- and co-requisite knowledge and units studied
Good basic knowledge of computer graphics and an interest in interaction design.


Parameter Mapping for Complex User Interfaces (18 or 24 point project)
Jon McCormack

Creative software in areas such as 3D animation or digital music synthesis can be difficult to operate, even for experienced users. People are often looking for highly specific results by adjusting tens or even hundreds of parameters (see this interface for example) to get the desired result. This usually requires thousands of hours of practice with the software to really understand not only how it works, but how to get the desired results. This approach has several problems: the user must learn a complex interface; there are too many parameters to control at once; it is difficult to judge the state of the system in the visual field; interpolation between different parameter sets is very difficult. Is there a better way?

The aim of this project is to investigate new forms of adaptive interfaces, where manipulation of one parameter changes many different parameters in a coherent way. To make things easier for the user we need to reduce a high-dimensional parameter space (10-100 control parameters) to a low-dimensional space (2-3 dimensions) that can easily be visualised and interacted with. The interface should be able to dynamically adapt based on feedback from the users of the system. If one user finds an interesting point in the parameter space this can be shared with others, over time leading to a map of the creative space of the system, somewhat similar to recommender systems found in on-line music or book stores, for example.

The challenge of this project is to develop an intuitive interface that exploits the graphics capabilities of modern GPUs.

URLs and bibliographic references to background reading
[1] Tenenbaum, J.B., V. de Silva and J.C. Langford, A Global Geometric Framework for Nonlinear Dimensionality Reduction, Science 290 (5500): 2319-2323, 22 December 2000
[2] Bencina, R., The Metasurface – Applying Natural Neighbour Interpolation to Two-to-Many Mapping, Proceedings of the 2005 International Conference on New Interfaces for Musical Expression (NIME05), Vancouver, Canada, 2005

Pre- and co-requisite knowledge and units studied
Successful completion of FIT3088 Computer Graphics or equivalent. A good understanding of relevant mathematics (linear algebra, calculus) would be advantageous.


Inference of Musical Networks (24 point project)
Jon McCormack
 
Nodal Screen Shot

Nodal is a new type of software for composing music, developed at Monash and sold commercially. Nodal uses a user-created network of nodes (musical events) and edges (transitions between events) to create a generative musical system. A number of virtual players traverse the network, playing the notes they encounter in each node as they move around. Different players can start from different points on the network and the physical edge length determines the time between events (you can think of it as players traveling at a constant speed so the greater the edge distance from one node to the next, the longer the time between playing notes. You can find out more about Nodal (including a free trial download) here.

Nodal saves and loads networks in an XML format. The aim of this project is to read and analyse music recorded in sequential notation (e.g. encoded as a standard MIDI file) and try to intelligently convert it into a Nodal network. The trick, of course, is in the "intelligently" bit. The method you develop must be able to look for repeated sequences, create efficient network structures and make musically meaningful distinctions between different parts of the sequential input (WARNING: this is not a trivial problem). So this project is somewhat related to information compression, with the additional constraint of retaining the musical and performance features of the source material.

URLs and bibliographic references to background reading
[1] J. McCormack and P. McIlwain," Generative Composition with Nodal", in E. R. Miranda (ed): A-Life for Music: Music and Computer Models of Living Systems, A-R Editions, Inc. Middleton, Wisconsin, 2011, pp. 99-113

Pre- and co-requisite knowledge and units studied
Some basic musical knowledge or background in music (yes - playing the guitar is ok!) will be necessary to complete this project.

 


 

Past Projects: Honours Projects 2013