|
WHAT IS THIS
COURSE ABOUT?
The primary
goal of 6.837 is to introduce many important data structures and
algorithms that are useful for presenting data visually on a computer.
6.837 does not cover the use of graphics design applications such
as Photoshop and AutoCAD. Nor, does it focus on the various graphics
programming interfaces or graphics languages such as OpenGL or Renderman.
In short, 6.837 is a programming class. The goal of this class is
to provide you with sufficient background to write computer graphics
applications.
Roughly speaking,
the first third of this course will address a broad range of topics
that that we refer to as Raster Methods. These include two dimensional
computer graphics, raster operations, imaging methods, and user
interface design and construction. The second half of the course
will cover topics related to three-dimensional computer graphics,
including representation, illumination, shading, visibility determination,
rendering, and animation.
WHAT DO YOU
NEED TO KNOW BEFORE YOU TAKE THIS COURSE?
Everyone taking
6.837 is expected to have taken courses in both calculus and linear
algebra. We warn you now because some of these topics will not come
up to a significant extent until later in the course (after the
drop date).
All projects
in 6.837 will all be written in the Java programming language. If
you do not already know Java, then you are expected to be familiar
with at least one of the following programming languages: Scheme,
C, C++, or Pascal. If you have not seen Java before then you might
want to consider buying one of the many primers available on the
subject.
6.837 GRADING
5
Programming Exercises |
60% |
Mid-term
Quiz |
20% |
Final
Examination |
20% |
TEXTBOOK
There will
be no required textbook this semester. You will be given copies
of the lecture notes and handouts with supporting materials. If
you find that you need additional background, we will also assign
readings from the following recommended books.
Graphics
Book:
Hearn, Donald and M. Pauline Baker, Computer Graphics, C version,
2nd Edition, Prentice Hall, Inc. Upper Saddle River, New Jersey,
1997, 652 pages, ISBN 0-13-530924-7.
This book is well organized and provides a fair introduction to
most of the topics that we will cover this term. You will find that
the illustrations and code fragments are a reasonable supplement
to the materials covered in the lectures.
Java Book:
Flanagan, David, Java in a Nutshell, 2nd Edition, O'Reilly and
Associates, Inc., Sebastopol, California, 1997, 628 pages, ISBN
1-56592-262-X.
A quick introduction to the Java language for anyone with previous
C or C++ experience. This book contains very little hype that is
typical of most Java books. It presents an introduction to Java's
object-oriented approach. The second part of the book is largely
a reference manual of the Java language and its associated APIs.
Java Documentation
and Tutorials:
http://web.mit.edu/java/www
Description
of Java setup on Athena with links to the best reference for Java
classes. Includes Sun's tutorials for writing Java applets.
|