File:Drum vibration mode01.gif

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

Drum_vibration_mode01.gif (249 × 161 pixels, file size: 200 KB, MIME type: image/gif, looped, 19 frames, 1.9 s)

Captions

Captions

Add a one-line explanation of what this file represents
Description Illustration of vibrations of a drum.
Date (UTC)
Source self-made with MATLAB
Author Oleg Alexandrov
Other versions Derivative works of this file:  Membrane-normal-modes.gif
 
This diagram was created with MATLAB.
Public domain I, the copyright holder of this work, release this work into the public domain. This applies worldwide.
In some countries this may not be legally possible; if so:
I grant anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law.

Source code (MATLAB)

[edit]
function main()

   k = 0; % k-th asimuthal number and bessel function
   p = 1; % p-th bessel root

   q=find_pth_bessel_root(k, p); 

   N=20; % used for plotting

   % Get a grid
   R1=linspace(0.0, 1.0, N); 
   Theta1=linspace(0.0, 2*pi, N);
   [R, Theta]=meshgrid(R1, Theta1);
   X=R.*cos(Theta);
   Y=R.*sin(Theta);

   T=linspace(0.0, 2*pi/q, N); T=T(1:(N-1));

   for iter=1:length(T);
      
      t = T(iter);
      Z=sin(q*t)*besselj(k, q*R).*cos(k*Theta);

      figure(1); clf; 
      surf(X, Y, Z);
      caxis([-1, 1]);
      shading faceted;
      colormap autumn;

      % viewing angle
      view(108, 42);
      
      axis([-1, 1, -1, 1, -1, 1]);
      axis off;

      H=text(0, -0.3, 1.4, sprintf('(%d, %d) mode', k, p), 'fontsize', 25);

      
      file=sprintf('Frame%d.png', 1000+iter);
      disp(sprintf('Saving to %s', file));
      print('-dpng',  '-zbuffer',  '-r100', file);

      pause(0.1);
   end

   % converted to gif with the command 
   % convert -antialias -loop 10000 -delay 10  -scale 50% Frame10* Drum_vibration_mode01.gif

function r = find_pth_bessel_root(k, p)

   % a dummy way of finding the root, just get a small interval where the root is
   
   X=0.5:0.5:(10*p+1); Y = besselj(k, X);
   [a, b] = find_nthroot(X, Y, p);

   X=a:0.01:b; Y = besselj(k, X);
   [a, b] = find_nthroot(X, Y, 1);

   X=a:0.0001:b; Y = besselj(k, X);
   [a, b] = find_nthroot(X, Y, 1);

   r=(a+b)/2;
   
function [a, b] = find_nthroot(X, Y, n)

   l=0;

   m=length(X);
   for i=1:(m-1)
      if ( Y(i) >= 0  & Y(i+1) <= 0 ) | ( Y(i) <= 0  & Y(i+1) >= 0 )
	 l=l+1;
      end

      if l==n
	 a=X(i); b=X(i+1);

	 %disp(sprintf('Error in finding the root %0.9g', b-a));
	 return;
      end
   end

   disp('Root not found!');

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current03:51, 30 March 2023Thumbnail for version as of 03:51, 30 March 2023249 × 161 (200 KB)Dndnrmn1 (talk | contribs)Reverted to version as of 05:29, 19 March 2023 (UTC)
08:38, 19 March 2023Thumbnail for version as of 08:38, 19 March 2023248 × 130 (192 KB)Achim55 (talk | contribs)Reverted to version as of 00:17, 9 August 2017 (UTC)
05:29, 19 March 2023Thumbnail for version as of 05:29, 19 March 2023249 × 161 (200 KB)Dndnrmn1 (talk | contribs)Reverted to version as of 06:36, 12 January 2008 (UTC)
11:10, 18 March 2023Thumbnail for version as of 11:10, 18 March 2023248 × 130 (192 KB)Dndnrmn1 (talk | contribs)Reverted to version as of 04:44, 16 January 2008 (UTC)
00:17, 9 August 2017Thumbnail for version as of 00:17, 9 August 2017248 × 130 (192 KB)Dogbert66 (talk | contribs)Changed the frame period from 100 ms per frame to 230 ms per frame. Otherwise the relative frequencies of Drum_vibration_mode01.gif, Drum_vibration_mode02.gif, and Drum_vibration_mode03.gif are wrong.
04:44, 16 January 2008Thumbnail for version as of 04:44, 16 January 2008248 × 130 (192 KB)Oleg Alexandrov (talk | contribs)Strip caption, looks better like this
06:36, 12 January 2008Thumbnail for version as of 06:36, 12 January 2008249 × 161 (200 KB)Oleg Alexandrov (talk | contribs){{Information |Description=Illustration of vibrations of a drum. |Source=self-made with MATLAB |Date=06:21, 12 January 2008 (UTC) |Author= Oleg Alexandrov |Permission= |other_versions= }} {{PD-self

The following 2 pages use this file:

File usage on other wikis

The following other wikis use this file:

View more global usage of this file.