Date | Topic | Reading | Assignment |
Jan 22 | Introduction.
The C programming language. C: Input/output, loops, functions, call by value. |
Chapter 1 K&R
Overview (from Geometry Algorithms) Applications of Computational Geometry (from MIT) The C programming language (wikipedia) The C programming language The history of C |
|
Jan 24 | C: Pointers. | K & R | Assignment 1 (DH-linked list) |
Jan 29 | C: Pointers. Header files. | GNU Emacs reference card
Emacs quick reference |
|
Jan 31 | C: More C (scanf, strings, Makefiles, compiling, command line arguments). | K & R | Assignment 2 (shifting segments) |
Febr 5 | OpenGL basics. |
Example: graphics1.tar |
graphics2.tar
The Red Book: Chapter 1 (Intro) | Chapter 2 (Drawing simple objects) |
Assignment 3 (OpenGL warmup) |
Febr 7 | OpenGL rendering (modelview and projection, order of transformations). |
Red Book: Chapter 3 (Viewing) | Assignment 4 (OpenGL, planets or robot) |
Febr 12 | 2D and 3D transformations. Homogenous coordinates. | Red Book: Appendix G | Assignment 5 (texture and lighting in previous assignment). |
Febr 14 |
Visibility: ray-shooting vs. object space. Painter's algorithm. OpenGL z-buffer algorithm. |
Project 1 (Visualize TIGER2006 data) (due Febr 26) | |
Febr 19 | BSP trees | BSP who? (from Smith) | |
Febr 21 | BSP trees | BSP faq | |
Febr 26, 28 | Project 1 demo
B-trees. (a, b)-trees. |
B-tree (Wikipedia)
B-trees (from Sedgewick, Princeton) Animations: B-tree | 234-trees |
|
March 4 | B-trees. (a,b)-trees. | ||
March 6 | Project 2 discussion. | Project 2 (SP on TIGER data) | |
March 11, 13 | Spring break. | ||
March 18, 20 | Spring break. | ||
March 25 | Modeling flow on terrains.
Terrain guarding. Terrain meshing and simplification. |
Richard Stallman & GNU. Stallman interview. Free software foundation.
Open-source software. Live and let license Linus Torvalds and Unix. |
(Due: Project 2 flowchart) |
March 27 | Quadtrees. | Additional reading: bibliography
Demos: Region qdt | PR qdt | Spatial demos Applications: Terrain flythrough | Image representation | Collision detection |
|
April 1 | Applications of Quadtrees. | (Due: Project 2 adjacency list of RT1 data) | |
April 3 | Spatial data (points, lines, polygons, rectangles) and spatial
data problems (range searching, intersctions, nearest neighbors,
containment, location). First shot: Grids and bucketing. |
(Due: Project 2 mouse clicking) | |
April 8 | Shortest paths and Dijkstra's algorithm. | ||
April 10 | Level-of-detail (LOD) rendering.
Discussion: LOD on Tiger data using quadtrees. |
Readings:
|
(Due: Project 2 shortest paths)
Assigned: Project 3 (LOD on TIGER data) |
April 15 | Discussion: LOD on Tiger data using quadtrees. | ||
April 17 | Shortest paths algorithms. | Readings:
| |
April 22 | Improving and engineering shortest-path queries in road networks.
Range searching. 1D: binary search tree. 2D: The kd-tree. Range tree. |
Readings:
|
|
April 24, 29 | R-trees and bounding-volume hierarchies. | Readings:
|
due April 29: construct and visualize tiles (Project 3 part 1) |
May 1 | The R*-tree. Space-filling curves. The Hilbert-R-tree. | R-tree demo (from UMD, by Hanan Samet) | |
May 6 | More on R-trees and space-filling curves.
Class overview. |
The R-tree portal
Readings: Sample chapters from R-trees: Theory and Applications by Manolopoulos, Nanopoulos, Papadopoulos, Theodoridis: |
|
May 14, 2-5pm | Final project demo and presentations. |
Other topics: