CS 350 Spring 2009: Syllabus
The link to code/demos: here.
Sample grid data: here.
Visibility project material: here
Here is what happened in class.
- Week 1 [Jan 20, 23]: Introduction to GIS. Intro to C. Intro to OpenGL.
Project 1
Materials:
- Week 2 [Jan 27, 30]: Intro to databases.
Materials:
- Week 3,4 [Feb 3, 5, 10, 12]: RDBMS and spatial data. Topological data representation.
Materials:
- Week 5 [Feb 17, 19]: Virtual memory system. I/O-model and I/O-analysis.
Topics: Scanning. I/O-analysis of searching with a BST; quicksort, heapsort, mergesort. I/O-efficient sorting. I/O-efficient flow.
Materials:
- Week 6, 7 [Feb 24, 26, March 3, 5]: Intro to
geometric algorithms and fundamental geometric techniques:
divide-and-conquer, line-sweep and incremental construction.
Topics: Area of a triangle, area of a convex and non-convex
polygon. Orientation test. Collinearity. Betweenness. Segment
intersection test. Point-in-polygon test. Convex hulls. Closest pair
of points. Visibility. Segment intersection.
Speakers:
- Seth Glickman: A general point-in-polygon test.
- Will Richard: Convex hull. Incremental construction in O(n2). Improved incremental construction in O(n lg n).
- Laura: Visibility on terrains. A brute-force quadratic algorith. A line-sweep algorithm for computing visibility on grid terrains.
- Jack Morrison: A divide-and-conquer algorithm for finding the closest pair of points.
- George Slavov: A divide-and-conquer algorithm for convex hull.
- Jeremy Fishman: Finding the intersections between a set of vertical and horizontal line segments.
- Tucker Hermans: Using A* to speed up Dijkstra SP algorithm.
- Laura: Convex-hull lower bound (reduction sorting to ordered CH).
- Laura: A line-sweep algorithm for finding the pairwise intersections of a set of line-segments in the plane (Bentley-Ottmann sweep).
Materials:
- Week 8 [March 24, 26]: Visibility on terrains.
Speakers:
- Laura: A different sweep algorithm for computing visibility on terrains. An I/O-efficient algorithm for computing visibility.
- Mark McGranaghan: An O(lg n) approximation algorithm for vertex cover.
- Guarding a terrain.
Materials:
- Week 9 [March 31, Apr 2]: Line simplification. Terrain simplification.
Speakers:
- Kyle Hebert: Douglas-Peucker algorithm for line simplification.
- Imai-Iri algorithm for line simplification.
- Surface simplification. Decimation. Incremental refinement.
Materials:
- Week 10, 11, 12 [Apr 7, 9, 14, 16, 21, 23]:
Visibility.
Materials: -
- Readings:
- Approximating the visible region of a point in a terrain (Boaz
Ben-Moshe, Paz carmi, Matthew Katz, Alenex 2004).
- Visibility preserving terrain simplification (Ben-Moshe, Joe
Mitchell, Matthew Katz, Yuval Nir, SoSG 2002)
- Algorithms for visibility compytations on digital terrain models (Leila de Floriani and Paola Magillo)
- Representing the visibility structure of apolyhedral terrain through a horizon map (de Folriani, Magillo)
- Fast horizon computation on all points of a terrain with visibility and shading application (J. Stewart, IEEE Trans. Vis & CG, 1997)
- Computing teh approximate visibility map, with applications to form factors and discontinuity meshing (J. Stewart and Tasso Karkanis, 1998)
- Hierarchical visibility in terrains (J. Stewart, Eurographics Rendering Workshop, 1997)
- Smugglers and border guards - the geostar project at RPI
A(Franklin, Inanc, Xie, Tracy, Cutler, Andrade, and Luk, ACMGIS
2007ACM GIS 2007)
- Multiple observer sitting and path planning on compressed
terrain (Tracy, Franklin, Cutler, Andrade, Franklin Luk, Inanc, and
Xie, SPIE 2007)
- Tradeoffs when multiple observer siting on large terrain
cells ( Franklin and Vogt, SDH 2006)
- Efficient observer siting on large terrain cells (Franklin
and Vogt, GIScience 2004)
- Approximating visibility (Franklin, GIScience 2000).
- Higher isn't necessarily better: Visibility algorithms and
paper experiments (Franklin and Ray, SDH 1994).
- Week 13 [Apr 28, 30]: Voronoi diagrams and Delaunay triangulations.
Materials:
- Week 14 [May 5]: Class summary. Invited talk.
Topics we did not cover:
- TINs in GIS and TIN algorithms. Isoline extraction and the contour tree.
- An I/O-efficient priority queue.
- Visibility of arbitrary objects. The horizon-tree.
- Edge-quadtrees and segment intersection (map overlay).
- The art-galery problem (polygon guarding). Heuristics for polygon guarding.
- Guarding 1D-polygonal chains. Heuristics.
- A 2-approxomation for TSP using Delaunay triangulations.