CM30076 / CM30082
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
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
- 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
- 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
- There are a number of other possibilities for projects in this
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