Neidio i'r cynnwys

Delwedd:Snells law wavefronts.gif

Ni chefnogir cynnwys y dudalen mewn ieithoedd eraill.
Oddi ar Wicipedia

Snells_law_wavefronts.gif((225 × 227 picsel, maint y ffeil: 65 KB, ffurf MIME: image/gif), dolennog, 10 ffrâm, 0.1e)

Daw'r ffeil hon o Comin Wikimedia a gellir ei defnyddio gan brosiectau eraill. Dangosir isod y disgrifiad sydd ar dudalen ddisgrifio'r ffeil yno.

Titel

Crynodeb

 
This diagram was created with MATLAB.
Disgrifiad
English: Illustration of wavefronts in the context of Snell's law.
Dyddiad (UTC)
Ffynhonnell Own work, created with MATLAB. (Source code below.)
Awdur Oleg Alexandrov
Caniatâd
(Ailddefnyddio'r ffeil hon)
Public domain Yr wyf fi, deiliad hawlfraint y gwaith hwn, yn ei ryddhau i'r parth cyhoeddus, a hynny'n fyd-eang.
Hwyrach nad yw hyn yn bosib yn ôl cyfraith rhai gwledydd; os felly:
Rwyn rhoi i unrhywun yr hawl i ddefnyddio'r gwaith hwn at unrhyw ddiben, heb unrhyw amodau, oddieithr unrhyw amodau gofynnol yn ôl y gyfraith.
Diwygiadau eraill

Source code

% Illustration of Snell's law
function main()

   % indexes of refraction
   n1=1.0;
   n2=1.5;

   sign = -1;% is the source up or down?
   O=[0, -1*sign];
   k=500;

   
% KSmrq's colors
   red    = [0.867 0.06 0.14];
   blue   = [0, 129, 205]/256;
   green  = [0, 200,  70]/256;
   yellow = [254, 194,   0]/256;
   white = 0.99*[1, 1, 1];
   black = [0, 0, 0];
   gray = 0.5*white;

   color1=red;
   color2=blue;
   color3=gray;
   lw = 3;
   
   plot_line=0;
   Theta=linspace(0, 2*pi, k);
   V=0*Theta; W=0*Theta;
   S0=7;
   spacing=0.45;
   p=floor(S0/spacing);
   S=linspace(0, S0, p+1);
   spacing=S(2)-S(1);
   
   num_frames = 10;
   for frame_iter=1:num_frames

      figure(1); clf; hold on; axis equal; axis off;

      % plot the interface between diellectrics
      L=1.2*S0;
      plot([-L, L], [0, 0], 'color', color3, 'linewidth', lw);
      
      
      % plot a ray
      plot_line=1;
      s=L;
      theta=pi/3; wfr(s, theta, n1, n2, O, sign, plot_line, color1, lw);

      % plot the wafefronts
      plot_line=0;
      for i=1:p

	 s=S(i)+spacing*(frame_iter-1)/num_frames;

	 for j=1:k
	    theta=Theta(j);
	    [V(j), W(j)]=wfr(s, theta, n1, n2, O, sign, plot_line, color1, lw);
	 end
	 plot(V, W, 'color', color2, 'linewidth', lw);
      end
      

      %  dummy points to enlarge the bounding box
      plot(0, S0+2.5*spacing, '*', 'color', white);
      plot(0, -(S0+2.5*spacing)/n2, '*', 'color', white);

      % to know where to crop later
      Lx=3.2; Ly=Lx; shift = 1;
      plot([-Lx, Lx, Lx, -Lx -Lx], ...
           [-Ly, -Ly, Ly, Ly, -Ly]+shift);

      file = sprintf('Frame%d.eps', 1000+frame_iter);
      disp(file);
      saveas(gcf, file, 'psc2')
   end
end

% Converted to gif with the UNIX command
% convert -density 100 -antialias Frame10* Snell_animation.gif 
% then cropped in Gimp

function [a, b]=wfr(s, theta, n1, n2, O, sign, plot_line, color1, lw);

   X=O+s*[sin(theta), sign*cos(theta)];

  if( sign*X(2) > 0 )
    t=-sign*O(2)/cos(theta);
    X0=O+t*[sin(theta), sign*cos(theta)];
    
    if (plot_line == 1) 
      plot([O(1), X0(1)], [O(2), X0(2)], 'color', color1, 'linewidth', lw, 'linestyle', '--');
    end

    d = norm(O-X0);
    r = (s-d)*(n2/n1)^(sign);

    theta2=asin(n1*sin(theta)/n2);
    XE=X0+r*[sin(theta2), sign*cos(theta2)];
  else
    XE = X;
  end  
  a = XE(1);
  b = XE(2); 

  if (plot_line==1)
    plot([X0(1), XE(1)], [X0(2), XE(2)], 'color', color1, 'linewidth', lw, 'linestyle', '--');
  end  
end

Captions

Add a one-line explanation of what this file represents
Wavefronts from a point source of light.In a particuler wavefront u will see that the dist btw source & wavefront above the line is > dist btw source & wavefront below the line beacuse lightspeed is greater in the above and lower in below.

Items portrayed in this file

yn portreadu

Hanes y ffeil

Cliciwch ar ddyddiad / amser i weld y ffeil fel ag yr oedd bryd hynny.

Dyddiad / AmserBawdlunHyd a lledDefnyddiwrSylw
cyfredol09:59, 5 Gorffennaf 2009Bawdlun y fersiwn am 09:59, 5 Gorffennaf 2009225 × 227 (65 KB)Capmoreduced to 16 colors with no quality loss
06:31, 2 Ionawr 2008Bawdlun y fersiwn am 06:31, 2 Ionawr 2008225 × 227 (148 KB)Oleg Alexandrov{{Information |Description=Illustration of wavefronts in the context of Snell's law. |Source=self-made with MATLAB |Date=05:36, 1 January 2008 (UTC) |Author= Oleg Alexandrov |Permission= |oth

Mae'r 1 tudalennau a ddefnyddir isod yn cysylltu i'r ddelwedd hon:

Defnydd cydwici y ffeil

Mae'r wicis eraill hyn yn defnyddio'r ffeil hon:

Gweld rhagor o'r defnydd cydwici o'r ffeil hon.