WPI Computer Science Department

Computer Science Department
------------------------------------------

CS 4731 - Term A, 2002
Computer Graphics


Lectures: SL-115, MTRF, 9am - 9.50am

Instructor: Prof. Emmanuel Agu, FL-143, 508-831-5568, emmanuel@cs.wpi.edu
Office Hours: Monday, Tuesday, Thursday, Friday: 10:00AM - 11:00AM, Others by appointment

Teaching Assistants: Beth Donovan, CS Annex, bdonovan@cs.wpi.edu, Office hours: Tues (3pm - 5pm), Wed (10am - 12pm), Thurs (1pm - 3pm). Yakov Kronrod, CS Annex, yakov@cs.wpi.edu, Office hours: Tue (1pm-3pm), Wed (1pm-3pm), Thur (3pm-5pm)

Text: Computer Graphics using OpenGL (second edition) by F.S. Hill Jr. Supplemental texts will be placed on reserve in the library.

Facilities: You may do your assignments in C, C++, java or any high level language for which OpenGL or Mesa libraries are available on Unix or windows. Note that compiled graphics code tends to be large and may consume more than one megabyte of disk space. Makefiles for building MESA programs on WPI can be found in /cs/cs4731/software. Important: No matter what platform you write your code on, the final executable must run on the WPI CCC machines with clear instructions on your documentation how to run it.

Class Websites: The class website is at http://www.cs.wpi.edu/~emmanuel/courses/cs4731/. A myWPI class website has also been set up. The discussion board should be used for asking questions to avoid excessive emails and so that everyone can benefit from answers given. Emails should be used for specific questions which are unique to you.

Software Utilities: You will find a simplified interface to OpenGL, called MiniGL, in the /cs/cs4731/software/demos directory on wpi. All programs for this course can be completed by extending one or more of the sample programs provided. You can also get miniGL off the web in zip format for the PC and tar format for unix. The README file may be useful in knowing how things are written and getting things going. A Makefile has also been provided for the UNIX environment. The include files for the mesa libraries on the CCC machines can be found at /usr/local/include/GL. The library files are at /usr/local/lib.

Grade Policy: 40% exams (2 exams), 60% assignments

Notes:

  1. Reading is mandatory, working ahead is encouraged.
  2. Exams are based on both lectures and readings, so class attendance is strongly encouraged.
  3. Working and discussions in pairs is okay. However, each student must turn in different and unique projects.
  4. Cheating is strictly forbidden
  5. Cheating (a.k.a., academic dishonesty), defined as taking credit for work you did not do or knowledge you do not possess, is strictly forbidden. First offenders will receive a zero grade for the assignment or exam in question and an academic dishonesty report will be filed with the Office of Student Affairs. Repeat offenders will receive an NR for the course and the case will be brought before the campus hearing board (see Student Handbook).
  6. All assignments should be submitted using the turnin facility (For more info on turnin, see http://www.cs.wpi.edu/~Help/turnin.html). , which can be found in the bin directory in the cs4731 account on the CCC servers. Both your executable and source code must be turned in. Files MUST include instructions on compiling and running the program and should be WELL documented. Insufficient documentation will result in a loss of points. Data files should include a comment line at the start giving your name, the assignment for which it is intended, and the most recent date in which the file was changed. Please do NOT turn in hardcopies or executables! Any questions regarding the program may be sent to either the TA or me via e-mail, or you may stop by during the posted office hours.

Projects: There will be two projects in 2D, 3 in 3D and one on raster graphics. The 3D projects involve the modeling and rendering of a 3D robot for entry into a national robotics competition An approximation would be fine - I wouldn't expect you to be able to create a state-of-the-art model - but it should be recognizable. You can choose a fixed configuration of components (location and orientation of torso, arms, legs and head, etc) though those of you planning on taking CS4732 might want to consider configuring the components in such a way as to facilitate bending and twisting motions.

You should keep the level of detail and complexity in your object low until you get the basic functionality down, and then use your imagination to make it as interesting as you wish. For example, a basic robot could be approximated with a number of cylinders, spheres and boxes, and later enhanced by varying sizes, shapes, and detail. Don't get too detailed, though, as the computational demands in executing your program may become quite tedious during debugging and refinement! Late assignments (turned in after the start of class on the due date) will be penalized 15 percent per day. Assignments will not be accepted after the start of class on the Monday following the due date.

Schedule:

Week 1 (Aug 22 - 29)
   Topics: overview, graphics intro, basic HW/SW, OpenGL/GLUT intro, 2D systems, window-to-viewport mapping, clipping
   Reading: Ch 1 - 2, 3.1 - 3.3 
   Project 1  Due: August 30

Week 2 (Aug 30 - Sept 5)
   Topics: Fractals, points, scalars, vectors, 3D modeling
   Reading: Ch 9, 4.2-4.4, appendix 2, 6.1, 6.2
   Project 2  Due: September 6

Week 3 (Sept 6 - 12)
   Topics: 3D Transformations and coordinate systems
   Reading: ch 5.2 - 5.5
   Midterm Exam: September 12

Week 4 (Sept 13 - 19)
   Topics: The synthetic camera, view volume and projection, illumination, shading
   Reading: ch 7.1 - 7.4, 8.1-8.3
   Project 3  Due: September 20

Week 5 (Sept 20 - Sept 26)
   Topics: Texturing, Hidden Surface Removal, Shadows
   Reading: ch 8.4 - 8.6, 13
   Project 4 Due: September 27

Week 6 (Sept 27 - Oct 3)
   Topics: Curves, raster graphics
   Reading: ch 10, 11
   Project 5 due: October 4

Week 7 (Oct 4 - 10)
   Topics: Color spaces, ray tracing
   Reading: ch 12, 14.1 - 14.7
   Project 6 due: October 11, 5pm
   Final Exam: October 10
Class Slides

Week 1 Slides Lecture 1 pdf Lecture 2 pdf
Week 2 Slides Lecture 3 pdf Lecture 4 pdf Lecture 5 pdf Lecture 6 pdf
Week 3 Slides Lecture 7 pdf Lecture 8 pdf Lecture 9 pdf
Week 4 Slides Lecture 10 pdf Lecture 11 pdf
Week 5 Slides Lecture 12 pdf Lecture 13 pdf Lecture 14 pdf Lecture 15 pdf
Week 6 Slides Lecture 16 pdf Lecture 17 pdf Lecture 18 pdf Lecture 19 pdf
Week 7 Slides Lecture 20 pdf Lecture 21 pdf Lecture 22 pdf Lecture 23 pdf (warning: large file!)
Week 8 Slides Lecture 24 pdf

Old Exams

Past Midterm Exams Midterm 98 ps Midterm 99 ps Midterm 01 ps
Final Exams Final 98 pdf Final 99 pdf Final 01 pdf

Main Web Resources Miscellaneous Web Resources

[Feedback] [Search Our Web] [Help & Index]

[Return to the WPI Homepage] [Return to CS Homepage]

mailto:webmaster@cs.wpi.edu