[Bowdoin Computer Science]

Project 1: Visualization and Flow Modeling on Grid Terrains

The goal of this project is to create a tool for visualization and basic flow modeling of grid datasets. The required functionality is to visualize a grid dataset in 3D and compute flow direction and flow accumulation of a grid dataset.

The interface is open-ended, but ideally the user would be able to perform any combination of these commands on any grid dataset. For instance:

cslab20: > MyGis
..Starting MyGis program.
MyGis> help
..Usage:
display surf=<grid-name> [col=<grid-name>]
computeFD elev=< grid-name> dir=<grid-name>
computeFA dir=< grid-name> accu=<grid-name>
help
exit
MyGis> display
..usage: display surf=<grid-name> [col=<grid-name>]
MyGis> display surf=set1.asc
..Displaying set1.asc
MyGis> display surf=kaweah.asc
..Displaying kaweah.asc
MyGis> computeFD elev=kaweah.asc dir=kaweahFD.asc
..Computing FD for kaweah.asc
MyGis> display surf=kaweahFD.asc
..Displaying kaweahFD.asc
MyGis> display surf=kaweah.asc col=kaweahFD.asc
..Displaying kaweahFD.asc draped over kaweah.asc
MyGis> computeFA dir=kaweahFD.asc accu=kaweahFA.asc
...Computing FA for kaweah.asc
MyGis> display surf=kaweah.asc col=kaweahFA.asc
..Displaying kaweahFA.asc draped over kaweah.asc
MyGis> display surf=kaweahFD.asc col=kaweah.asc
..Displaying kaweah.asc draped over kaweahFD.asc
MyGis> display surf=sierra.asc
..Displaying sierra.asc
MyGis> exit
..Exiting. Bye.
cslab20:

Project 1 break-up into smaller assignments:

  1. Assignment 1: doubly-linked list
  2. Assignment 2: multiply a grid
  3. Assignment 3: draw a simple object in OpenGL
  4. Assignment 4: render a grid in 2D
  5. Assignment 5: render a grid in 3D
  6. Assignment 6: flow modeling