Mathematical Principles of Computer Graphics

Ma 598

 

 

1.     Course Description

 

            Topics include: two dimensional algorithms; transformations, scaling, translations, rotations, matrix notation, line clipping, b-spline curve fitting, and recursion.  Geometric tools for three dimensional algorithms, and affine and projective geometry are included.  Viewing and perspective transformations, wire frame models, algorithms for the triangle decomposition of polygons and hidden-line elimination are included.  Object oriented programming using C++ is included.

 

2.     Goals of the Course

 

The purpose of this course is to present a systematic approach to programming languages.  The student is expected to become familiar with several different level languages.  Selected topics from the theory of formal languages and syntactic analysis are also discussed.

 

3.  Instructional Procedures

 

The following resources will be used:

Textbook

Computer facilities of the Reckzeh Math Resource Center

Procedures and methods will include:

         a.   Lectures covering the theory and areas of application

         b.   Guest Lecturers discussing their specialties

                  c.   Assignment of programming projects

         d.   Independent projects

 

4.  Course Content

 

   A.  Data Structure and Algorithms

a.      Introduction.

What is computer graphics

Model of interactive graphics systems

The display file

b.     Data structure, Data bases, and List Handling

Formal definition of data structures

Representation of data structures in a computer

Data models and data base organization

c.      Picture structure and Picture transformations

Domain transformations

Geometric transformations

The perspective representation of three-dimensional objects

The “4 by 4-matriax” for rotation, scaling, translation, and perspective

d.     Interpolation and approximation of curves and surfaces

      Classical methods: Lagrange and Hermite interpolation

      Interpolation with B-spline

      Bezier approximation of curves

      General principles of surface construction

 

 

B.    Languages and Their Interpreters

a.      Interaction Handling

Interactive input devices

Device independence

Attention handling

b.     The display processor

The display console

the display generator

the display controller

High-performance display systems

c.      Display file and picture file organization

Data base and display file revisited

Display file without subpicture calls

Display with subpicture calls

Display file and picture file

d.     Language concepts for interactive computer graphics

High-level graphic programming languages

High-level graphic programming languages: two cases in point

L-an intermediate language for device-independence and intra system communication

e.      High-level language implementation of display programming systems

      Tasks of a graphical programming package

      Language structures

      Interaction handling routines

 

5.  Evaluation Measures

a.      Class participation                                                                 10%

b.     Homework                                                                           10%

c.      Successful run of specified number of programs                     25%

d.     Midterm examination                                                 25%

e.      Final examination                                                                   30%

 

6.  Bibliography

 

A.    Required Text:

a.      Interactive Computer Graphics: data structures, algorithms, languages, by Wolfgang K. Giloi, published by prentice-hall, inc, 1988

 

B.  Supporting Bibliography

 

                  a.  Adams, Joel, Leesma, Sanford and Nyhoff, Larry, C++: An Introduction to        Computing,       2nd Ed., Prentice Hall, 1998.

 

                  b.   Bronson, Gary and Menconi, Stephen, A First Book in C: Fundamentals of C   Programming, 2nd Ed., ITP/West Publishing,1993

 

                  c.  Elson, Mark, Concepts of Programming Languages, Science Research Assoc.,   Inc.,     1983.

           

                  d.  Graham, Neill, Learning C, McGraw-Hill, Inc, 1992

 

                  e. Katzan, Harry, Computer Systems Organization & Programming, Science           Research          Assoc., 1986.

 

F.  Leendert, Ammeraal, Programming Principles in Computer Graphics, John Wiley           &         Sons, 1986.

 

 

g.  Overland, Brian, C++ in Plan English, MIS Press, 1996.