ECS 175
Lectures and Reading
- 4/2: Introduction, syllabus, rasterization and linear
interpolation. The idea we gave for figuring out which pixels to color
inside a triangle is similar to the DDA line drawing algorithm on pages
397-399 in the textbook. Affine combinations are another way of
looking at linear interpolation; see page 26 in Prof. Mount's notes.
- 4/5: Color, linear interpolation of color. Pages 57-63 in the
textbook, and pages 97-100 in Prof. Mount's notes. There are some great
Web sites on color. I really like this one from the
Ontario Science Center.
- 4/9: deCasteljau's construction of quadratic Bezier curves.
Prof. Mount's notes, pages 74-77, is a really good reference.
Here is a good
de Casteljau applet, from Jens Graveson, a professor in Denmark.
The textbook describes cubic Bezier curves on pages 494-497.
- 4/12: Implementing Bezier curves; image file formats; introduction to next project.
On image file formats, see pages 307-310 in the text, page 8 in Prof. Moun's notes.
- 4/14: Translation, scale, rotation and reflection transformations
and combining many transformations in one matrix. Pages 32-36 in
Prof. Mount's notes are a very good reference. Pages 179-186 in the
textbook cover the technical material we will do in the next few lectures.
- 4/16: Introduction to fractal plants project. Dr. Prusinkiewicz, a leading figure in the algorithmic description of plants, has a wonderful on-line book with inspiring movies. Chapter 8, 9, and 10 are especially relevant to our project.
- 4/19: Matrix stack, some examples of fractal plants. Section 4.9.6 in the textbook describes the OpenGL matrix stack, and section 9.4 on pages 428-431 descibes the kind of modeling we are doing. Modeling transformations in OpenGL are described on pages 111-120 of the OpenGL programming guide (the same passage is here in the
on-line version).
- 4/21: Uneven scales, shear. Affine transformations. The effect of
transformation matrices on homogeneous vectors. We proved that affine
transformations transform a parallel vectors to parallel vectors, and
hence parallelpipeds into parallelpipeds. Pages 179-181 in the book.
Affine transformations are discussed in pages 32-35 of Prof. Mount's
notes, homogeneous coordinates for vectors on page 29-30.
- 4/23: Completed proof that all affine transforms are combinations
of rotation, scale, translation, streach/sqaush, and reflection.
Rght-handed coordinate systems (defined on page 151 in the book).
Orthographic projection, pages 45-46 in Prof. mount's notes. The
hidden-surface removal problem, depth sorting, and z-buffering,
pages 93-97 in Prof. Mount's notes, or pages 244-246 and 393-396
in the book.
- 4/26: Animation, double-buffering: pages 129-130 in the book
or pages
3D transformations (already discussed in previous reading).
- 4/28: Rotations in 3D; in the book, these are treated in the
context of a track-ball application on pages 203-207. Representation
of 3D objects with vertex table and face table, see the example on
pages 88-89 in the OpenGL Programming guide (towards the end of
chapter 2 in the on-line version.
- 4/30: Backface culling. CW/CCW orientation in 2D,
left-hand/right=hand coordinate system orientation in 3D, determinant
is signed area/volume. See page 38 in Prof. Mount's notes.
- 5/3: Review.
- 5/5: Midterm
- 5/7: Computing normal vectors. Pages 281-283 in the text, and pages
693-696 in the OpenGL Programming Guide. Also the geometry review on pages
26 and 27 of Prof. Mount's notes might be helpful.
- 5/10: Glass-ball operator interface, cursor motion.
- 5/12: Generalized cylinders and normals to parameteric surfaces.
- 5/14: Bezier surfaces. Page 517-530 in the OpenGL Red Book
describe how to produce them in OpenGL. Pages 497-498 in the text or
pages 77-78 in Prof. Mount's notes give some theory. You are expected
to understand the formula for a point on a Bezier surface given the
control points.
- 5/17: Perspective. Pages 225, 236-239 in the text book and pages
46-50 in Prof. Mount's notes. What is a point at infinity?
- 5/19: Projection matrices in OpenGL. Pages240-243 in the book, or pages 127-131 in the Red OpenGL book; the actual matrices are in Appendix F on page 701.
Pages 52-54 in Prof. Mount's notes are the best reference.
- 5/21 and 5/24: Local illumination lighting model in OpenGL.
Pages 267-280 in the text. Note: the book is wrong when
it says that lighting calculations are done after the projection
matrix is applied; lighting is done after applying the modelview
matrix and before applying the projection matrix; see pages 614-617 in
the OpenGL book for an overview of the entire graphics pipeline (which
should be starting to make sense!). Also pages 54-62 in Prof. Mount's notes,
and pages 214-218 in the OpenGL Red Book.