Prerequisite course: Computer Graphics and Image Processing

Aims

This course provides students with a solid grounding in a variety of
three-dimensional modelling mechanisms. It also provides an
introduction to radiosity, animation, graphics cards, and current
commercial uses of computer graphics.

Lectures

Introduction. Revision of the ray tracing and polygon
scan conversion methods of making images from 3D models; the pros
and cons of each approach. Current uses of computer graphics in
animation, special effects, Computer-Aided Design and marketing.
[0.75 lecture]

The polygon. Drawing polygons. Graphics cards. Polygon
mesh management: data structures. [0.75 lecture]

Ray tracing. The primitive geometric shapes used in ray
tracing: plane, polygon, sphere, cylinder, cone, box, disc, torus.
Ray intersection calculations and normal calculations for these.
Converting the primitives into polygons for use in polygon scan
conversion. [1.5 lectures]

Splines for modelling arbitrary 3D geometry (splines are
the standard 3D modelling mechanism for Computer-Aided Design).
Features required of surface models in a Computer-Aided Design
package. Bezier curves and surfaces. B-splines, from uniform,
non-rational B-splines through to non-uniform, rational B-splines
(NURBS). [2.5 lectures]

Subdivision surfaces (an alternative mechanism for
representing arbitrary 3D geometry, now widely used in the animation
industry). Introduction to subdivision. Pros and cons when compared
to NURBS. [2 lectures]

Implicit surfaces and voxels. 3D pixels and the marching
cubes algorithm; medical applications of this. [1 lecture]

Other ways to create complex geometry. Generative models:
extrusion, revolution, sweeping, generalised cylinders.
Constructive solid geometry (CSG): set theory applied to solid
objects; different implementations of this using ray tracing and
polygons. [1 lecture]

Radiosity. Accurate calculation of the diffuse
inter-reflections in a scene. [1.5 lectures]

Computer animation. A brief introduction to some techniques in
animation. [1 lecture]

Objectives

On completing the course, students should be able to

produce equations for each geometric primitive, derive a
ray/primitive intersection algorithm for each, describe how each can
be approximated by polygons

define NURBS basis functions, understand the use of NURBS curves
and surfaces in 2D and 3D modelling

describe and explain how to use generative models, constructive
solid geometry, implicit surfaces, voxel rendering and subdivision
surfaces; describe how each representation can be converted to
polygons

be able to compare and contrast ray tracing with polygon scan
conversion

be able to explain the basic radiosity algorithm

Recommended reading

Students should expect to refer to one or more of these books, but
should not find it necessary to purchase any of them.

* Slater, M., Steed, A. & Chrysanthou, Y. (2002). Computer graphics and virtual environments: from realism to real-time. Addison-Wesley.
Rogers, D.F. & Adams, J.A. (1990). Mathematical elements for computer graphics. McGraw-Hill (2nd ed.).
Foley, J.D., van Dam, A., Feiner, S.K. & Hughes, J.F. (1990). Computer graphics: principles and practice. Addison-Wesley (2nd ed.).
Warren, J. & Weimer, H. (2002). Subdivision methods for geometric design. Morgan Kaufmann.