Visualization of Acoustic Simulation

Jim Roberts & Jesse Davis
Jim & I, seniors at Oberlin College in Spring 2001, are writing a program to visualize the acoustic simulation he wrote last semester. The purpose of the project for me is to get some real-world experience in scientific vis. I want to know how to work with a ‘customer’ to create a system that will help Jim continue his research. One of the most important considerations will be flexibility: as Jim's sim changes (partially in response to insights he gains from looking at the vis), the vis will have to change, too. GL apps are typically programmed in a procedural style to reflect GL's state-based architecture; I'm curious how this style will support rapid development.

Here's some technical stuff:

Project Outline:

Goals

  • Get some experience in scientific vis
  • Write a graphics app to solve a real-world problem
  • Learn techniques for rapidly changing a mid-sized app

Timeline

  1. Setup 2/11 - 2/17
    1. Put Linux on Jim's computer -- done
    2. Get Jim a CS login & lab pass -- done
    3. Get sim working on lab machine -- done
  2. Go from ASCII to binary 2/18 - 2/24
    1. Make sim output standard sound file -- deferred
    2. Spec format for binary string-position file -- done
    3. Output string-position file -- done
  3. Graphics 2/25 - 3/3
    1. Write GL prototype—string & plate -- done
    2. Zoom controls -- done
  4. Read binary file 3/4 - 3/17
    1. Memory-mapped file I/O -- unnecessary?
    2. Stepping -- done
    3. Jumping: can GLUT use the mouse sys-independently? -- yes, done
  5. Add sound graph to vis 3/18 - 3/31 -- done
  6. Simulate string-plate interactions in sim
  7. Add plate to vis

Screenshot from 3/26. The bar at the top indicates what point in time is displayed. The string is shown on the bottom some milliseconds after being plucked. The green points show the discretization, the blue lines are normals.

screenshot