Você está na página 1de 3

Cymatics: Visualization of Sound

Fuluny Jang
(Dated: December 9, 2010) The purpose of this project was to learn about Java and Cymatics. An applet was created as a result of the project, the applet can potentially be used for teaching purposes, and for the educational entertainment purposes. The applet displays the Chladnis pattern on the square plate. A simple GUI was created to manipulate radial and diametric nodes to observe dierent Chladnis patterns for various of frequency.

I.

INTRODUCTION

Many media players such as iTunes and Windows Media player has a visualization function which allows the User to listen to music while some sort of visualization corresponding to musics loudness and frequency is displayed. These visualizations usually have several dierent designs. This function is an artistic interpretation of sound frequency. In reality sound frequency has a specic graphical function that can display a visual representation of mathematical interpretation of sound. Each frequency has its own unique shape, and this visualization of sound can be explained mathematically, this study is called cymatics. Sound can be visualized through a medium when the sound frequency vibrates through a medium. The patterns are created because of the presence of nodes of the sound wave. The most typical representation of cymatics experiment is Chladnis patterns using Chladnis plates. This plate is a metal plate with edges that are free to vibrate while the centre of the plate is xed with a rod. It can be vibrated by running a bow on the edge of the plate or by vibration of the rod that is xed in the centre of the plate. As the frequency increases, the complexity of the pattern increases. Also, the pattern of sound changes with the dierent shape of the plate. Some typical plates include plates that are circular, rectangular, violin shaped, and square shape. The square shape has the most interesting and most variety of patterns; which is why I chose to work with square plates for my project. The square plate equation for the two-dimensional image is nx my mx ny cos cos cos cos = 0 (1) L L L L The Chladnis pattern is obtained from graphing the contour lines of this function. n = radial (circular) node m = diametric (linear) node L = length of the sides of the plate The frequency of the sound vibration depend on both n and m. f = C (m + 2n)k (2) C and p both depend on the characteristics of the plate.

There are lot more mathematics involved and most of them are lot more complicated than equations shown above, but I will not state them since the topic of cymatics alone can extend this report to be longer than it already is.

II.

OBJECTIVES AND OUTLINE

My ultimate goal for my program was to create an application which can display the Chladnis pattern corresponding to the dierent frequency of a music le as it played, just like the visualization function of media players. Another objective for this project was to create an application which can be used for learning purposes. I wanted to create an application that can show the interesting characteristic of sound which many people do not know about since it is not well known topic among the general public. I also wanted to use this opportunity to research more about cymatics and get a better understanding of cymatics. To create my project, I planned to use a program either gnuplot or matlab to graph the images and use Java to program my project. Since I was not sure if I could create an application with my beginner programming abilities, I decided to create an applet that is a simpler alternative of my application; if this applet was successful, I would have moved on to making the application, but due to the time limit, I had to settle for an applet at the end of this project.

III.

CHALLENGES BEFORE THE CODING

Regardless of my choice to create something simpler it was still a big challenge for me. Firstly, there was a problem of a language barrier, since I have never programmed before this class. Secondly, level of my mathematics was not sucient enough to understand the mathematical explanation of cymatics. Then I wanted to graph the square plate cymatic function on gnuplot and call gnuplot with some program, but gnuplots output graph was not very accurate enough to look like Chladnis pattern. I tired to graph it using my next favourite graphing program which is matlab. But frustration just piled on rather than knowledge of matlab. So I decided to

FIG. 1. Gnuplot output: Sound wave gure obtained from chladnis plate with length L=12 and nodes m=1 n=2 Compared to the Chladnis pattern that wasnt produced by me, but by PaulBourke, gnuplots ouput is not the best represention of the real pattern.

FIG. 3. Applet: chladnis plate with length L=12 and nodes m=1 n=2. Looking at the applets output and gnuplots output, and the actual Chladnis pattern, the applet ouput has a great imitation of the Chladnis pattern unlike gnuplot.

V.

THE PROCESS OF MAKING THE APPLET

FIG. 2. Chladnis Pattern: length L=12 and nodes m=1 n=2

start programming before completely guring out how to graph the pattern.

IV.

SOLUTIONS TO ABOVE CHALLENGES

There was an advantage of having almost no knowledge of any programming language; I was opened to learn any program. I decided to learn Java because java applets are commonly used to demonstrate some experiment virtually and explain physics concepts visually. Although I still do not understand most of the mathematical aspect of the Chladnis pattern and sound wave, however, the only required mathematics that I need to understand to create this applet was equation(1). When I started to research and learn about the Java language I found out that Java has a graphing package so instead of using gnuplot and matlab I decided to use Java for the whole project.

Instead of using the graphing package, I thought I would try a dierent approach of creating a graph in order to explore the possibilities of creating more creative and more ecient applet. I replaced the graphing package with the paint package. I made my program paint certain pixels with certain colours so if that pixel was equal to -1, 0, or 1 of equation(1). These values were chosen because function is at local maximum or minimum when it is equal to -1, 0,or 1. Coordinates of local maximum and minimum represent the nodes, where the particles on the Chladnis plate are collected to form the distinct pattern. I was using gedit to code my program in the beginning, but my friend in computer science, Douglas Richardson, who also helped me develop the idea of lling in pixels that correspond to the nodes of the function, suggested that it will be easier for me to code with an open source compiler called Eclipse which is available for Windows, Mac, and Linux. Using Eclipse was a big help to a beginner programmer like me, because this program allowed me to see where I made my errors and how I could x them. This allowed me to learn the language and build my program more eectively than using gedit, because with gedit, I had trouble xing my errors because I didnt know what caused the error, and I had no idea how to x the error. Each time I tried to solve for my error, I spent at least 40 minutes googling for a possible solution. The creative approach to graphing was a good learning experience, but I realized that it wasnt the best way to create my graph. As the value of the m and n increased the lines of the nodes were less focused and appeared broken in some places. Also when L was too small the graph did not appear at all, because L acted as a zoom (magnifying component) of the graph. So I picked the most optimal value of L for adequate values of n and m and xed L so that User cannot vary L through the GUI. This still did not solve the problem of lines appearing to look broken when n and m reached a certain limit.

3 To make the lines as accurate as possible, the leeway needed to be small as possible, but more accurate I tried to make my graph, the slower the applet became and decreasing the eciency of the applet. The leeway was kept little bit larger than what I preferred, but it allowed the applet to run with adequate speed. edge and my mathmatical limits I am satised with the applet that is created. Although my project may not display elegancy and organization, it was a good learning experience. Through the process of this project I learned that programming require logical sence and creativity, this project allowed me to improve on both of the aspects of being a programmer. I may not been able to create an application that will read a music le and dispay Chladnis pattern corresponding to the frequency as the music plays, I gained lots of knowledge in how to be a programmer and the Java languagge that I worked with. I learned that Java is a great language for program involving graphics, however, Java is little slow when it comes to mathematical computation. I learned that each dierent programming language has its own strength and I realized that knowing many dierent languages can improve the eciency, and elegance of a program if a programmer is able to use each of the languages to its maximum strength.
VIII. ACKNOWLEDGMENTS

VI.

FUTURE PROSPECT

There are so many parts of my program I would like to enhance; I would like to improve on the accuracy of the picture and the eciency of the applet, maybe even change how I graph my image, for example, from lling in pixels to using the graphing package. Also I would like to include dierent kinds of plates properties which can vary the pattern; such as dierent metals and different shape of the plates. Also make the GUI more organized and easier to use. Also maybe when my programming skills are more improved and I have a better understanding of the mathematics behind Cymatics, I would achieve my ultimate goal of creating a media visualizer of Chladnis pattern, in two-dimension and three dimensions.

VII.

CONCLUSION

In conclusion, although my production is not elegant as I wanted, considering that I had no programming knowl-

Thank you to Douglas Richardson for helping me develop my ideas, helping me learn Java, and for the moral support. Thank you to James Funk for various helps throughout this course and for the moral support throughout the project. Thank you to Ze Fu for the moral support throughout this course. Thank you to the Teaching Assistances of Physics 210 for helping me throughout the semester. Thank you to Jess Brewer for teaching this course.

[1] Chapman, S. J. Java for Engineers and Scientists. Prentice-Hall, Inc., New Jersey, 2000. [2] Choi, M. S. (2003). Free Vibration Analysis of Plate Structures Using Finite Element-Transfer Stiness Coecient Method. KSME International Journal, 17, 805815. [3] Colwell, R. C. and Stewart, J. K. (1939). The Calculation of Chladni Patterns. Acoustical Society of America, 11, 147-151. [4] David, J. B. Music: A Mathematical Oering. Cambridge University Press, Cambridge, 2007. [5] Flanagan, D. Java in a Nutshell. OReilly and Associates, Inc., Cambridge, 1996. [6] Gough, C. (2007). The Violin:Chladni Patterns, Plates, Shells and Sounds. The European Physical Journal Special Topics, 145, 77-101.

[7] Hahn, B. D. and Malan, K. M. Essential Java for Scientists and Engineers. Butterwork-Heinemann, Oxford, 2002. [8] Main, I. G. Vibrations and Waves in Physics Third Edition. Cambridge University Press, Cambridge, 1994. [9] Moore, B. G. (2003). Orbital Plots Using Gnuplot. Journal of Chemical Education, 77, 785-789. [10] Rossing, T. D. (1982). Chladnis law for vibrating plates. American Journal of Physics, 50, 271-274. [11] ttp://local.wasp.uwa.edu.au/ pbourke/ [12] ttp://webphysics.davidson.edu/alumni/jimn/Java/modes.html [13] ttp://www.cymascope.com/ [14] ttp://www.javacoeebreak.com/java106/java106.html [15] ttp://www.physics.rutgers.edu/ugrad/301/

Você também pode gostar