Ficheru:Lens_and_wavefronts.gif
From Wikipedia, the free encyclopedia
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ó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. |
Data | (UTC) |
Fonte | self-made with MATLAB |
Autor | Oleg Alexandrov |
Otres versiones |
![]() |
Llicencia
Public domainPublic domainfalsefalse |
![]() |
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
Algún valor sin elemento de Wikidata
24 pay 2007
tipo de archivo español
image/gif
Historial del ficheru
Calca nuna fecha/hora pa ver el ficheru como taba daquella.
Data/Hora | Miniatura | Dimensiones | Usuariu | Comentariu | |
---|---|---|---|---|---|
actual | 06:35 25 pay 2007 | ![]() | 183 × 356 (35 kB) | Oleg Alexandrov | tweak |
04:10 24 pay 2007 | ![]() | 171 × 356 (33 kB) | Oleg Alexandrov | tweak | |
04:09 24 pay 2007 | ![]() | 171 × 356 (33 kB) | Oleg Alexandrov | tweak | |
00:56 24 pay 2007 | ![]() | 171 × 359 (33 kB) | Oleg Alexandrov | tweak, same license | |
00:53 24 pay 2007 | ![]() | 171 × 359 (32 kB) | Oleg Alexandrov | tweak | |
00:49 24 pay 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= }} |
Usu del ficheru
La páxina siguiente usa esti ficheru:
Usu global del ficheru
Estes otres wikis usen esti ficheru:
- Usu en ar.wikipedia.org
- Usu en be.wikipedia.org
- Usu en bn.wikipedia.org
- Usu en bs.wikipedia.org
- Usu en ckb.wikipedia.org
- Usu en cs.wikiversity.org
- Usu en cv.wikipedia.org
- Usu en en.wikipedia.org
- Usu en en.wikiversity.org
- Usu en es.wikipedia.org
- Usu en es.wikiversity.org
- Usu en eu.wikipedia.org
- Usu en fa.wikipedia.org
- Usu en fi.wikipedia.org
- Usu en fr.wikipedia.org
- Usu en fr.wikibooks.org
- Usu en fy.wikipedia.org
- Usu en ga.wikipedia.org
- Usu en he.wikipedia.org
- Usu en hi.wikipedia.org
- Usu en hr.wikipedia.org
- Usu en hy.wikipedia.org
- Usu en id.wikipedia.org
- Usu en ko.wikipedia.org
- Usu en lt.wikipedia.org
- Usu en lv.wikipedia.org
- Usu en ml.wikipedia.org
- Usu en mn.wikipedia.org
- Usu en nl.wikipedia.org
- Usu en pa.wikipedia.org
- Usu en ru.wikipedia.org
- Usu en sh.wikipedia.org
- Usu en si.wikipedia.org
- Usu en sl.wikipedia.org
- Usu en sr.wikipedia.org
- Usu en sv.wikipedia.org
- Usu en ta.wikipedia.org
Ver más usos globales d'esti ficheru.