File:Snells_law_wavefronts.svg
De Wikipedia, la enciclopedia encyclopedia
Tamaño de esta previsualización PNG del archivo SVG: 410 × 342 píxeles. Otras resoluciones: 288 × 240 píxeles · 576 × 480 píxeles · 921 × 768 píxeles · 1228 × 1024 píxeles · 2455 × 2048 píxeles.
Ver la imagen en su resolución original ((Imagen SVG, nominalmente 410 × 342 pixels, tamaño de archivo: 68 kB))
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. |
DescripciónSnells law wavefronts.svg | Illustration of wavefronts in the context of Snell's law. |
Fecha | (UTC) |
Fuente | self-made with MATLAB |
Autor | Oleg Alexandrov |
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. |
Source code (MATLAB)
% Illustration of Snell's law
function main()
n1=1.0;
n2=1.5;
figure(1); clf; hold on; axis equal; axis off;
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 = 4;
plot_line=0;
Theta=linspace(0, 2*pi, k);
V=0*Theta; W=0*Theta;
S0=4;
spacing=0.45;
p=floor(S0/spacing);
S=linspace(0, S0, p+1)+0.1*spacing;
% plot the interface between diellectrics
L=3.8;
plot([-L, L], [0, 0], 'color', color3, 'linewidth', lw);
% plot a ray
plot_line=1;
s=5.2;
theta=pi/3; wfr(s, theta, n1, n2, O, sign, plot_line, color1, lw);
% plot the wafefronts
plot_line=0;
for i=1:p
for j=1:k
s=S(i);
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 point to enlarge the bounding box
plot(0, S0+1.5*spacing, '*', 'color', white);
saveas(gcf, 'Snells_law_wavefronts.eps', 'psc2')
%plot2svg('Snells_law_wavefronts.svg')
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
Elementos representados en este archivo
representa a
Algún valor sin elemento de Wikidata
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 | 04:18 6 ene 2008 | 410 × 342 (68 kB) | Oleg Alexandrov | Tweak bd box, same license | |
20:24 5 ene 2008 | 512 × 427 (68 kB) | Oleg Alexandrov | {{Information |Description=Illustration of wavefronts in the context of Snell's law. |Source=self-made with MATLAB |Date=~~~~~ |Author= Oleg Alexandrov |Permission= |other_versions= }} {{PD- |
Usos del archivo
No hay páginas que enlacen a este archivo.
Uso global del archivo
Las wikis siguientes utilizan este archivo:
- Uso en fr.wikipedia.org
- Uso en fr.wikibooks.org