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.