CIS 736: Computer Graphics
Spring 2000
Hours: 3 hours (extended course project option for 4
credit hours: 3 of CIS 736, 1 of CIS 798)
Prerequisite: First undergraduate course in
computer graphics (any of CIS 636, ECE 636, or equivalent coursework in interactive
graphical interfaces) or basic linear
algebra or instructor permission
Textbook: Computer Graphics: Principles and
Practice, Second Edition in C, J. D. Foley, A. vanDam, S. K. Feiner, and J.
F. Hughes. Addison-Wesley, 1996. ISBN: 0201848406
Venue: Wed
15:30-16:20 (3:30 – 4:20pm), Fri 15:30-17:10 (3:30 – 5:10pm), Room 152 Durland
Hall
Instructor: William H. Hsu, Department of Computing and Information Sciences
Office: 213 Nichols Hall URL:
http://www.cis.ksu.edu/~bhsu E-mail: bhsu@cis.ksu.edu
Office phone: (785) 532-6350 Home
phone: (785) 539-7180
Office hours:
In classroom: before
class (2:30-3:30 W, 3:15-3:30 F); after class (4:20-4:40 W, 5:10-5:25 F)
At office: 1-1:30pm, 2:30-3pm Friday; by appointment
Class web page: http://ringil.cis.ksu.edu/Courses/Spring-2000/CIS736/
This
course provides intermediate background in computer graphics for graduate and
advanced undergraduate students. The first part of the course will focus on
basic principles of graphics display systems (clipping, line drawing, 3D
graphics data structures, splines for curve and surface interpolation, and illumination
models). The second part of the course will survey fundamental topics in
realistic rendering (ray tracing, radiosity, texture and bump mapping),
animation, and several advanced topics of interest, including fractals and
scientific and information visualization.
Homework: 6
programming and written assignments (25%)
Paper reviews: 4 written
reviews (1-2 pages) of short (10-15 page) research papers (15%)
Examinations: 1 midterm
(15%), 1 final exam (20%)
Computer language(s): C/C++ and
Java (either permitted for term programming project); Open GL, other
graphics libraries and packages (e.g., Kinetix
3D Studio MAX) to be taught and used
Project: term
programming project for all students (25%); additional term paper or project
extension option for graduate students and advanced undergraduates
·
Recommended text: Computer Graphics, Second Edition (C Version), D. D. Hearn and M. P. Baker. Prentice-Hall, 1997. ISBN: 0135309247
·
Readings in Information Visualization: Using Vision to Think, S. K. Card, J. D. MacKinlay (editor), and B. Schneiderman (editor).
Morgan Kaufmann, 1999. ISBN: 1558605339
·
The Visual Display of Quantitative Information, Reprint Edition, E. R. Tufte. Graphics Press, 1992. ISBN: 096139210X
·
Envisioning Information, E. R.
Tufte. Graphics Press, 1990. ISBN: 0961392118
·
Visual Explanations: Images and Quantities, Evidence and Narrative, E. R. Tufte. Graphics Press,
1997. ISBN: 0961392126
·
3D Computer Graphics, A. Watt. Addison-Wesley,
1993. ISBN: 0201631865
·
Advanced Animation and Rendering Techniques, A. Watt. ACM Press, 1999. ISBN: 0201544121
·
The Fractal Geometry of Nature, B. B.
Mandelbrot. W. H. Freeman, 1988. ISBN:
0716711869
·
Fractals Everywhere, 2nd Edition, M. F. Barnsley. Academic Press, 1993. ISBN: 0120790610
Lecture |
Date |
Topic |
(Primary) Source |
0 |
January 14 |
Administrivia; overview of CG |
FVD Preface, Chapter 1 |
1 |
January 19 |
Review of basics 1: math foundations |
FVD Appendix, 1-4 |
2 |
January 21 |
Review of basics 2: transformations |
FVD Appendix, 5-7 |
3 |
January 26 |
Review of basics 3: interfaces |
FVD 10 |
4 |
January 28 |
Basic raster graphics |
FVD 2-3 |
5 |
February 2 |
Clipping, polygons, z-buffering |
FVD 3-4 |
6 |
February 4 |
2D/3D libraries: OpenGL intro/review |
FVD 5-6 |
7 |
February 9 |
Projections |
FVD 6 |
8 |
February 11 |
Splines: basics, Bezier |
FVD 11.1, 11.2.1-11.2.2 |
9 |
February 16 |
Splines: B-splines, NURBS, surfaces |
FVD 11.2.3-11.2.10, 11.3 |
10 |
February 18 |
3D graphics data structures |
FVD 12.1-12.5 |
11 |
February 23 |
Basic constructive solid geometry
(CSG) |
FVD 12.6-12.10 |
12 |
February 25 |
Color; visible surface data
structures |
FVD 13, 15.1-15.2 |
13 |
March 1 |
Visible surface algorithms |
FVD 15.3-15.9 |
14 |
March 3 |
Illumination:
flat, Gouraud, Phong, etc.
|
FVD 16 |
15 |
March 8 |
Midterm review |
FVD 1-6, 11-13, 15-16 |
|
March 10 |
Midterm exam |
Focus: 5-6, 11, 15-16 |
16 |
March 15 |
Illumination models: ray tracing |
FVD 15.10, 16.12 |
17 |
March 17 |
Illumination models: radiosity |
FVD 16.13-16.14 |
18 |
March 29 |
Fractal systems: CG, image
processing |
FVD 20.3 |
19 |
March 31 |
Mapping, particle, PBM, FS systems |
FVD 16.3, 20 |
20 |
April 5 |
Animation: basic methods |
FVD 21 |
21 |
April 7 |
Photorealistic CGI/CGA packages |
FVD 14 |
23 |
April 12 |
OO CG systems and GUIs, vis overview |
FVD 7, 9, 10.1-10.2 |
24 |
April 14 |
Visual display of quantitative info |
Tufte, 1992, FVD 9.1-9.4 |
25 |
April 19 |
More on visual display of quant.
info |
Tufte, 1992, FVD 9.5-9.6 |
26 |
April 21 |
Envisioning information |
Tufte, 1990, FVD 10.1 |
27 |
April 26 |
More on envisioning information |
Tufte, 1990, FVD 10.2 |
28 |
April 28 |
Visual explanations |
Tufte, 1997, FVD 21.1 |
29 |
May 3 |
More on visual explanations |
Tufte, 1997, FVD 21.2-3 |
30 |
May 5 |
Future of CG research;
final review |
FVD 5-7, 9, 11-16, 20-21 |
|
May 8 |
FINAL EXAM |
Focus: 9, 14-16, 20-21 |
FVD: Computer
Graphics, 2nd edition, J. D. Foley, A. vanDam, S. K. Feiner, and
J. F. Hughes
HB: Computer
Graphics, 2nd edition, D. D. Hearn and M. P. Baker
Lightly-shaded entries denote the due date of a written or programming assignment.
Heavily-shaded entries denote the due date of a paper review.
·
Official class page: http://ringil.cis.ksu.edu/Courses/Spring-2000/CIS736
·
Instructor’s home page: http://www.cis.ksu.edu/~bhsu
Note: It is the student’s responsibility to be aware of class
announcements and materials posted on the official class page, so please check
it frequently.
Required
readings, along with reference manuals and tutorials for software used in the
course, will be available for purchase (in 2 packets) from the Engineering Copy
Center in 14 Seaton Hall.
·
URL: http://ringil.cis.ksu.edu/Courses/Spring-2000/CIS736/Board
·
Primary purpose: for class discussions (among students and
with instructor)
Note: Postings
on the web board will tend to get a more rapid response from the instructor
than e-mail, besides which, they are sometimes of benefit to fellow students.
·
Tentative title: CIS736WHH-L@cis.ksu.edu
·
Optional (no course-critical announcements)
·
For research announcements, related job opportunities, etc.
·
Sign up if
interested
Homework
assignments will be given out 2 to 3 weeks apart, for a total of 6. Your lowest score will be dropped (see
below). Two of these homeworks will be
programming-based, two will be written, and two will require you to run (and
possibly modify) an existing library or graphics package using a specification
or sample data, and analyze the results.
Type
(do not hand-write) homeworks; handwritten solutions are worth 0.8 credit.
For
programming assignments and the course project, you are permitted to use your
choice of a high-level programming language (C++ and Java are strongly
preferred; consult the instructor if you intend to use any other programming
language). You must, however, use a
development environment that is available to the CIS department. Consult the class web page for approved
compilers.
The
course project proposals will be due on Monday, February 14, 2000 and will
count for 20% of the project grade.
For
graduate students and advanced undergraduates interested in working on a class
project, you may elect an additional 1 hour of credit as a section of CIS 798 (Special
Topics in Computer Science) and either turn in a term paper or work on an
extension of the course project or a small-scale independent study
project. You may sign up for this
option any time before February 14, 2000 (talk to me during office hours or
send e-mail). Suggested project topics
and guidelines will be posted on the course web page. Examples include: an animation project; a photorealistic
rendering project; rendering one or more scenes using techniques such as ray
tracing and radiosity; an experiment with fractal image synthesis or
compression; an in-depth comparison of computer-aided design (CAD) or
statistical data visualization techniques studied in the course; or improving
an existing illumination model or analyzing it formally.
Cheating consists of misrepresenting another’s work
or knowledge as your own. It includes
not only copying of test answers, but plagiarism of another person’s written
material. While you are encouraged to discuss class material,
homework problems, and projects with your classmates, the work you turn in must be entirely your own. For homework assignments, this means that if
you work together with a fellow student, you should still produce the final,
written material from your own notes and individual work, rather than from common notes that you produced together. You should follow similar guidelines for
programming assignments and individual projects; while reuse of previously
developed source codes may be permitted in these cases (provided you
acknowledge the authors appropriately), you must not use directly use code developed by fellow students. Please consult the University honor code (http://www.ksu.edu/honor) for further
guidelines on ethical conduct, and understand the regulations and penalties for
violating them.
The codes
that you are permitted to use on certain assignments may be limited, beyond the
specifications of plagiarism standards.
When in doubt about whether you may use a particular program on a
written or programming assignment, consult the instructor first. My objective is to
help you learn as much as possible from the assignments; sometimes this means
that I want you to use existing code and sometimes I will prefer for you to
develop it yourself, to better understand the techniques.
Credit
for the course will be distributed as follows:
Component
|
Quantity
|
Low
Scores
Dropped
|
Points
Each
(Out
of 1000)
|
Value
|
Homework (Written/Programming Assignments) |
6 |
1 |
50 |
25% |
Paper Reviews and Commentaries |
4 |
1 |
50 |
15% |
Midterm Exam (Closed Book) |
1 |
0 |
150 |
15% |
Course Project (Due May 3, 2000) |
1 |
0 |
250 |
25% |
Final Exam (Open Book/Notes) |
1 |
0 |
200 |
20% |
Homework
and exams may contain extra credit
problems.
Late
policy: Homeworks are due at 5:00pm on Fridays; you may request an extension to
the following Monday if you need one by
the due date (but I recommend you do not take this option). 10% credit will be deducted for each day the
assignment is late past 11:59pm that Monday.
There will be no additional extensions!
Letter
grades will be assigned based on the distribution of raw scores (“curved”).
Undergraduate and graduate students will be graded on the same curve. Acquiring 85% of the possible points,
however, guarantees an A; 70%, a B; 55%, a C.
Actual scales may be more generous than this if called for, but are not
expected to be.
If you
elect to take an additional CIS 798 project option (for 1 hour of credit), your
grade for CIS 736 will still be assigned based only on the above
components. The additional project
component will be graded separately (as CIS 798) and weighted proportionately.
1. Assigned Sunday, January 16, 2000, due Friday, January 28, 2000
2. Assigned Monday, January 31, 2000, due Friday, February 18, 2000
3. Assigned Monday, February 21, 2000, due Friday, March 3, 2000
4.
Assigned Monday, March 6, 2000, due
Friday, March 31, 2000
5.
Assigned Monday, April 3, 2000, due
Friday, April 14, 2000
6.
Assigned Monday, April 17, 2000, due
Friday, April 28, 2000
An important part of learning
about computer graphics and visualization systems, whether for research or
development applications, is understanding the state of the field and the
repercussions of important results. The
readings in this course are designed to give you not only a set of tutorials
and references for machine learning tools and techniques, but to demonstrate
the subject as a unified whole, and to encourage you to think more deeply about
the practical and theoretical issues.
Toward
this end, I have selected 4 papers out of those in your (2) course notes
packets. The first 2 of these are in
the first packet and the last 2 are in the second. Before you come to lecture on the dates indicated on the class calendar,
you should submit (by e-mail to the instructor) a short review of, and commentary on, the assigned paper.
This commentary need be no longer than 2 pages (though you can go up to
3 pages if you feel you have something meaningful to add).
This review is an important part
of the course, because it can:
·
help you to review and rehearse material from lecture
·
bring to light questions that you may have about the
material
·
improve your ability to articulate what you have learned
·
help guide the lecture/discussion
·
help you to think about working on projects (implementations
or research) in this field
Here
are some guidelines on writing the reviews:
1.
Try to be brief and concise.
2.
Concentrate on pointing out the paper’s main strengths and flaws, both in content (key points, accuracy,
impact/implications, deficiencies) and in presentation (organization,
clarity/density, interest). Try not to merely summarize the paper.
3.
Some questions to address (typically a couple in each
paper):
·
Is the paper of sufficiently broad interest? What do you think its intended audience is? To
what audience do you think the paper is significant?
·
What makes the paper significant or insignificant?
·
How could the presentation be improved to better point out
important implications?
·
Is the paper technically sound? How so, or in what areas is it not entirely sound?
·
What novel ideas can we pick up (about the topics covered in
lecture) from the paper?
4.
Comment on how the paper (or the topic) affects your own
work. How is it relevant (or
irrelevant) to you?
5.
How might the research be improved in light of how the field
has progressed since it was published?
Some of these papers were catalysts for research in their areas, so it
is sometimes infeasible to second-guess their authors; but comment on what
could be done better today.
Paper reviews are late (worth 0
credit) after midnight of the day of the lecture when they are due (i.e., you
must submit them before 12:00am Saturday).
Do not plagiarize. It is relatively easy to detect plagiarism
of material from the paper itself, related references, and paper reviews of
classmates! Again, refer to http://www.ksu.edu/honor for regulations
and further guidelines on academic honesty.
Be sure to consult the class
web page frequently and post to it; feel free to introduce yourself to your
on-campus classmates. Contact the
instructor as soon as possible if you are unable to access to any class
resources (computer accounts, papers, book chapters) that you require.