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
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,
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.