Ficheru:Lens and wavefronts.gif

Contenido de la página no disponible en otros idiomas.
De Wikipedia

Lens_and_wavefronts.gif(183 × 356 píxels, tamañu de ficheru: 35 kB, triba MIME: image/gif, animáu, 9 cuadros, 0,7s)

Esti ficheru ye de Wikimedia Commons y puen usalu otros proyeutos. La descripción de la páxina de descripción del ficheru s'amuesa darréu.

slnglelens

Resume

Descripción Illustration of wavefronts after passing through a lens. Interestingly, to produce a point source reverse the direction of the waves, with the focus point acting as a point source.
Data (UTC)
Fonte self-made with MATLAB
Autor Oleg Alexandrov
Otres versiones
 
Este diagrama fue creado con MATLAB.

Llicencia

Public domain Yo, el titular de los drechos d'autor d'esta obra, la llibero como dominiu públicu. Esto s'aplica nel mundu ensembre.
En dellos países seique esto nun seya posible llegalmente; nesti casu:
Doi a cualesquier persona permisu pa usar esta obra pa cualesquier propósitu, ensin denguna condición, menos si eses condiciones requierense pola llei.

siingleline

% Illustration of planar wavefronts going through a lens and getting focused
% into a converging spherical wave

function main ()

  % lens index
   n=1.5; 

  % number of points, used for plotting
   N = 100;

  % radii of lens surfaces
   R1 = 0.5; 
   R2 = 1.5;

  % centers of circles (y coord is 0)
   O1 = -2.9;
   O2 = -O1;

  % focal length
   f = (n-1)*(1/R1+1/R2); f = 1/f;
   
   % theta0 determines the width of the lens
   theta0=pi/6;
   Theta = linspace(-theta0, theta0, N);

  % right face of the lens
   L1x = R1*cos(Theta)+O1;
   L1y =R1*sin(Theta); 

   % left size of the lens
   L2x=-R2*cos(Theta)+O2;
   L2y = R2*sin(Theta);

   % flat top part
   Topx = [L1x(N), L2x(N)];
   Topy = [L1y(N), L2y(N)];

   % flat bottom part
   Botx = [L1x(1) L2x(1)];
   Boty = [L1y(1), L2y(1)];

   % the lens
   Lensx = [L1x rv_vec(Topx), rv_vec(L2x), Botx];
   Lensy = [L1y rv_vec(Topy), rv_vec(L2y), Boty];

   % Parameters for graphing
   Lens_color  = [204, 226, 239]/256;
   Lens_border = 0.3*[1, 1, 1];
   lbw = 1.3; % lens border width
   wavefr_color = [1, 0, 0];
   wavefr_bdw   = 2;
   
   % spacing between wavefronts (both plane and spherical ones)
   spacing = 0.25;

   % 2*H is the height of the plane wavefronts
   H = L1y(N); 

   % theta2 = slope of the line going from the upper-right
   % end of the lens to the focus point
   theta2 = atan(L1y(N)/(f-L1x(N)));

   % Shape of the spherical wavefronts.
   Theta = linspace(-theta2, theta2, N);
   X = -cos(Theta);
   Y =  sin(Theta);

   S = -f; % start ploting waves from here to the right

   % number of frames in the movie
   num_frames = 10;
   Shifts = linspace(0, spacing, num_frames+1);

   % start at S+shift, plot the wavefronts
   for frame_no = 1:num_frames

      shift = Shifts(frame_no);
      
      s = S+shift;

      % plotting window
      figure(1); clf; hold on; axis equal; axis off;

      % plot the plane wavefronts
      while s < 0
         plot([s, s], [-H, H], 'color', wavefr_color, 'linewidth', wavefr_bdw);
         s = s + spacing;
      end
      
   
      % plot the spherical wavefronts
      s = s - 10*spacing; % backtrack a bit
      while s < f
         
         rho = f-s;
         
         if rho*Y(N) <= L1y(N)
            plot(rho*X+f, rho*Y, 'color', wavefr_color, 'linewidth', wavefr_bdw);
         end
         
         s = s + spacing;
         
      end

      % plot the lens
      fill(Lensx, Lensy, Lens_color, 'EdgeColor', Lens_border, 'LineWidth', lbw);
%      get(H)
%      return
      
      % Invisible points to force MATLAB to keep the
      % plotting window fixed.
      tiny = 0.15*spacing;
      white = 0.999*[1, 1, 1];
      plot(S-tiny,   H+tiny, 'color', white);
      plot(S-tiny,  -H-tiny, 'color', white);
      plot(f+tiny,   H+tiny, 'color', white);
      plot(f+tiny,  -H-tiny, 'color', white);

      % Rotate by 90 degrees
      set(gca, 'View', [90, 90])

      % save current file
      frame_file = sprintf('Frame%d.eps', 1000+frame_no);
      disp(frame_file);
      saveas(gcf, frame_file, 'psc2');
      pause(0.07)
   end

% The frames were converted to a movie with the command
% convert -antialias -loop 10000  -delay 8 -compress LZW Frame100* Lens_and_wavefronts.gif
   
function W = rv_vec(V)

   K = length(V);

   W = V;
   for i=1:K
      W(i) = V(K-i+1);
   end

Pies

Añade una explicación corta acerca de lo que representa este archivo
Siingleline

Elementos representados en este archivo

representa a

tipo de archivo español

image/gif

Historial del ficheru

Calca nuna fecha/hora pa ver el ficheru como taba daquella.

Data/HoraMiniaturaDimensionesUsuariuComentariu
actual06:35 25 pay 2007Miniatura de la versión a fecha de 06:35 25 pay 2007183 × 356 (35 kB)Oleg Alexandrovtweak
04:10 24 pay 2007Miniatura de la versión a fecha de 04:10 24 pay 2007171 × 356 (33 kB)Oleg Alexandrovtweak
04:09 24 pay 2007Miniatura de la versión a fecha de 04:09 24 pay 2007171 × 356 (33 kB)Oleg Alexandrovtweak
00:56 24 pay 2007Miniatura de la versión a fecha de 00:56 24 pay 2007171 × 359 (33 kB)Oleg Alexandrovtweak, same license
00:53 24 pay 2007Miniatura de la versión a fecha de 00:53 24 pay 2007171 × 359 (32 kB)Oleg Alexandrovtweak
00:49 24 pay 2007Miniatura de la versión a fecha de 00:49 24 pay 2007151 × 359 (31 kB)Oleg Alexandrov{{Information |Description=Illustration of wavefronts after passing through a [:en:lens (optics)|lens]] |Source=self-made with MATLAB |Date=~~~~~ |Author= Oleg Alexandrov |Permission=see below |other_versions= }}

La páxina siguiente usa esti ficheru:

Usu global del ficheru

Estes otres wikis usen esti ficheru:

Ver más usos globales d'esti ficheru.