Overview
The course is divided into three sections:
I.
3D modelling techniques
Dr Dodgson
6 lectures
II.
Human computer interaction
Dr Blackwell
4 lectures
III.
Topics in graphics research
Dr Dodgson
2 lectures
These pages cover section I of the course.
The purpose of the first section is to introduce you to a variety of
3D modelling and rendering techniques. The first lecture covers basic
ideas, including a revision of the two standard methods of making
images of 3D models: polygon scan conversion and ray tracing. The next
two lectures delve into the depths of B-spline curves and surfaces,
which are heavily used in many graphics applications. The fourth and
fifth lectures consider four or five 3D modelling techniques. The
final lecture introduces radiosity.
Syllabus
The syllabus has ten parts, each maps to between a half and two lectures.
These web pages cover the first five parts.
Basic 3D modelling.
Revision of the ray tracing, polygon scan conversion, and line drawing
methods of making images from 3D models; the pros and cons of each
approach. The polygon: drawing polygons; hardware
speed-ups. Polygon mesh management: data structures.
Geometric primitives. Plane, polygon, sphere, cylinder, cone,
box, disc, torus, quadrics, superquadrics. Ray intersection
calculations for ray tracing. Converting the primitives
into polygons for polygon scan conversion.
Splines. Revision of Bezier curves and surfaces. B-splines,
from uniform, non-rational B-splines through to non-uniform, rational
B-splines (NURBS).
Other 3D modelling mechanisms.
Generative models: extrusion,
revolution, sweeping, generalised cylinders.
Constructive solid geometry (CSG): set theory applied to solid
objects. Implicit surfaces and voxels: 3D pixels and the marching
cubes algorithm.
Lighting.
Revision of the basic diffuse + specular + ambient
approximation. Radiosity: solving the inter-object diffuse reflection
equations to produce more realistic images.
Introduction to HCI. Cycle of dialogue. The human virtual machine: Hick's
Law, model human processor, Fitts' Law, power law of practice.
System evaluation. Usability analysis, GOMS, keystroke level
modelling. Conceptual design and mental models.
User interface design. Cognitive walkthrough, design and evaluation
of user trials.
Novel user interfaces.
Topics in graphics research.
A taster of current research with detailed work in one or two areas
selected from: free-form deformation, animation, natural object
modelling.
What's examinable? Everything except where explicitely noted otherwise.
Lecture handouts and supervision material Some of the lecture course material is available on the
web. This material is also printed out to provide these lecture notes. Other
material is bound in with these notes (this material cannot be put on
the web for copyright reasons). Point your supervisor at http://www.cl.cam.ac.uk/Teaching/1999/AGraphHCI.
Supervisors please note that there are exercises scattered
throughout the notes. These can usually be found at the end of
sections.
Book list and abbreviations The following books are used in the course.
Each is preceded by the abbreviation used on these pages to refer to that book.
FvDFH Foley, J.D., van Dam, A., Feiner, S.K. & Hughes,
J.F. (1990). Computer Graphics: Principles and
Practice. Addison-Wesley (2nd ed.).
F&vD Foley J.D. & van Dam, A. (1984).
Fundamentals of Interactive Computer Graphics.
Addison-Wesley (1st ed.).
R&A Rogers, D.F. & Adams, J.A. (1990).
Mathematical Elements for Computer Graphics.
McGraw-Hill (2nd ed.).
Other abbreviations RT ray tracing
PSC polygon scan conversion (e.g. z-buffer)
LD line drawing
SMAGSome Mathematics for Advanced Graphics, the
mathematical supplement provided in the printed notes.
Exercises
Scattered throughout these notes are exercises.
Exercises
Exercises look like this.
If your browser can cope with tables, then this will be in
a box.
If it can cope with font colours then this will be dark
green.
If neither, at least it starts with the text "Exercises".
If your background colour is dark then you will not be able to read this:
sorry!