Dr. Tim Newman
email: tnewman@cs.uah.edu
Office Hrs.: MTWR 11:00am-noon ; M 4:00-5:00 pm
Office: TH N364
Note, also office hours most Fridays, 11 to noon
Phone: 824-6619
Fax: 824-6239 Or phone or email for appointment (always verify availability
for Friday office hours!)
TR 7:05-8:25pm, TH N 308 (note change!)
Study computer graphics topics, especially 3D graphics algorithms useful for
interactive graphics. The topics include 3D viewing and projections, 3D animation,
modeling and representation of curves and surfaces, hidden surface removal,
and methods for shading and illumination. Course will also include an introduction
to hierarchical graphical programming. Most (perhaps all) projects will be
done using OpenGL.
3D Computer Graphics, Third Edition, by Alan Watt, Addison-Wesley: New York,
2000.
OpenGL Programming Guide, Third Edition (Second Edition also acceptable), by
M. Woo, J. Neider, and T. Davis, Addison-Wesley: New York, 1999 (Second Edition:
ISBN 0-201-46138-2).
Computational Geometry for Design and Manufacture, by Faux and Pratt.
Principles of Interactive Computer Graphics by W. Newman and R. Sproull.
CS 545 (or equivalent introductory graphics class). Proficiency in C or C++
programming and at least minimal understanding of the UNIX operating system.
The final grade will be composed of the following weights. The instructor reserves
the right to make changes to this system, including the addition of an unannounced
quiz.
Activity
|
Total Points
|
Mid-term Examinations (2)
|
200
|
Projects (5)
|
180
|
Final Exam
|
120
|
Homeworks, Reports, and Participation
|
40
|
Grand Total
|
540
|
The grading scale will not be stricter than:
490 points for a 4.0.
440 points for a 3.0.
390 points for a 2.0.
350 points for a 1.0.
Please note that the instructor intends to utilize the ``plus'' and
``minus'' letter grading system.
Please check your email regularly. Sometimes class updates are distributed
by email. Also, I try to check my email regularly; please feel free to contact
me with questions via email.
There will be two mid-term examinations, each worth 100 points. These exams
are tentatively scheduled for Tuesday, September 23 and Tuesday, October
28. The comprehensive final is Tuesday, December 9, from 6:30 to 9:00 pm.
There will probably be 1 or 2 homework assignments in the class, although more
homework will be assigned if necessary. All homeworks are due at the start
of the class on the due date. Homeworks are to represent your own work; without
prior clearance from the instructor, all forms of oral, written, electronic,
etc., collaboration are prohibited. At least one homework is likely to involve
reading and analyzing a paper from the graphics literature.
There will be 5 projects in this course1. At least 4 of the projects will be
programming assignments. For the other project, you have the option of doing
another programming assignment or of writing a research paper on a topic
that receives instructor approval. Projects will, in general, take 12-40
hours each, depending on your proficiency, efficiency, and any extra features
you attempt.
Please note that program development is possible via remote Internet access.
Further, some lab PCs are dual-boot machines, and can be booted under Linux
with X-windows. A few of these machines have OpenGL and GLUT. All of these
machines as well as remote boxes running Unix or supporting X windows (e.g.,
via Exceed) can also telnet to one of the lab workstations (e.g., havoc) and
receive X windows output by setting the X display variable to the local machine.
Final source code for programs should be submitted electronically. A
printed listing must also be handed in. The programs are expected to
contain a reasonable amount of documentation (including acceptable structure,
variable names, etc.). The submitted programs must compile and execute
correctly on the Linux boxes on the north side of the Laser Lab. Programs
will be tested on the Department's linux boxes under OpenGL and must
work correctly in that environment to receive full credit. Please test
your program on the machines that I will test them on! Additional details
will be included in the first assignment's instructions.
Programs are to be written in C and should use the graphics library
specified on the programming assignment. We will use OpenGL (although
you might want to use Mesa (an OpenGL mimic) for preliminary development
if you do not have native OpenGL. We will couple OpenGL with GLUT (and
possibly GLUI) for all programming assignments.
Mesa is a public-domain package that will generally run with minor porting
corrections on Unix (including Linux), Macintosh, and Windows platforms.
VRML is a 3D graphics environment that we might use for one project.
Paper Option
If you choose to write a paper for one of the projects for which the paper
option is available, the paper is expected to be 6-11 pages in length, with
standard margins, fonts, and spacing. More details about the paper option will
be provided later.
A few homeworks and/or short reports will be assigned throughout the term.
Homeworks are due at the beginning of the class on the due date. One homework
is currently scheduled to be due during the last two weeks of class.
You are responsible for all material covered in the lecture, so it is in your
best interest to attend each class. Also, effective, constructive participation
in the class will be considered for part of your grade. No late work will
be accepted. currently scheduled to (with documentation acceptable to the
instructor) or one week's prior notice required for consideration of exam
make-up (consideration will be made on a case-by-case basis). All program
listings, papers, homework, and report(s) are due at or before the start
of the class on the due date. If you will be absent on a due date, please
arrange to submit your work early in person or by proxy. Electronic submissions
of program sources must be received by instructor by 7:00 pm on their due
date.
The University policy on academic honesty is quite strict. This policy is discussed
in the Code of Student Conduct. The instructor's academic honesty policy
is very strict; instances of academic dishonesty will be penalized, ordinarily
by failure of at least the assignment, if not the course (in addition to
any University penalties). All work submitted must be the student's own work!
It is unprofessional and dishonest to submit someone else's work as your own.
Please, do not use other's code in your program (or use any type of resource
not listed on this syllabus) without first receiving instructor approval. Projects
are NOT group efforts. You should not seek or use assistance from anyone or
any thing on the projects without first getting approval from the instructor
for the type of assistance contemplated.
The intended schedule of the class is indicated below. This list is subject
to change.
Topic Week Reading Assignments
Matrix Alg. (refresher) and Intro. to Open GL First Week Ch. 1.1-1.3, OpenGL
book/þÎguide
Homogeneous 3D Transf., Proj., & Viewing Second Week Ch. 1.1-1.3, 5
Clipping, Shading, and Illum. (Rendering) 3rd and 4th Week Ch. 6.1-6.3
Hidden Surf. Removal 5th Week Ch. 6.5-6.6
Textures 6th Week Ch. 8
Shadows 7th Week Ch. 9
Global Illum. - Ray Tracing and Radiosity 8th - 10th Weeks Ch. 10-12
Hierarchical Modeling 11th Week Foley Ch. 7 (?)
Modeling Techniques and Rep.s 12th Week Ch. 2
Curve and Surface Fitting and Modeling 13th and 14th Week Ch. 3
Local Reflection Models 15th and 16th Week Ch. 7
If time:
Volumetric Rendering / Volumetric Visualization (Ch. 13)
Image-Based Rendering (Ch. 16)
|