Imágenes virtuales de un objeto situado entre dos espejos planos
Reflexión en espejos planos
Un espejo plano
El caso más sencillo, es la determinación de la posición de la imagen virtual A' de un objeto puntual A situado frente a un espejo plano
line([0,0],[-1,4], 'LineWidth', 1.5, 'color','k') line([-5,0],[0,0], 'lineStyle','--') line([5,0],[0,0]) line([-5,0],[0,2],'lineStyle','--') line([0,5],[2,4]) line([0,5],[2,0]) hold on plot(5,0,'ro','markersize',3,'markerfacecolor','r') plot(-5,0,'bo','markersize',3,'markerfacecolor','b') xlim([-5.1,5.1]) hold off grid on
En el caso de que el objeto AB sea extenso. Determinamos las posiciones de las imágenes virtuales de los objetos puntuales A y B
line([0,0],[-1,4], 'LineWidth', 1.5, 'color','k') line([2,5],[0,1],'lineWidth',1.5,'color','r') line([-2,-5],[0,1],'lineWidth',1.5,'color','b') line([-2,0],[0,0],'lineStyle','--') line([2,0],[0,0]) line([-5,0],[1,1],'lineStyle','--') line([5,0],[1,1]) line([2,0],[0,1]) line([0,5],[1,3.5]) line([0,-2],[1,0],'lineStyle','--') line([5,0],[1,2]) line([0,5],[2,3]) line([0,-5],[2,1],'lineStyle','--') hold on plot(5,1,'ro','markersize',4,'markerfacecolor','r') plot(-5,1,'bo','markersize',4,'markerfacecolor','b') xlim([-5.1,5.1]) hold off grid on
Dos espejos planos paralelos

Consideremos dos espejos planos. El primero, contenido en el plano YZ, x=0 y el segundo, paralelo al primero, situado a una distancia x=d
Un objeto puntual A se sitúa entre los dos planos a una distancia x1 del primero y a una distancia x2=d-x1 del segundo
Aplicamos la ley de la reflexión para determinar la posición de las infinitas imágenes virtuales de dicho objeto, situadas a lo largo del eje X
hold on line([0,0],[-1,3], 'LineWidth', 1.5, 'color','k') line([5,5],[-1,3], 'LineWidth', 1.5, 'color','k') plot(1,0,'ro','markersize',4,'markerfacecolor','r') plot(-1,0,'bo','markersize',4,'markerfacecolor','b') line([1,0],[0,0.5]) line([0,5],[0.5,3]) line([0,-1],[0.5,0],'lineStyle','--') line([1,0],[0,0]) line([-1,0],[0,0],'lineStyle','--') plot(9,0,'bo','markersize',4,'markerfacecolor','b') line([1,5],[0,1]) line([5,0],[1,9/4]) line([5,9],[1,0],'lineStyle','--') line([1,5],[0,0]) line([5,9],[0,0],'lineStyle','--') plot(11,0,'bo','markersize',4,'markerfacecolor','b') line([-1,5],[0,1.5]) line([5,0],[1.5,1.5+7.5/6]) line([5,11],[1.5,0],'lineStyle','--') line([9,11],[0,0],'lineStyle','--') plot(-9,0,'bo','markersize',4,'markerfacecolor','b') line([9,0],[0,1]) line([0,5],[1,1+5/9]) line([0,-9],[1,0],'lineStyle','--') hold off grid on

- P1 es la imagen de A producida por el espejo izquierdo, dista x1 de dicho espejo
- Q1 es la imagen de A producida por el espejo derecho, dista x2 de dicho espejo
- Q2 es la imagen de P1 producida por el espejo derecho, dista x1+d de dicho espejo
- P2 es la imagen de Q1 producida por el espejo izquierdo, dista x2+d de dicho espejo
- Q3 es la imagen de P2 producida por el espejo derecho, que dista x2+2d de dicho espejo
- P3 es la imagen de Q2 producida por el espejo izquierdo, que dista x1+2d de dicho espejo
El código que representa solamente las imágenes virtuales Pk y Qk del objeto puntual A situado entre los dos espejos paralelos, es
hold on d=5; %separación x1=1; %posición objeto x2=d-x1; line([0,0],[-1,3], 'LineWidth', 1.5, 'color','k') line([d,d],[-1,3], 'LineWidth', 1.5, 'color','k') plot(x1,0,'ro','markersize',4,'markerfacecolor','r') %imágnes P for k=0:2:3 xP=x1+k*d; plot(-xP,0,'bo','markersize',4,'markerfacecolor','b') xP=x2+(k+1)*d; plot(-xP,0,'bo','markersize',4,'markerfacecolor','b') end %imágnes Q for k=0:2:3 xQ=x2+k*d; plot(xQ+d,0,'bo','markersize',4,'markerfacecolor','b') xQ=x1+(k+1)*d; plot(xQ+d,0,'bo','markersize',4,'markerfacecolor','b') end hold off grid on
Dos espejos planos y perpendiculares
Vamos a determinar las imágenes virtuales de un objeto puntual A situado en la posición (x, y), producidas por dos espejos planos en ángulo recto
hold on line([0,5],[0,0], 'LineWidth', 1.5, 'color','k') line([0,0],[0,5], 'LineWidth', 1.5, 'color','k') line([0,-5],[0,0], 'lineStyle','--','LineWidth', 1.5, 'color','k') line([0,0],[0,-5], 'lineStyle','--','LineWidth', 1.5, 'color','k') plot(3,2,'ro','markersize',4,'markerfacecolor','r') plot(3,-2,'bo','markersize',4,'markerfacecolor','b') line([3,3],[0,2]) line([3,3],[0,-2],'lineStyle','--') line([3,1],[2,0]) line([1,0],[0,1]) line([0,4],[1,5]) line([1,3],[0,-2],'lineStyle','--') plot(-3,2,'bo','markersize',4,'markerfacecolor','b') line([3,0],[2,2]) line([-3,0],[2,2],'lineStyle','--') line([3,0],[2,0.5]) line([-3,0],[2,0.5],'lineStyle','--') line([0,1],[0.5,0]) line([1,4],[0,1.5]) plot(-3,-2,'bo','markersize',4,'markerfacecolor','b') line([0,-3],[1,-2],'lineStyle','--') line([1,-3],[0,-2],'lineStyle','--') xlim([-3.2,4]) ylim([-2.2,4]) hold off grid on
- P1 es la imagen de A producida por el espejo horizontal, dista y de dicho espejo
- Q1 es la imagen de A producida por el espejo vertical, dista x de dicho espejo
- Q2 es la imagen de Q1 producida por el espejo horizontal
- P2 es la imagen de P1 producida por el espejo vertical
Q2 y P2 coinciden. Este punto es la intersección de la prolongación de los rayos provenientes del objeto A y reflejados por segunda vez en los espejos
Dos espejos planos forman un ángulo θ

Consideremos el caso de dos espejos planos que forman un ángulo θ. Un objeto puntual A distante r=1 del eje, está situado en una posición que forma un ángulo θ1 con el espejo horizontal y un ángulo θ2=θ-θ1 con el espejo inclinado.
Todas las imágenes virtuales estarán situadas en una circunferencia de radio r=1
Ejemplo
Sea θ=50°, θ1=30° y θ2=20°
hold on th=50*pi/180; th_1=pi/6; th_2=th-th_1; line([0,1.2],[0,0], 'LineWidth', 1.5, 'color','k') line([0,-1.2],[0,0], 'lineStyle','--','LineWidth', 1.5, 'color','k') line([0,1.2*cos(th)],[0,1.2*sin(th)], 'LineWidth', 1.5, 'color','k') line([0,-1.2*cos(th)],[0,-1.2*sin(th)], 'lineStyle','--', 'LineWidth', 1.5, 'color','k') fplot(@(t) cos(t), @(t) sin(t),[0,2*pi]) plot(cos(th_1),sin(th_1),'ro','markersize',4,'markerfacecolor','r') %Q for k=0:2:10 ang=th_2+k*th; if ang<pi % disp((ang+th)*180/pi) plot(cos(ang+th),sin(ang+th),'bo','markersize',4,'markerfacecolor','b') else break; end ang=th_1+(k+1)*th; if ang<pi % disp((ang+th)*180/pi) plot(cos(ang+th),sin(ang+th),'bo','markersize',4,'markerfacecolor','b') else break; end end %P for k=0:2:10 ang=-th_1-k*th; if ang>=-pi % disp(ang*180/pi) plot(cos(ang),sin(ang),'bo','markersize',4,'markerfacecolor','b') else break; end ang=-th_2-(k+1)*th; if ang>=-pi % disp(ang*180/pi) plot(cos(ang),sin(ang),'bo','markersize',4,'markerfacecolor','b') else break; end end ylim([-1.2,1.2]) xlim([-1.2,1.2]) axis equal hold off grid on
Suprimiendo el símbolo

- P1 es la imagen de A producida por el espejo horizontal, dista θ1 de dicho espejo
- Q1 es la imagen de A producida por el espejo inclinado, dista θ2 de dicho espejo
- Q2 es la imagen de P1 producida por el espejo inclinado, dista θ1+θ de dicho espejo
- P2 es la imagen de Q1 producida por el espejo horizontal, que dista θ2+θ de dicho espejo
- Q3 es la imagen de P2 producida por el espejo inclinado, dista θ2+2θ de dicho espejo
- P3 es la imagen de Q2 producida por el espejo horizontal, dista θ1+2θ de dicho espejo
Caso particular, θ=90°
Los dos espejos formando un ángulo recto ya se ha estudiado anteriormente. En el script anterior cambiamos las líneas de código
Ejemplos
El número total de imágenes virtuales (en color azul) de un objeto puntual A (en color rojo), depende del ángulo θ entre los dos espejos planos y de la posición angular de A (ángulo θ1) entre dichos espejos
En dos de los artículos que aparecen en las referencias se explica como obtener ese número para distintas situaciones, pero es demasiado prolijo para incluirlo en esta página. A cambio, se muestra una galería de imágenes que el lector puede experimentar cambiando el ángulo de separación θ entre los dos espejos y la posición angular θ1 del objeto puntual A entre dichos espejos
function reflexion_10 subplot(2,2,1) imagenes(64*pi/180, 8*pi/180) title('\theta=64, \theta_1=8') subplot(2,2,2) imagenes(64*pi/180, 30*pi/180) title('\theta=64, \theta_1=30') subplot(2,2,3) imagenes(64*pi/180, 56*pi/180) title('\theta=64, \theta_1=56') subplot(2,2,4) imagenes(60*pi/180, 50*pi/180) title('\theta=60, \theta_1=50') function imagenes(th, th_1) hold on th_2=th-th_1; line([0,1.2],[0,0], 'LineWidth', 1.5, 'color','k') line([0,-1.2],[0,0], 'lineStyle','--','LineWidth', 1.5, 'color','k') line([0,1.2*cos(th)],[0,1.2*sin(th)], 'LineWidth', 1.5, 'color','k') line([0,-1.2*cos(th)],[0,-1.2*sin(th)], 'lineStyle','--', 'LineWidth', 1.5, 'color','k') fplot(@(t) cos(t), @(t) sin(t),[0,2*pi]) plot(cos(th_1),sin(th_1),'ro','markersize',4, 'markerfacecolor','r') %Q for k=0:2:10 ang=th_2+k*th; if ang<pi % disp((ang+th)*180/pi) plot(cos(ang+th),sin(ang+th),'bo','markersize',4, 'markerfacecolor','b') else break; end ang=th_1+(k+1)*th; if ang<pi % disp((ang+th)*180/pi) plot(cos(ang+th),sin(ang+th),'bo','markersize', 4,'markerfacecolor','b') else break; end end %P for k=0:2:10 ang=-th_1-k*th; if ang>=-pi % disp(ang*180/pi) plot(cos(ang),sin(ang),'bo','markersize',4, 'markerfacecolor','b') else break; end ang=-th_2-(k+1)*th; if ang>=-pi % disp(ang*180/pi) plot(cos(ang),sin(ang),'bo','markersize',4, 'markerfacecolor','b') else break; end end ylim([-1.2,1.2]) xlim([-1.2,1.2]) axis equal hold off grid on end end
En cada una de las 16 figuras, el lector puede contar el número de imágenes virtuales del objeto A (punto de color rojo), representadas por puntos de color azul
Lente cilíndrica
Sea una lente de vidrio transparente de índice de refracción n de forma de semicilíndica de radio R.
Un rayo incide en la posición x0 con un ángulo α respecto a la normal a la superficie horizontal, el rayo se refracta en la superficie horizontal formando un ángulo β con dicha dirección. Suponiendo que el aire tiene índice de refracción 1, la ley de Snell para la refracción en la superficie horizontal, se escribe
sinα=n·sinβ
Rayo incidente a la derecha del origen, x0>0
Rayo incidente en el origen, x0=0
Rayo incidente a la izquierda del origen, x0<0
El rayo refractado, llega a la superficie cilíndrica formando un ángulo φ-β con la dirección radial (normal a la superficie cilíndrica), la ley de Snell se escribe
n·sin(φ-β)=sinθ
siendo θ>φ-β el ángulo que forma el rayo refractado con dicha dirección.

El ángulo φ se calcula a partir de consideraciones geométricas. El punto P de coordenadas (x1, y1) es la intersección de la recta que pasa por el punto (x0,0) que forma un ángulo 90+β con el eje X, y la circunferencia de centro en el origen y radio R.
Resolvemos el sistema de dos ecuaciones para calcular el punto de intersección (x1, y1)
El ángulo φ es
Reflexión total
Calcularemos la posición x0 para el cual el ángulo θ=90°, el rayo refractado que sale de la lente cilíndrica es tangente a la superficie cilíndrica, se produce la reflexión total.
n·sin(φ-β)=1
Dado el ángulo φ=arcsin(1/n)+β, obtenemos x1=Rsin(φ), y1=-Rcos(φ). A partir de la relación
calculamos, x0=Rsin(φ)-Rcos(φ)tan(β)
Consideramos el rayo que pasa por el origen, x0=0
x1=Rsin(β), y1=-Rcos(β), tanφ=tanβ. El ángulo de incidencia del rayo refractado sobre la superficie cilíndrica φ-β=0, el rayo tiene la dirección radial y no se desvía.
Este es el caso que estudiaremos en el siguiente apartado titulado 'Práctica de laboratorio'
El rayo refractado, llega a la superficie cilíndrica formando un ángulo φ+β con la dirección radial (normal a la superficie cilíndrica), la ley de Snell para la refracción en la superficie cilíndrica, se escribe
n·sin(φ+β)=sinθ
siendo θ>φ+β el ángulo que forma el rayo refractado con dicha dirección.
Reflexión total
Consideramos la posición x0 para el cual el ángulo θ=90°, el rayo refractado que sale de la lente cilíndrica es tangente a la superficie cilíndrica, se produce la reflexión total.
n·sin(φ+β)=1
Dado el ángulo φ=arcsin(1/n)-β, calculamos x1=-Rsin(φ), y1=-Rcos(φ). A partir de la relación
calculamos x0=-Rsin(φ)-Rcos(φ)tan(β)
Ejemplo
- Radio de la lente semicircular, R=1
- Indice de refracción del vidrio,
- Angulo de incidencia medido desde la normal a la superficie plana, α=45°
Calculamos los ángulos φ para los que se produce la reflexión total
Refracción en la superficie plana, sinα=n·sinβ, β=30°
para x0>0
para x0<0
Refracción en la superficie cilíndrica, el ángulo φ=arcsin(1/n)+β=45°+30°=75°
La posición x0=Rsin(75)-Rcos(75)tan(30)=
Refracción en la superficie cilíndrica, el ángulo φ=arcsin(1/n)-β=45°-30°=15°
La posición x0=-Rsin(15)-Rcos(15)tan(30)=
Para representar las figuras de este apartado, se ha creado el siguiente script de MATLAB
n=sqrt(2); %índice de refracción alfa=pi/4; %ángulo incidente R=1; %radio beta=asin(sin(alfa)/n); phi_m=asin(sin(alfa)/n)+asin(1/n); %ángulo límite t=linspace(pi, 2*pi, 100); x=R*cos(t); y=R*sin(t); x=[x,x(1)]; y=[y,y(1)]; fill(x,y,'c') xm=R*sin(phi_m)-R*cos(phi_m)*tan(beta); %reflexión total x0=0.5; %posición line([x0-0.3, x0],[0.3/tan(alfa),0],'color','r') x1=x0*cos(beta)^2+sin(beta)*sqrt(R^2-(x0*cos(beta))^2); y1=(x0-x1)/tan(beta); line([x0,x1],[0,y1],'color','r') line([x0,x0],[0.3,-1],'color','k','lineStyle','--') phi=atan(x1/(-y1)); if abs(x0)<=xm %refracción th=asin(n*sin(phi-beta)); x2=x1-0.3*sin(th-phi); y2=y1-0.3*cos(th-phi); line([x1,x2],[y1,y2],'color','r') line([0,(R+0.3)*sin(phi)],[0,-(R+.3)*cos(phi)],'color','k','lineStyle','--') else %reflexión x2=x1-0.3*sin(2*phi-beta); y2=y1+0.3*cos(2*phi-beta); line([x1,x2],[y1,y2],'color','r') line([0,(R+0.3)*sin(phi)],[0,-(R+.3)*cos(phi)],'color','k','lineStyle','--') end axis off axis equal
Referencias
Chung-heng Liu. Number of images produced by multiple reflection. Am. J. Phys. 30 (1962), pp. 380-381
Vivek Lohani, Praveen Pathak. Image formation by two plane mirrors. Phys. Educ. 58 (2023) 035004
Para el apartado 'Lente cilíndrica'
Problema propuesto en la 2° Olimpiada Internacional de Física, Budapest, Hungría, 1968