Here are my Honours Projects for 2011-2012.
IMPORTANT: Please come and see me regarding any project you intend doing before
selecting that project.
Interested in computer graphics? Most of the projects listed have a strong graphics component. Please come and talk with me if you would like to know more.
In recent years, a number of programming languages and development environments have become popular tools for making generative audio and visuals (e.g. Processing, ContextFree, VVVV, Supercollider, Chuck). Some are custom languages, others language extensions or modifications to traditional programming languages, such as Java. In most cases, these languages are targeted to either audio (Supercollider, Chuck) or 2 and 3d graphics (Processing, VVVV). It is highly uncommon to see a language that integrates sound and image in a temporal paradigm.
The aim of this project is to design an experimental (and esoteric) programming language to support the simultaneous real-time synthesis of images and sound. The language should be fundamentally temporal (i.e. capable of representing and programming time as a first class entity) and link the synthesis of graphics and sound as part of its operator set. Efficiency and creativity of expression are the two primary issues to be considered in the language's design.
To do this project, you should have had some experience with language design and implementation: lexical analysis, parser generators, etc. There is also an opportunity to gain performance advantages using GPU programming (e.g. the CUDA environment).
Creative software applications, such as virtual music synthesizers have complex user interfaces, often with hundreds of parameters to control (see this for example). The user manipulates these parameters in order to control the software. 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. 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. A number of dimensionality reduction techniques can be used, such as MDS or Isomaps. A different approach is to represent points in parameter space using Voronoi diagrams. The interface should be able to dynamically adapt based on feedback from the user of the system.
Generalised cylinders are a geometric modelling method, originally developed for use in computer vision. For this project we wish to apply them to the modelling of organic structures for 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 rendered). Constructing compound surfaces is very useful for modelling organic structures such as branches, leaves, tentacles, veins, shells, etc., as this image (below) illustrates. The image is procedurally generated using generalised cylinders.
![]() |
The challenge for this project will be to create a software system to assist in the automated construction of such 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 should be written in C++ and OpenGL. You should have successfully completed FIT3088 Computer Graphics (or equivalent) in order to work on this project. |
Preliminary Reading:
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)
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.
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.
Can a machine make something that we would consider art? This project will investigate models of artistic creativity, ideally culminating in a software program that can produce "novel and appropriate" artistic results. There have been many famous models and programs that supposedly demonstrate creativity (e.g. Harold Cohen's AARON). The project will require interest in a number of domains: philosophy, computer science, art. You don't have to know about all these areas to do the project, but you'll need to be open to finding out more about them. The practical research for the project will focus on developing drawing machines (either real or virtual), an gradually imbuing them with their own autonomous creativity.
Preliminary Reading:
J. McCormack: Facing the Future: Evolutionary Possibilities for Human-Machine
Creativity, in P. Machado and J. Romero (eds.) The Art of Artificial
Evolution: A Handbook on Evolutionary Art and Music, pp. 417-451, Springer, 2008
J. McCormack: Open Problems in Evolutionary Music and Art, in F. Rothlauf et al. (eds), Lecture Notes in Computer Science, Vol 3449 [Proceedings of Applications of Evolutionary Computing, (EvoMUSART 2005), Lausanne, Switzerland, 30 March - 1 April 2005], Springer-Verlag, Berlin, Germany, ISSN: 0302-9743 & ISBN: 3-540-25396-3, pp 428-436.
Fugu is new software for the scripting of mesh-based form, developed at Monash. It allows users to rapidly design animated, growing organic forms by writing simple scripts (using the Lua programming language). In this project you will extend the software to enable it to model more complex organic forms, by extending the range and type of "mesh operators" (simple commands that modify an underlying triangular mesh) and building more complex operations using Lua. A strong interest in computer graphics, along with some experience in C++ programming is important for this project.
| Past Projects: | Honours Projects 2009-10 |