Note that the timing and topics shown for future dates represent
projections that are subject to change as the course progresses.
Some lab and homework solutions provided courtesy Sara Mathieson.
No. |
Date |
Topics |
Before Class |
In Class |
Homework |
1 |
Sept. 7 |
Introduction |
Reading: Syllabus |
Lecture 0: response;
Lab 0: Hello World
|
|
2 |
Sept. 12 |
Images |
Reading: Sections
1.1 and
1.2
Videos: 1A,
1B;
slides 1A, 1B |
Lab 1: Checkerboard
(sample solution)
|
Homework 1: Snowflake
|
3 |
Sept. 14 |
Line drawing |
Reading:
Section 2.1
Video: #2,
slides
|
Handout 1
(solution)
|
|
4 |
Sept. 19 |
Polygons |
Reading: Section 2.2
Video: #3,
slides |
Lab 2: Regular Polygon (sample solution)
|
Homework 2: Polygons and Fill
|
5 |
Sept. 21 |
Fill algorithms |
Video: #4,
slides |
Handout 2 (solution)
|
|
6 |
Sept. 26 |
Linear algebra background |
Khan Academy on matrix multiplication;
Video: #5,
slides;
Matrix multiplication practice |
Lab M: Matrix Operations (sample solution);
|
Homework 3: Transformations (hint)
|
7 |
Sept. 28 |
Transformation Matrices |
Sarah's notes; Video: #6,
slides; Interactive guide |
Handout 3
(solution)
|
|
8 |
Oct. 3 |
Using Transformations |
Reading: Sections 2.3 and 2.6;
Video: #7,
slides
|
Lab 3: Transformations
(solution);
Demo: hierarchical model, animated
|
Homework 4: Animation
|
9 |
Oct. 5 |
Animation |
Reading: 12 Principles of animation.
Two Videos: #7.5A, #7.5J (7.5A slides, 7.5J slides)
|
Sailboat demo:
1,
2,
3
|
|
* |
Oct. 10 |
--- FALL RECESS --- |
10 |
Oct. 12 |
Bézier curves |
Reading: Nerding out with Bézier curves,
Video: #8,
slides |
Handout: Bézier curves
(solution);
|
Homework 5: Curves
|
11 |
Oct. 17 |
Line clipping |
Reading: Tutorials point,
Video: #9,
slides
|
Handout: Line Clipping (solution);
|
|
12 |
Oct. 19 |
Introduction to 3D graphics Projection |
Reading: Section 3.3
OpenGL tutorial on projection
Video: #10,
slides |
Projection handout
(solution);
| Midterm Exam |
13 |
Oct. 24 |
Introduction to WebGL |
Reading: Section 5.1
Video: #11,
slides, demo |
Lab 6: Pyramid in WebGL
(solution);
|
Homework 6: Walking in 3D
|
14 |
Oct. 26 |
Animation in WebGL
3D Transformations |
Reading: Section 5.2
Video: #12,
slides
|
Lab 7: Spinning Pyramid
(solution)
lookAt demo |
|
15 |
Oct. 31 |
Hierarchical models |
Reading: Section 2.4,
Spider example,
walker demo;
Video: #13
slides
|
Lab 8: Robotic Arm
(solution);
|
Homework 7: Solar System
|
* |
Nov. 2 |
Cromwell Day (no class) |
16 |
Nov. 7 |
Lighting and shading |
Reading: Section 4.1 and
Three.js geometries and materials and
Three.js light sources;
Video: #14,
slides;
lighting demo
|
Lab 9: Phases of the Moon
(solution);
|
Homework 8: Shading & Texture Mapping
|
17 |
Nov. 9 |
Texture mapping |
Reading: Section 4.3 and
Three.js textures, UV coordinates
Video: #15,
slides
|
Lab 10: Texture Mapping
(solution);
Demos: stone wall, globe
|
|
18 |
Nov.14 |
Texture mapping (cont)
| O'Reilly chapter on Three.js; Shadow mapping
Video: #16,
slides
|
Handout 6
(solution);
Handout 7 (solution);
Shadow demo
Lab 11: Intro to Blender
| |
19 |
Nov. 16 |
Hidden surface removal Blender basics |
Video: #17,
slides;
CG fast track tutorial (optional)
Resources:
Blender Manual |
Lab 12: Blender chair and wine glass
|
Final Project |
* |
Nov. 21 |
History of Computer Graphics |
No reading/video |
|
|
* |
Nov. 23 |
--- THANKSGIVING RECESS --- |
20 |
Nov. 28 |
Ray tracing |
Reading: Section 8.1
Video: #18,
slides
|
Lab 13: Blender wooden cup
|
Homework 9: Blender and Ray tracing |
21 |
Nov. 30 |
Ray tracing (cont) |
Reading: Section 8.1
Video: #19,
slides
|
Lab 14: Curves in Blender
|
|
22 |
Dec. 5 |
Collision detection Game design |
Game design videos: 1, 2, 3
Video: #20,
slides
|
Collision detection demo Handout 8 (solution)
|
|
23 |
Dec. 7 |
Subsurface Scattering
Particle Systems |
Reading: Particle Systems & Artificial Life
Video: #21,
slides
|
Lab 15: Intro to Particles
(solution);
Examples: Fireball, Volcano, Ring
|
|
* |
Dec. 12 |
Final Project Presentations |
|
|
|
24 |
Dec. 14 |
Final Review |
Video: #22,
slides
Handout 9
(solution);
Handout 10
(solution);
|
|
|
Self-scheduled final exam |