Trinh @ Bath

This is an old revision of the document!


MMath project on non-photorealistic rendering of Riemann surfaces

The ability to create visualisations of mathematical surfaces or diagrams is an immensely important skill that has been rarely addressed in your studies at Bath. This is a project about the visualisation of maths.

With the advent of desktop computers and home publishing software, many of us have moved away from meticulously hand-drawn technical illustrations and rely on electronic generation of figures using software like Matlab or Mathematics. However, there are many advantages to traditional visualisations. Compare the clarity and usefulness of these two representations of the Gamma function. The first is a hand-drawn picture from Jahnke and Emde (1909). The second is generated from Mathematica.

One question is: how do we design computational algorithms for converting from a given electronic representation of a surface to what looks like a hand-drawn sketch. This is one of the key questions in a very active field known as Non-Photorealistic Rendering (NPR). Although such methods are well-known to industry experts (and are sometimes found on commercial software), they are often not appropriate for use by scientists and mathematicians.

Another interesting question is how to render the output of high-dimensional flow data (such as from a fluid dynamics simulation) in a way that is visually appealing and informative. This is quite a complicated question, but it quickly becomes clear that traditional methods of plotting will often fail.

In this project, the student will develop (home-grown) techniques for non-photorealistic rendering (NPR) and apply them to produce visualisations of mathematical surfaces and fields. This involves learning about NPR techniques, as well as general techniques of computer graphics (e.g. ray theory). The project will involve a very nice mixture of mathematics and numerical algorithms with programming. The project can move from quite theoretical questions (efficiency and design of algorithms) to practical implementation.

If you are interested in finding out more about the mathematics and computation, perhaps have a look at Strothotte & Schlechtweg (2002) Non-photorealistic Computer Graphics Modeling, Rendering, and Animation. San Francisco, CA: Morgan Kaufmann. (Copy available in Bath library).

Desireables: [1] A student who enjoys visualisation, art, and technical drawing [2] An aptitude for coding. We will begin with Matlab or Python, but you may need to learn with a 'heavier' object-oriented language like C/C++. [3] An interest in numerical algorithms and computer graphics [4] Good abilities in vector calculus (MA20223) and geometry. There will be some elements of complex analysis (as they provide examples of interesting surfaces).

Prerequisites: No strict pre-requisites, but students who took CM30075 (Advanced Computer Graphics) should definitely inquire.