homepage | |||||||||||||||
|
courses : past honours theses (2000 - 2004) |
||||||||||||||
Project:
Landscape Generation with L-Systems Supervisor: Jon McCormack |
|||||||||||||||
|
L-systems are string re-writing grammars often used as the basis for generating complex geometric models of plants. In recent years research has turned to the generation of large-scale population models (see images below), where various species are distributed over landscapes. This project aims to investigate different population dynamic models for species distribution over procedurally generated landscapes. For example species may be distributed by soil conditions, altitude, climate, etc. Students wishing to do this project must have successfully completed CSE3313 Computer Graphics (or the equivalent of this course).
|
||||||||||||||
Project: Autonomous
Drawing Agents Supervisor: Jon McCormack & Alan Dorin |
|||||||||||||||
|
In this project you will investigate systems that learn to draw simple pictures. A number of approaches are possible: turtle drawing systems which move about in 2 dimensions with coloured pens attached. The turtle is controlled by an evolvable finite state automata. Turtle agents may evolve to produce more "interesting" drawings. A key question here is what constitutes a more interesting drawing? An alternate investigation might use a collection of programmable cells, which replicate and self-organize to create more complex global structures. The same question still applies — how can we make autonomous systems that will produce interesting (creative, novel) pictures?
|
|
|||||||||||||
Project: Functional
Music Supervisor: Jon McCormack (& Lloyd Allison) |
|||||||||||||||
|
The project is to create methods to discover pattern and structure in music and to answer questions such as: What are the themes and variations in a musical score? Given two musical scores are they related? Given a midi file, to what extent can the original score be recovered? Can we infer a model that will create music in the style of X, or can we "cross-fade" or "mix" models of X and Y to get a new composition? Musical ability is not strictly necessary but an interest in music is important and a (basic) knowledge of musical notation will be useful. The project will use the Haskore [ http://haskell.cs.yale.edu/haskore/ ] notation and system but an open mind is much more important than experience in functional programming. Read this: http://cogprints.ecs.soton.ac.uk/archive/00001771/00/Perception73.pdf Potential candidates must talk to the supervisor(s) first.
|
||||||||||||||
Project: Aperiodic
Tiling Supervisor: Jon McCormack |
|||||||||||||||
|
The aim of this project is to investigate the applications of aperiodic tiling for computer graphics and animation. Tiling strategies are useful for generating complex texturing and geometric information from very small data sets. An interesting application for aperiodic tiling is in the generation of complex animation data, tiling the patterns in time rather than space. One challenge for creating tiles is to position components on each tile correctly, this is usually achieved by an interactive editor which shows individual tiles' image to be edited and the resultant composite tiling pattern to be see simultaneously.
|
|
|||||||||||||
Project:
Dramatic Landscapes Supervisor: Alan Dorin |
|||||||||||||||
|
Erosion and deposition of particles produces a dramatic range of natural landscapes at many different scales. From sweeping sand dunes, to tiny ripples in the silt of a stream bed, from massive glacial ravines, to delicate tendrils of snow attached to a branch or ice-crystals hanging dagger-like beneath an overhanging boulder. This project aims to model these phenomena using simple particle-system, DLA and/or cellular automata models in order to synthesize complex landscapes and terrain. Prior to commencing this project, students should research basic geographic structures and the means by which they are formed, paying particular attention to examples in which erosion and deposition of particles plays a part. Sample areas of introductory reading include the movement of wind, liquid water, snow and ice over the landscape and the effect of these on the formation of geographical features such as sand dunes and ripples, mountains, valleys, ravines and canyons and so forth. The project will require basic computer graphics knowledge and a proficiency in C/C++ programming. Students intending to complete this project will need to take the course: Advanced Topics in Graphics (CSC450).
|
|
|||||||||||||
Project:
Cenotaph for Isaac Newton Supervisor: Jon McCormack |
|||||||||||||||
|
This is an unusual type of honors project: the aim is to reconstruct a detailed model of French architect Boullée's classic building Cenotaph for Isaac Newton. "Étienne-Louis Boullée (1728 –1799), like his contemporaries such as Ledoux, designed private residences in the Neoclassic style. He is chiefly remembered today, however, for drawings of visionary projects that were considerably beyond eighteenth-century technology. In these designs, made between 1780 and 1790 and rediscovered in the twentieth century, Boullée worked in an abstract style that seems ultra modern, even utopian. His Cenotaph for Isaac Newton, designed in 1784, is based on Roman monumental tombs, which were stepped and planted with trees. What would have been a hemispherical dome in a Roman tomb has been projected into a gigantic sphere. The interior was to have been empty, except for Newton's sarcophagus, with illumination provided by hundreds of small holes piercing the spheres fabric to represent the starry heavens" (From Stokstad, 1995). Boullé's plans were too technologically complex to be realised at the time, but can today be reconstructed virtually using computer graphics technology. The aim of this project is to model the cenotaph using 3D computer modeling techniques. It is anticipated that a number of different techniques will be used to build the overall model (e.g. models of the stars, trees, smoke, and the building itself). The model must be accurate and highly detailed – faithful to Boullée's original plans. Students doing this project will have access to Cinema4D (commercial 3D software) and will be required to produce stills and an animation of the finished model.
|
|
|||||||||||||
Project:
Granular Re-Synthesis Supervisor: Jon McCormack |
|||||||||||||||
|
Granular
Synthesis is a popular sound synthesis and processing technique for
digital audio applications. A sampled waveform is broken up into
discrete "grains" usually 2 to 20ms in duration. Each grain
consists of a small set of samples that can then be processed by some
function. After processing, the grains are re-assembled back into a continuously
sampled waveform. On a reasonably fast machine processing can be performed
in real-time. The aim of this project is to design and implement a granular re-synthesis tool. Sounds are fed into the system and broken into grains. Grains are then analyzed statistically and the results accumulated. Then, given a starting grain, it should be possible to re-synthesize a statistically similar sound using probabilistic methods. Alternatively, one sound could be re-synthesized using the analysis from another sound. This would allow things like making a saxophone sample sound like someone talking, or a baby crying sound "statistically" like a steam train! The project should be implemented in C or C++ and hopefully developed as a 'plug-in' for one of the popular audio editing programs (e.g. Digital Performer).
|
|
|||||||||||||
Project:
Graph Grammars Supervisor: Jon McCormack |
|||||||||||||||
|
Graph grammars are a simple but useful method for representing complex developing structures. This project has two parts. The first part is to construct a "three-dimensional form synthesizer" using graph grammars. Given a graph grammar as input, the system should output a three-dimensional structure that can be visualized using OpenGL or rendered using CEMA's rendering software Cinema4D. The grammar may encode developmental aspects (time varying) as well. The second part of the project is to allow the user to specify certain physical conditions (e.g. volume/weight ratios) and have the grammar "evolve" to make a structure that best fits its environment. This project will be co-supervised with Dr. David Dowe – you will need to take the honours unit CSE423 - Learning and prediction.
|
|
|||||||||||||
Project:
Panoramic Rendering Supervisor: Jon McCormack |
|||||||||||||||
|
Standard computer graphics programs render images using perspective projection onto a flat image plane of finite dimensions. The ultimate aim is to create an image for a two-dimensional device such as a computer screen or film image. The aim of this project is to construct non-linear rendering systems that facilitate panoramic projections of images. Rather than projecting onto a flat plane, the project will consider alternate projection surfaces such as spheres, cylinders and other unique surfaces. Please refer to some of the web sites to see how such projections may be realized physically.
|
||||||||||||||
Project:
Shader Madness Supervisor: Alan Dorin |
|||||||||||||||
|
The aim of this project is implement a number of shaders for the Cinema 4D modelling, animation and rendering software. A shader is an interface between a programmer and a computer graphics renderer. During the rendering process, the shader may alter the light sources properties, surface reflectances or atmospheric effects... "By writing an appropriate shader in the shading language, a programmer can extend old shading models or implement entirely new ones, light sources can be defined with any radiant distribution, and new and novel surface properties can be introduced easily." [Upstill, 1989] It is anticipated that the student doing this project will produce shaders which simulate the images produced by a scanning electron microscope, perhaps also the colourized imagery of infra-red or ultra-violet photography, or even the characteristic patterns formed by the faceted surfaces of butterfly wings or within drops of oil. It is hoped also that the student will implement shaders to produce some new (and creative!) image styles and surface properties. The outcomes of the project will be visualized in various still images as well as in a short computer animation produced using the shaders and Cinema 4d. Students wishing to apply for this project will need to have (or develop/research) a thorough understanding of the following areas: computer graphics (especially rendering & shading models) and procedural texturing. It is highly recommended that the student completing this project take the course: Advanced Topics in Graphics (CSC415).
|
|
|||||||||||||
Project:
A Model of Solar-System Formation Supervisor: Alan Dorin & Andrew Prentice (Maths/Astro.) |
|||||||||||||||
|
This project will involve coding a mathematical model of the formation of the solar system from gaseous matter. The animated model will need to be displayed visually using OpenGL and/or rendered using off-the-shelf animation software (Cinema 4D or POV Ray). Applicants will need a solid mathematical and computer graphics background. An active interest and enthusiasm for astronomy would also be of considerable benefit.
|
||||||||||||||
Project:
Musical Agents Supervisor: Jon McCormack |
|||||||||||||||
|
The Great Learning is an experimental musical work of 7 parts, composed in 1967 by British composer Cornelius Cardew. Each of the seven parts ('paragraphs') of this mammoth work employ different notational methods to describe the music: text, instructions, symbols, but very little traditional music notation. In Paragraph 7 of the work, a group of singers are each given a series of short phrases to sing and instructions on how to sing them. Each singer is given the same phrases and instructions. You might expect that the chorus would sing in unison, (given the same set of instructions), however a complex musical sequence emerges from such a simple set of instructions to the performers. What is also interesting is that no matter who performs the work it tends to sound the same. Paragraph 7 is an example of algorithmic music composition, where a simple set of instructions define the development and performance of the music (rather than the explicit notation of pitch and duration for each note, as in conventional musical notation). The complexity of the finished composition is several orders of magnitude greater than the instructions used to define it. Here is an audio recording of a live performance of Paragraph 7 (at First iteration) with about 10 singers (requires MP3 player, e.g. Quicktime). The aim of this project is to develop a software system that will allow computer-based performances of algorithmic compositions like The Great Learning. The system should consist of a 'general purpose' compositional language that can be run on multiple hosts connected via TCP/IP (i.e. the Internet). Programs (compositions) written in the language consist of a series of instructions along with a collection of sound samples or MIDI instruments that are played by the program. Many copies of the software ('agents') run on multiple computers, connected over a network. It is not necessary to have a musical background to complete this project, but some knowledge of sample playback and MIDI functionality would be helpful.
|
|
|||||||||||||
Project:
Web Architecture Supervisor: Jon McCormack |
|||||||||||||||
|
In the early days of Web site development, people would hand author hundreds of web pages to make up a site's 'content'. While this is suitable for simpler sites, there are several problems with this approach. Firstly, there are a number of different browser versions in active use along with different plugins installed, screen sizes, colours and so on. Web sites that make use of certain features such as Flash, Shockwave, Dynamic HTML and so on may be isolating a considerable part of their audience who do not have these features in their current browser configuration. In addition, much of a sites content may be 'dynamic', and relying on manual updates to web pages is both time consuming and easy to neglect. Finally, some of a sites content many be generated 'on the fly' through things like search and database queries. The aim of this project is to design and construct tools for the CEMA web site's dynamic content. Dynamic content includes things like weekly research seminars, calendar of activities, search queries, references, publications announcements, etc. The project will involve research and understanding of the site's information architecture, information design and graphic elements. You will need to know the basics of HTML, Javascript, Perl, and C++ programming. You will need to devise an intelligent and workable solution that can integrate informational and stylistic elements of the site and present them to web users. For this project you will also gain hands-on experience with web construction tools such as Dreamweaver, Flash and Fireworks.
|
|
|||||||||||||
|
Project:
Self-organizing Imagery Supervisor: Alan Dorin |
|
|||||||||||||
|
The making of an original
image is usually a task achieved by an artist or possibly a computer
program
with
some
form
of
representation
of the
work as a 'whole'. The purpose of this project is to develop animated
and still imagery which is the result of the interactions between many
individual agents acting under the instructions of their own internal
rules. The project will require the development of a system for specifying the elements of a picture and the agents responsible for maintaining/manipulating it. The end result will be a series of still images and a short animation demonstrating some results achieved using the new system. Students wishing to apply for this project will need to have (or develop/research) the following areas: computer graphics & animation, procedural modelling, artificial life, and non-representational art. It is recommended that the student completing this project also take the course: Advanced Topics in Graphics (CSC415).
|
|
|||||||||||||
|
Project: Virtual
Worlds Supervisor: Jon McCormack |
|
|||||||||||||
|
This project aims to allow the creation of interactive 3D virtual worlds by building on an existing multimedia authoring tool. The project has two parts. The first part involves implementing a 3D extension to Macromedia Director (a multimedia authoring tool) to allow 3D elements to be part of Director's 'cast'. This will involve authoring an 'XTRA' (plug-in) for the software. This XTRA will use the OpenGL system to render 3D objects in real-time, hardware permitting of course! OpenGL however, provides only display list processing of objects and doesn't maintain more complex 3D graphics structures such as scene graphs, so it will be necessary to build this functionality into the systems 3D engine. Once this 3D component has been successfully designed and built, the second part of the project is to demonstrate it's functionality by designing and implementing a 3D game. The design of the game is up to you (in consultation with your supervisor), but should highlight the real-time 3D capabilities you have created for Director. For this project you will need to know (or learn) Director, plus have a good knowledge of real-time 3D graphics systems and techniques. It is recommended that the student completing this project also take the course: Advanced Topics in Graphics (CSC415).
|
|
|||||||||||||
|
Project: Iconic
Messenger Supervisor: Alan Dorin |
|
|||||||||||||
|
The old UNIX tools talk and write, and the text-based communication
they facilitate are the basis of many internet messenger systems. Whilst
some messenger systems utilize video and sound, the purpose of this project
is to move beyond such modes of communication towards a hybrid visual/textual
system. This will blend emoticons, icons, avatars and textual information
together seemlessly in a new form of quirky but intelligent messenging
system. Standard icons might be 'built in' to the system for things such as: yes and no; for various times of day such as morning and afternoon, evening and night or lunchtime; for places such as the cafe, bookshop and library. Additionally, new icons could be developed by users for inclusion in the messenging system. A bank of down-loadable icons which users have contributed might be stored on the WWW. To operate the messenger, besides typing text, a user might drag icons into a space designated for communication between individuals. These would appear in a similar space at the other end. If icons are not recognized by a user, simply moving the mouse over the icon or clicking a button could convert individual symbols or whole phrases into their plain-text equivalents. Students wishing to complete this project will need to have (or develop/research) the following areas/skills: visual communication, TCP/IP client/server protocols, avatars and online chat systems, netiquette, and a sense of humour. This project will be implemented using Macromedia's Director multimedia authoring software. |
|
|||||||||||||