M. Hepple, Document Management System
1
This project is for users with files distributed across network drives, in addition to their own files. The software would use a centralised database in addition to it's own local database to store locations of files both on it's own drives and drives on the network. The central server would store details on network shares, the local would index it's own hard drive. The software would then interface with both databases to create the illusion of a single file system containing all files indexed. The primary means of accessing these files would be by parameter-driven searches, for example to find copies of "Meeting 12/3/05.doc" a user could type "Meeting" and get all files available to him by that name. The project will also have media extensions, so that data such as artist and album can be stored for music files. The plan would be to replace the existing file explorers with this project's program, and that it be more efficient than the native explorers. The comparison software will be Microsoft Window's Explorer, and Linux's Konqueror.
B. L. Thompson, Exploring the Use of Mathematics to Create Music Compositions
2
Research and explore the use of random mathematical fractal equations to either compose a piece of music, or continue what has been created by the user. Exploring how I can create a program with music AI. Depending on some set options (such as time signature), a piece of music can be created using music theory and random mathematical fractal equations. The challenge is to make this music as enjoyable to listen to as possible.
T. H. Zhang, Real-Time Pathfinding
3
A core problem for many applications is to find the shortest path (in terms of costs, not necessarily distance) between two points in a search space (e.g. two nodes in a graph; two positions on a map, etc.). This has many applications such as finding efficient paths on street maps or automatic pathfinding for computer controlled agents in games. A standard approach to this is the A* search algorithm. The problem becomes more complicated if a move has to be made before the complete, optimal path has been found (e.g. time limits for query results or real-time situations in games) and for situations where the target is not at a fixed position, but moves (e.g. a monster tracking the game player). For this A* has to be modified in order to work. The aim of this project is to start with a standard A* implementation for finding shortest paths in 2D terrain maps. The 2D maps may contain obstacles, different types of terrain, etc. The simple A* implementation should then be generalised to the case where real-time decisions of movement have to be made before the full optimal path has been found and where the goal position moves. Different approaches to this should be compared with respect to various efficiency requirements (time requirements, how close the detected path is to the optimal path, etc.).
R. G. Conway, Scene Graph for Visualising the Quantum World
4
A scene graph is a data structure suitable for representing 3D scenes essentially providing an object hierarchy in form of a tree where certain branches may be shared between multiple nodes (an acylcic directed graph). To allow for fast rendering of scenes usually there are additional structures present to represent the spatial arrangement of the objects in 3D (e.g. BSP trees). The aim of this project is to develop a scene graph for the visualisation of quantum effects, in particular superposition states. There are various options to visualise this, e.g. using particle effects to represent a wave function or overlaying multiple partially transparent objects (e.g. a live and a dead cat :) or morphing one object into another. One or two of these options (or anything else you can think of to represent the quantum world) should be realised as part of a simple scene graph implementation. The emphasis of this project is on the visualisation and demonstration of quantum effects and not on the physical accurateness.
R. W. Willoughby, Two Player Board Game AI
5
This project involves implementing an intelligent opponent for some game of skill such as Chess, but the game chosen would preferably be an unusual one. You may use whichever programming language you prefer (Java would be a suitable choice). You may like to implement generic software components that can be used in more than one game.
L. Emrys Roberts, Weather Influenced Terrain Engine
6
A simplistic Terrain Engine with minor weather effects such as erosion and snow accumulation as well as a day-night effect. Such effects will be based around the principle of minor mesh deformation and dynamic texture adjustment as opposed to more in-depth approaches. Landscapes will be automatically generated by a specified algorithm (my own if given enough time) and will be effected by one of a set of options within a user specified area. The program will be programmed in java and represent different rendering techniques as opposed to more interactive elements. The user will select an area of the generated terrain and specify the effect to be performed and a time over whicht he effect will be applied. The program will perform the action in accelerated time and show the user the outcome.
Cite as
BSc Projects 2004/05,http://www.langbein.org/teaching/projects/bsc/200405/print by Frank C Langbein [11/October/2008, 15:41].
Copyright © 1995-2012, Frank C Langbein.
Except where otherwise stated, this web site, Ex Tenebris Scientia, by Frank C Langbein is licensed under a Creative Commons Attribution-Non-Commercial-Share Alike 2.0 UK: England & Wales License.