Text only

CM30076 / CM30082
Individual Project

Project Ideas

Dr Claire Willis


L-systems for modelling biological processes
The realistic modelling of growing plants is a major research issue in computer graphics. One of the methods used for this purpose is to use L-systems, which are effective in generating very complex structures from a few simple rewrite rules. Recent work has enabled parameterised forms of L-systems to represent environmental influences on plant growth, resulting in more realistic modelling of a variety of plants. A number of projects are available in this area, such as:
Application for building L-systems
This application would provide the user with the means to enter and edit L-system rules, and to generate a wide range of L-systems, including context free, context-sensitive and parameterised L-systems. Most L-system implementations are static, and show a plant at a particular stage of growth, like a snapshot.
Animating the growth of L-systems
... so that we can see the branching structure growing and changing. Appropriate techniques will need to be researched as to the most effective methods for animating growth, and a suitable user interface must be developed to allow the user to enter and animate L-systems.
Modelling of trees.
The L-systems required to grow trees are complex, and it is essential to render the tree in 3D, and to ensure that the branches become thinner the further they are from the trunk. An important aspect of tree modelling is models which can respond to environmental factors such as light and prevailing wind direction. Similarly, aspects such as the shedding of branches, die-back etc should be considered.
There are a number of other possibilities for projects in this area, including modelling of ecosystems, monocultures etc.
Celtic Knots
Celtic artwork is filled with examples of intricate geometric patterns, usually called knotwork. The knotwork patterns follow well-defined rules. This project is to develop a software package for generating Celtic knots, by allowing the user to choose basic components and motifs, and then automatically combining these according to appropriate rules to give a complete knot. Since the area of Celtic knotwork is very large a suitable subset of knot styles will probably have to be chosen. An appropriate user interface must be developed as part of this project. Research will need to be done into the most appropriate basic knot components and motifs, and into the interface which allows the user to manipulate these components. Trivial use of "tiles" showing fragments of knots, which the user puts together, in whatever form they wish, will not be acceptable. This is meant to be an automatic generator.
Equipment: BUCS PC
Software: C, C++, Python or Java. You need to use a language with easy access to graphical functionality.
Background reading: Research papers and a number of books can be found, and there are many websites concerned with knots in general, and with Celtic knots in particular.
Modelling Flocking Behaviour
Flocking behaviour is an example of a situation where complex global behaviour can arise from the interaction of entities obeying simple, local rules. Flocking is, of course, widely known from nature: various species of birds, insects, fish etc all exhibit varying forms of flocking.
Depending on the type of flocking behaviour required, there are various rules which can be used to control individual entities in a flock. A simple set of rules might be:
  • Align your direction of motion with that of your neighbours.
  • Match your speed with that of your neighbours.
  • Stay close to your neighbours.
  • Avoid colliding with your neighbours.
Modelling predator interaction with flocks
Many animals flock to protect themselves from predators. An interesting area of flocking behaviour is to investigate how one or more predators interact with a flock to catch members of the flock. There are many possibilities for project directions such as, investigating a number of different forms of predator vs flock behaviour or investigating cooperating predators.
Modelling sheep flock interaction with sheepdogs
A specific, highly controlled form of predator and flock behaviour is seen between domestic sheep and sheepdogs. The dogs are bred control the sheep and move them in the direction the shepherd wishes. The predator behaviour of the dog has been modified so that the dog will not follow through its stalking of the flock or of a single sheep with an attack intended to kill. A project could model the interaction between a sheep flock and one or more sheepdogs. An interesting extra aspect of this project would be to incorporate the idea of a dominant sheep in the flock, who is the one most likely to stand up to the sheepdog or guide the flock away.
Modelling flocking behaviour in colonial insects
Ants and bees manage to display very complex behaviour aimed at the growth and sustenance of their colony, controlled by a dominant queen. A possible project could investigate how to model such behaviour.