For details, see How to Use.
Circular Wave Animation
This program draws the circular wave as 3D animation. under the specified wave parameters, e.g.: the amplitude: A, the wavelength: \(\lambda\), and the period: T.
スポンサーリンク
How to Use
Download and Extract
At first, click the "Download" button at the above of the title of this page by your PC (not smartphone). A ZIP file will be downloaded.
Then, please extract the ZIP file. On general environment (Windows®, major Linux distributions, etc.), you can extract the ZIP file by selecting "Extract All" and so on from rightclicking menu.
» If the extraction of the downloaded ZIP file is stopped with security warning messages...
Execute this Program
Next, open the extracted folder and execute this VCSSL program.
For Windows
Doubleclick the following batch file to execute:
For Linux, etc.
Execute "VCSSL.jar" on the commandline terminal as follows:
java jar VCSSL.jar
» If the error message about nonavailability of "java" command is output...
After the program has been launched
Then, the graph window (RINEARN Graph 3D) and the setting window will be displayed.
On the graph window, the sine wave will be displayed as animation. On the setting window, you can control parameters of the sine wave, e.g.: the amplitude: A, the wavelength: \(\lambda\), and the period: T.
For terminating the program, close either the graph window or the setting window.
Theme
The circular wave is the wave that the wave source's movement propagates for radius direction, as spreading concentric rings.
For example, when you are taking a bath, you can make the circular wave practically, by oscillating one point of the water surface periodically and rapidly, by your finger. It is very easy.
However, it is not easy to discuss shapes of the actual circular waves rigorously, because it requires to consider conservation of energy, fluid dynamics, and so on.
Hence, put aside physical rigorousness, Let's consider an "ideal" circular wave, as follows:
 The oscillation of the wave source propagates for the radius direction as it is with no attenuation, at a certain speed.
 The oscillation of the wave source is expressed as: \( z_s = \sin 2 \pi t / T \), where \(z_s\) is the zcoordinate of the wave source, \(t\) is the time variable, and \(T\) is the period.
By the above simplification, the shape of the wave surface cut for radius direction is expressed as a sine wave, by putting the distance from the wave source as \(r = \sqrt{x^2 + y^2}\):
\[ z(r) = A \sin 2 \pi \bigg( \frac{t}{T}  \frac{r}{\lambda} \bigg) \]where \(A\) is the amplitude, \(t\) is the time variable, \(T\) is the period, and \(\lambda\) is the wavelength.
For details of the sine wave and the parameters \(A\) / \(T\) / \(\lambda\), see the following article:
Please note that, this "ideal" circular wave model is not correct physically, because it does not attenuate so energy is not conserved. However, it is great help for us when we consider interference patterns of circular waves.
Code
About language
This program is written in VCSSL.
VCSSL is a scripting language having Clike simple syntax. So, if you are accustomed with Clike languages (C, C++, and so on), you can read code of this program easily.
Whole Code
All code of this program is written in the text file "CircularWave.vcssl". You can open by your favorite text editor, and modify freely. It does not require to be compiled for running.
The following is the whole code of this program:
As the above, the code of this program has about 250 lines.
For details, see comments in the code.
Author
License
The license of this VCSSL / Vnano code (the file with the extension ".vcssl" / ".vnano") is CC0 (Public Domain), so you can customize / divert / redistribute this VCSSL code freely.
Also, if example code written in C/C++/Java are displayed/distributed on Code section of this page, they also are distributed under CC0, unless otherwise noted.
Circular Wave Animation 


Draws the circular wave as 3D animation, under the specified wave parameters. 
Sine Wave Animation 


Draws the sine wave as animation, under the specified wave parameters. 
Vnano  Solve The Lorenz Equations Numerically 


Solve the Lorenz equations, and output data to plot the solution curve (wellknown as the "Lorenz Attractor") on a 3D graph. 