Next: Artificial Intelligence II Up: Michaelmas Term 2002: Part Previous: Additional Topics   Contents

No. of lectures: 8

Prerequisite course: Computer Graphics and Image Processing

Aims

The main aim of the course is to provide students with a solid grounding in a variety of three-dimensional modelling mechanisms. The course also imparts a deeper understanding of rendering techniques.

Lectures

• Revision. 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. [0.3 lecture]

• The polygon. Drawing polygons. Hardware speed-ups. Polygon mesh management: data structures. [0.5 lecture]

• Other geometric primitives. Plane, sphere, cylinder, cone, box, disc, torus. Ray intersection calculations for ray tracing. Calculating the normal. Converting the primitives into polygons for use in polygon scan conversion. [1.2 lecture]

• Splines for modelling arbitrary 3D geometry. Splines are the industry standard 3D modelling mechanism. Revision of Bezier curves and surfaces. B-splines, from uniform, non-rational B-splines through to non-uniform, rational B-splines (NURBS). [2 lectures]

• Subdivision surfaces. An alternative mechanism for representing arbitrary 3D geometry. Pros and cons when compared to NURBS. [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. Implicit surfaces and voxels: 3D pixels and the marching cubes algorithm. [2 lectures]

• Lighting. Revision of the basic diffuse + specular + ambient approximation. Radiosity: solving the inter-object diffuse reflection equations to produce more realistic images. [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