- Instructor:
*Dr. David Breen* - E-mail: david_AT_cs.drexel.edu (replace _AT_ with @)
- Office: Korman 297
- Office Hours: Tue 3:00-5:00
- Class Hours: Tue/Thur 11:00-12:20
- Class Location: Matheson 309
- Phone: (215) 895-1626
- Teaching Assistant:
*Craig Schroeder* - E-mail: cas43_AT_cs.drexel.edu (replace _AT_ with @)
- Office: Korman 207
- Office Hours: Wed 2:00-4:30

- Computer Graphics with OpenGL, Donald Hearn, M. Pauline Baker, 3rd Edition, Prentice Hall, 2004; ISBN: 0-13-015390-7

- Introduction to Computer Graphics, by James D. Foley, Andries van Dam, et al. Addison-Wesley Pub Co, 1994; ISBN: 0201609215
- Curves and Surfaces for CAGD, 5th ed., by Gerald Farin. Published by Morgan-Kaufmann

cs430_AT_lists.cs.drexel.edu (replace _AT_ with @)

To subscribe email address to class email list: send an email message to majordomo@lists.cs.drexel.edu with the words "subscribe cs430" in the body of the email message. To unsubscribe email addresses from the list, use "unsubscribe cs430".

It is University policy that you read your official
Drexel email; it is the course policy that you read it at least once per
day.

Computer Graphics represents a vast technical field,
ranging from mathematics and geometry topics to computer hardware and
software engineering topics to rendering, animation and virtual
reality, far more than can be comprehensively covered in a 10 week
term. Computer Graphics I is designed to provide students with an
introduction to the subject through detailed coverage of the
mathematics and implementation of 2D and 3D curves and surfaces. The
course culminates with a focus on 3D viewing
and visible surface algorithms.

Students are required to have taken CS260
(Introductory Data Structures and Algorithms) and Math 201 (Linear
Algebra). You will find this course extremely difficult if you do
not have strong (B or better) linear algebra skills. No review of
linear algebra will be given in this class. Students are assumed to
have excellent knowledge of programming. Students can use whatever
programming language they wish (C, C++, Java, Lisp, etc) for the
assignments in this class with the following caveat: you will need to
turn in both source code and an executable file for testing and
evaluation. Code must run, without dynamic linking, as a single
command-line process on Solaris OS. Arguments passed to the
command-line will parameterize assignments; hence you'll need to
read command-line arguments (argc, argv) and parse input files. This
course is mathematically intense and implementationally challenging.
You will be required to implement complex mathematical calculations as
a regular part of your assignments.

**Course Grading Scheme**

*I will use the standard grading scale of 100→ 90 (A), 89→ 80 (B),
79→ 70 (C), 69→ 60 (D), else (F).
Please also note that
incompletes will not be given for this course. *

**Assignments**

- Assignments (85%)
- Final exam (15%)

Students __must__ work on the assignments __
individually__. No geometry or graphics libraries may be used in the
homework assignments. 2 points (out of 10) will be deducted from late
assignments. You will be given a grade of **0** if an assignment is not
turned in before the next assignment is due.

The programming assignments must be submitted via the 'submit' command on queen.cs.drexel.edu before 11:59 PM on the due date.

*Note:* If the TA or instructor finds strong evidence of cheating
on assignments and/or the final examination, the student(s) involved
will receive an "F" in the course, and a memo describing the cheating
will be added to their student record. Be very careful, it is not
worth the risk.

*Note: *Your source code for all programming assignments will be
run through a plagiarism detection system. This program uses compiler
techniques, which are invariant of syntax and style. If you are
sharing code with other classmates, you will get caught.

**Examinations**

**There will be a final exam on material from the assignments and from class.**

The programming assignments must be submitted via the 'submit' command on queen.cs.drexel.edu before 11:59 PM on the due date.

- Assignment 1 (Draw clipped lines) - Due January 19

- Assignment 2 (Draw clipped, filled polygons) - Due February 9

- Assignment 3 (Draw Bezier curves) - Due February 16

- Assignment 4 (Draw 3D lines) - Due March 1

- Assignment 5 (Z-buffer rendering) - Due March 12

Week 1 (January 5-9)

- Reading Assignment - Chapter 1, 2.1→2.8, 3.1, 3.5, 3.7, 3.13, 6.5→6.7
- January 6 - Lecture :
Introduction 6 per page

- January 8 -
Lecture:
Lines 6 per page

- XPM Manual

- Reading Assignment - 15.1, 15.4, A.1→A.2, A.5, A.7, 5.1→5.6, 5.8→5.16, 5.18, 6.1→6.3
- January 13 -
Lecture:
2D-Transformations 6 per page

- January 15 -
Lecture:
3D-Transformations 6 per page

- January 19 - Assignment 1 Due
- Reading Assignment - 3.9→3.10, 3.14→3.15, 4.10→4.13, 6.8
- January 20 - Lecture: Polygons 6 per page
- January 22 - Lecture: Circles 6 per page

- Reading Assignment - 3.11, 8.8→8.10
- January 27 - Lectures:
Introduction To Curves 6 per page

- January 29 - Lecture: Bezier 6 per page

- Reading Assignment - 8.12, 8.14→8.17
- February 3 - Lecture: Bsplines and NURBS 6 per page
- February 5 - Lecture: Drawing NURBS 6 per page

- February 9 - Assignment 2 Due
- Reading Assignment - 4.5→4.6, 4.17, 10.9, 7.1→7.9
- February 10 - Lecture: Thick Primitives 6 per page
- February 12 - Lecture: Introduction to 3D Viewing 6 per page

- February 16 - Assignment 3 Due
- Reading Assignment - 7.11, 9.1→9.13
- February 17 - Lecture: Math of 3D Viewing 6 per page
- February 19 - Lecture: Culling and Z-Buffering 6 per page

- Reading Assignment - 8.1, 8.19→8.22
- February 24 - Lecture: Solid Models Part I 6 per page
- February 26 - Lecture: Solid Models Part II 6 per page

- February 13 - Assignment 4 Due
- Reading Assignment - 8.3→8.5, 8.7, 8.11, 8.13, 8.23→8.24
- March 2 - Lecture: Surfaces 6 per page
- March 4 - Lecture: Color 6 per page

- Reading Assignment - Chapter 12
- March 9 - Lecture: Fractals 6 per page
- March 11 - Lecture: Level Set Models 6 per page
- March 12 - Assignment 5 Due

File last modified on March 3, 2004.