Archivo:Lens_and_wavefronts.gif
De Wikipedia, la enciclopedia encyclopedia
Lens_and_wavefronts.gif (183 × 356 píxeles; tamaño de archivo: 35 kB; tipo MIME: image/gif, bucleado, 9 frames, 0,7s)
Este es un archivo de Wikimedia Commons, un depósito de contenido libre hospedado por la Fundación Wikimedia. Más abajo se reproduce su página de descripción con la información sobre su origen y licencia. |
slnglelens
Resumen
DescripciónLens and wavefronts.gif | 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. |
Fecha | (UTC) |
Fuente | self-made with MATLAB |
Autor | Oleg Alexandrov |
Otras versiones |
Licencia
Public domainPublic domainfalsefalse |
Yo, el titular de los derechos de autor de esta obra, lo libero al dominio público. Esto aplica en todo el mundo. En algunos países esto puede no ser legalmente factible; si ello ocurriese: Concedo a cualquier persona el derecho de usar este trabajo para cualquier propósito, sin ningún tipo de condición al menos que éstas sean requeridas por la ley. |
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
Elementos representados en este archivo
representa a
Algún valor sin elemento de Wikidata
24 nov 2007
image/gif
Historial del archivo
Haz clic sobre una fecha y hora para ver el archivo tal como apareció en ese momento.
Fecha y hora | Miniatura | Dimensiones | Usuario | Comentario | |
---|---|---|---|---|---|
actual | 06:35 25 nov 2007 | 183 × 356 (35 kB) | Oleg Alexandrov | tweak | |
04:10 24 nov 2007 | 171 × 356 (33 kB) | Oleg Alexandrov | tweak | ||
04:09 24 nov 2007 | 171 × 356 (33 kB) | Oleg Alexandrov | tweak | ||
00:56 24 nov 2007 | 171 × 359 (33 kB) | Oleg Alexandrov | tweak, same license | ||
00:53 24 nov 2007 | 171 × 359 (32 kB) | Oleg Alexandrov | tweak | ||
00:49 24 nov 2007 | 151 × 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= }} |
Usos del archivo
La siguiente página usa este archivo:
Uso global del archivo
Las wikis siguientes utilizan este archivo:
- Uso en ar.wikipedia.org
- Uso en ast.wikipedia.org
- Uso en be.wikipedia.org
- Uso en bn.wikipedia.org
- Uso en bs.wikipedia.org
- Uso en ckb.wikipedia.org
- Uso en cs.wikiversity.org
- Uso en cv.wikipedia.org
- Uso en en.wikipedia.org
- Uso en en.wikiversity.org
- Uso en es.wikiversity.org
- Uso en eu.wikipedia.org
- Uso en fa.wikipedia.org
- Uso en fi.wikipedia.org
- Uso en fr.wikipedia.org
- Uso en fr.wikibooks.org
- Uso en fy.wikipedia.org
- Uso en ga.wikipedia.org
- Uso en he.wikipedia.org
- Uso en hi.wikipedia.org
- Uso en hr.wikipedia.org
- Uso en hy.wikipedia.org
- Uso en id.wikipedia.org
- Uso en ko.wikipedia.org
- Uso en lt.wikipedia.org
- Uso en lv.wikipedia.org
- Uso en ml.wikipedia.org
- Uso en mn.wikipedia.org
- Uso en nl.wikipedia.org
- Uso en pa.wikipedia.org
- Uso en ru.wikipedia.org
- Uso en sh.wikipedia.org
- Uso en si.wikipedia.org
- Uso en sl.wikipedia.org
- Uso en sr.wikipedia.org
- Uso en sv.wikipedia.org
- Uso en ta.wikipedia.org
Ver más uso global de este archivo.