JON McCORMACK::HONOURS PROJECTS::2013

Here are my Honours Projects for 2013. 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 plase 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: > Generative design of spatial patterns
  > Computational Models of Creativity
  > Advanced Modelling with Generalised Cylinders
  > Parameter Mapping for Complex User Interfaces
  > Inference of Musical Networks
Generative design of spatial patterns (18 or 24 point project)
Jon McCormack (FIT) and Tim Schork (MADA)
Project-id: JMC01

Digital technologies have radically changed the possibilities for design and architecture. In this project you will learn how to 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.

In this 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 Eastern 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
Project-id: JMC02

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 programer, 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 artefacts that are novel, surprising and valuable. These artefacts 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


Advanced Modelling with Generalised Cylinders (18 or 24 point project)
Jon McCormack
Project-id: JMC03

Generalised cylinders are a geometric modelling method, originally developed for use in computer vision, but also widely used in computer graphics. The basic principle for creating a generalised cylinder is to define a series of cross-sectional profiles, possibly of varying shape and size, and distribute them over some continuous curve, known as the carrier curve. The cross-sections are connected to form a continuous surface. Sounds easy, but there are a number of important issues that need to be addressed to ensure that the geometry defined by the cylinder is legal (i.e. can be correctly rendered). Constructing compound surfaces is very useful for modelling organic structures such as branches, leaves, tentacles, veins, shells, etc., as the image below illustrates. The image is procedurally generated using only generalised cylinders.

Model created using generalised cylinders The challenge for this project will be to create a software system to assist in the automated construction of organic models using generalised cylinders. The system will also have to deal with managing geometric complexity and geometric output in a variety of formats (e.g. real-time, offline rendering). The software for the project will be written in C++ and OpenGL. This project will build on an existing implementation by an honours student in 2011. An important goal will be being able to visualise and interact with the generalised cylinders using geometry shaders to perform real time tessellation in the GPU.

URLs and bibliographic references to background reading
[1] McCormack, J. 2004, Generative Modelling with Timed L-Systems, in Gero, J.S. (ed) Design Computing and Cognition '04, Kluwer Academic Publishers, Dordrecht. pp. 157-175. (Hargrave Library reference: H 620.00420285 I61.4D 2004)
[2] Prusinkiewicz, P., L. Mündermann, R. Karwowski & B. Lane 2001, The Use of Positional Information in the Modeling of Plants. Proceedings of SIGGRAPH 2001 (Los Angeles, California, August 12-17). In Computer Graphics (Proceedings) Annual Conference Series, ACM SIGGRAPH, pp. 289-300.
[3] Mech, R., P. Prusinkiewicz & J. Hanan 1997, 'Extensions to the Graphical Interpretation of L-Systems Based on Turtle Geometry', Technical Report, No. 1997-599-01, April 1, 1997. University of Calgary, Calgary, Alberta Canada.
[4] Wetter, J. Generalised Cylinders with Application to Developmental Modelling, Monash University Honours Thesis, 2011

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.


Parameter Mapping for Complex User Interfaces (18 or 24 point project)
Jon McCormack
Project-id: JMC04

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
Project-id: JMC05
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 2009-10
Honours Projects 2008
Honours Projects 2007
Honours Projects 2006
Honours Projects 2005
Honours Projects 2004
Honours Projects 2003