** SEM307 Computer Graphics II.**

Copyright (c) Susan Laflin. August 1999.

Previously the computer graphics courses taught by S.Laflin had textbooks or detailed handouts provided as support. These have now been replaced by this interactive document available to all students. The links to other parts of the document are shown in red.

** Specimen Examination Questions
** are available for most topics and some of them will be discussed
in tutorials during the course.

** Historical Introduction. **
The historical introduction includes a discussion of graphics standards in
two and three dimensions and is likely to be of interest to everyone.

** Two-dimensional Computer
Graphics **
This covers the following topics: Graphical Output Devices; Drawing Straight
Lines; Text in Graphics; Transformations; Shading of Polygons; Clipping and
Windowing; Interactive Graphics; Drawing Smooth Curves; Graphs to Present
Results; and References.

** Patterns and Pictures. **
Bit-maps of
characters, pixel planes,half-toning. examples of run-length-coding and
quad-trees, with exercises. application to heraldry.

** Three-dimensional Computer
Graphics **
This section contains a discussion of three-dimensional coordinate geometry,
equations of lines and planes, vectors (dot and cross products), intersections
of lines, descriptions of objects in three-dimensions, shift, scale and rotate
transformations, projections from three-dimensions into two-dimensions,
including orthographic,isometric, and ome-, two- and three-point perspective
projections, and the general transformation matrix, methods for drawings of
three-dimensional objects including stereoscopic projections.

** Hidden Surface Removal **
This section
contains the discussion of Hidden Surface Removal with the application of
coherence, back-face culling and spatial partitioning to speed up the
algorithms. The first group of methods include the depth-buffer algorithm,
the template method, Watkins' method and the painters' algorithm. Encarnacao's
Priority method is an example of a list-priority method and Appel's method is
an example of a ray-tracing method. Finally Encarnacao's Scan-grid method may
be applied to curved surfaces.

** Curve Fitting ** This
section contains a
discussion of approximation and interpolation methods to fit curves to a set
of points. The section on approximation considers function norms and their
use in curve fitting, least squares approximation and its dangers. The use of
orthogonal polynomials in least squares curve fitting and finally minimax
curve fitting with examples. The section on interpolation concentrates on
piece-wise interpolation methods, starting with "polyline" for piece-wise
linear interpolation. Then it covers the Hermite methods for piece-wise cubic
interpolation, concluding with "cubic-splineinterpolation". A change of
approach leads to methods involving blending functions and control points,
from hat-functions through Bezier and B-spline curves and concluding with
N.U.R.B.S.

** Surface Fitting **
This section considers
methods of representing surfaces, recorded as either "regular" or "irregular"
data. For the regular data, the interpolation methods use surface patches.
These include bi-linear surface patches, lofted and Coons' surfaces and
bi-cubic surface patches. Again Bezier- and b-spline surfaces make use of
control-nets to vary the surface and these methods are extended to
"beta-splines". To present these surfaces, the methods include contouring as
well as "pillar" and "fishnet" methods. Then for irregular data it discusses
methods of fitting to a rectangular mesh. Finally the Delaunay Triangulation
is used to fit directly to a scatter of irregular data and all representations
may also be obtained from this format.

** Geometric Modelling. **
This section
concludes the course with a discussion of geometric modelling. It discusses
cellular, half-space and boundary representation methods. For the latter,
Euler's equation may be used to check the validity of each step in the process
and an example of this is included.

** Slides from the 1998 Lecture Course **

Copies of the powerpoint slides used for the lectures in 1998 are available.In addition to some information relevant to students in that year, they also duplicate the contents of the html text.

Lecture 1 contains a discussion of three-dimensional coordinate geometry, equations of lines and planes, vectors (dot and cross products), intersections of lines, descriptions of objects in three-dimensions, shift, scale and rotate transformations.

Lecture 2 contains a discussion of projections from three-dimensions into two-dimensions, including orthographic, isometric, and ome-, two- and three-point perspective projections, and the general transformatiuon matrix, methods for drawings of three-dimensional objects including stereoscopic projections. It also starts the discussion of Hidden Surface Removal.

Lecture 3 continues the discussion of Hidden Surface Removal with the application of coherence, back-face culling and spatial partitioning to speed up the algorithms. The first group of methods include the depth-buffer algorithm, the template method, Watkins' method and the painters' algorithm. Encarnacao's Priority method is an example of a list-priority method and Appel's method is an example of a ray-tracing method. Finally Encarnacao's Scan-grid method may be applied to curved surfaces.

Lecture 4 discusses illumination and shading methods and has a brief introduction to "inbetweening" methods for animation of cartoons.

Lecture 5 contains an extra lecture on approximation methods to fit curves to a set of points.

Lecture 6 is the lecture on interpolation methods. It concentrates on pice-wise interpolation methods, starting with "polyline" for piece-wise linear interpolation. Then it covers the Hermite methods for piece-wise cubic interpolation, concluding with "cubic-spline interpolation". A change of approach leads to methods involving blending functions and control points, from hat-functions through Bezier and B-spline curves and concluding with N.U.R.B.S.

Lecture 7 considers methods of representing surfaces, recorded as either "regular" or "irregular" data. For the regular data, the interpolation methods use surface patches. These include bi-linear surface patches, lofted and Coons' surfaces and bi-cubic surface patches. Again Bezier- and b-spline surfaces make use of control-nets to vary the surface and these methods are extended to "beta-splines".

Lecture 8 continues the discussion of surfaces with a section on contouring methods as well as "pillar" and "fishnet" methods of representing surfaces. Then for irregular data it discusses methods of fitting to a rectangular mesh. Finally the Delaunay Triangulation is used to fit directly to a scatter of irregular data and all representations may be obtained from this format.

Lecture 9 concludes the course with a discussion of geometric modelling. It discusses cellular, half-space and boundary representation methods. For the latter, Euler's equation may be used to check the validity of each step in the process and an example of this is included.