- The first and most insignificant part is main.cpp which initializes the gui, and runs the main loop.
- The second part is util[.cpp / .h] which implements the height function. Everything in this part is self contained, and could be implemented in other programs without the rest. This is the only part that requires the gsl library, and does not require the fltk libraries.
- The third and final part is DrumGL[.cpp / .h] which contains the DrumGL class that handles user interactivity and drawing the OpenGL code (and drumhead).
A complete list of references:
Some of the following are related works, for instance, Flastad and Kin both provide movies or programs that have similar functionality to mine.-
Steve Zelditch. Vibrating Drum. Johns Hopkins University, F2005.
http://www.mathematics.jhu.edu/zelditch/Teaching/F2005110.302/\\PDF%20Lectures/DrumundBessel.pdf -
Weisstein, Eric W. "Bessel Function of the First Kind." From MathWorld.
http://mathworld.wolfram.com/BesselFunctionoftheFirstKind.html -
Daniel A Russell. "Acoustics and Vibration Animations". Kettering University, Flint, MI.
http://paws.kettering.edu/~drussell/Demos/MembraneCircle/\\Circle.html -
Hon Kin. "Sound Simulation of a Drumhead". The Hong Kong University of Science & Technology.
http://www.math.ust.hk/~machas/drum/ -
Paul Falstad. "Circular Membrane Applet". 25 March 2005.
http://www.falstad.com/circosc/ -
Wikipedia contributors. "Bessel Functions." Wikipedia, The Free Encyclopedia. 25 Aug. 2004. Web. 10 Mar. 2011.
http://en.wikipedia.org/wiki/Bessel_function -
Wikipedia contributors. "Trapezoidal Rule." Wikipedia, The Free Encyclopedia. 20 Apr. 2009. Web. 10 Mar. 2011.
http://en.wikipedia.org/wiki/Trapezoidal_rule