Platí:
1) přímka AA' je kolmá k zrcadlu
2) zdánlivý obraz A' bodu A vzniká 
 za zrcadlem, ve stejné vzdálenosti
jako je obraz před zrcadlem:

Z bodu A vystupují paprsky..

... a dopadnou na zrcadlo.

Vybereme si z nich paprsek kolmý k zrcadlu...

... a libovolný další paprsek AQ.

Jak se tyto paprsky odrazí?

Kolmý paprsek se odráží sám na sebe.

α

α

... a šikmý paprsek odrazíme podle zákona odrazu.

Odražené paprsky prodloužíme za zrcadlo
tak, aby se protnuly.

Protnou se v bodě A' za zrcadlem.
Odvodíme nyní, že |AP|=|A'P|:

α

Vrcholové úhly jsou shodné.

β

β

Doplňky do 90° jsou shodné.

ΔAPQ je shodný s...

trojúhelníkem A'PQ. (věta usu)

a

a'

Proto |AP|=|A'P|, nebo-li a = a'

Platí:
1) přímka AA' je kolmá k zrcadlu
2) zdánlivý obraz A' bodu A vzniká 
 za zrcadlem, ve stejné vzdálenosti
jako je obraz před zrcadlem:

A jak se odrazí ostatní paprsky?

No, božíčku, úplně stejně - paprsek AQ byl
libovolný z nich.

Závěr:
Rozbíhavý svazek paprsků vycházejících z bodu A před
zrcadlem se odrazí jako rozbíhavý svazek paprsků, které 
zdánlivě vycházejí z bodu A' za zrcadlem. 
Bodu A' říkáme zdánlivý obraz bodu A.

Platí:
1) přímka AA' je kolmá k zrcadlu
2) zdánlivý obraz A' bodu A vzniká 
 za zrcadlem, ve stejné vzdálenosti
jako je obraz před zrcadlem:

a = a'

měnit polohu oka

Obraz A' je zdánlivý a nelze ho zachytit na stínítku. 
Pozoruje-li oko odraz bodu A v zrcadle, vstupují
do něj odražené rozbíhavé paprsky a oku se zdá, 
jakoby vycházely z bodu A' za zrcadlem. Oční
čočka si spojí paprsky na sítnici v bodě A_1 a mozek
vidí iluzorní obraz (iluzorního) světa za zrcadlem!

n = 74 (slider from 1 to 80, step 1)
s_1 = Segment((0, 0), (0, 13))
Z = (3.5886470411677682, 12.530786255900296)
A = (-4.813337979094083, 6.581923344947733)
α = 0.8377580409572781 rad (slider from 15*° to 60*°, step 1*°)
β = 0.13962634015954636 rad (slider from 2*° to 8*°, step 2*°)
smer = Sequence(Vector[A, A + (3 * (cos(i), sin(i)))], i, (-α), α, β)
c: (2 * α / β) + 1
seznam1 = Sequence(Line[A, Vector[Element[smer, i]]], i, 1, c)
body = Sequence(Intersect[a, Element[seznam1, i]], i, 1, c)
seznam3 = Sequence(Segment[A, Element[body, i]], i, 1, c)
P_1 = Point(a)
n_3 = OrthogonalLine(A, a)
P = Intersect(a, n_3)
j = Segment(A, P)
γ = Angle(A, P, P_1)
Q = Element(body, 2)
b_1 = OrthogonalLine(Q, a)
w = Segment(A, Q)
A'_1 = Mirror(A, A)
O' = Mirror(P, A)
V = (-5.378644145596792, 10.055284338383828)
j' = Segment(A'_1, O')
R = Point(b_1)
f_1 = Segment(R, Q)
δ = Angle(A, Q, R)
g_1 = Mirror(Element[seznam3, 2], f_1)
S = Point(g_1)
h_1 = Segment(Q, S)
ε = Angle(R, Q, S)
i_1 = Line(S, Q)
T = Point(i_1)
j_1 = Segment(Q, T)
A' = Mirror(A, a)
R' = Mirror(R, a)
m_1 = Segment(Q, R')
ζ = Angle(R', Q, A')
η = Angle(P, Q, A)
θ = Angle(A', Q, P)
mnohoúhelník2, p_1, a_2, q_1 = Polygon(A, Q, P)
O = Point(j_1)
mnohoúhelník3, p_2, q_2, o_1 = Polygon(Q, O, P)
n_1 = Segment(A, P)
U = Point(j_1)
r_1 = Segment(P, U)
W = (-10.352779128533916, 11.025847261883754)
e = Distance(A, A')
d = Circle(A', e)
body2 = Sequence(Mirror[A', Element[body, i]], i, 1, c)
seznam6 = Sequence(Ray[Element[body, i], Element[body2, i]], i, 1, c)
k = 2 (slider from 1 to 5, step 1)
B = Intersect(d, Element[seznam6, k])
C = Intersect(d, Element[seznam6, k + 1])
h = LineBisector(B, C)
D = Intersect(d, h, 2)
seznam4 = Sequence(Segment[A', Element[body, i]], i, 1, c)
p = Circle(D, 3)
E = Intersect(p, h, 2)
e_1 = Circle(E, 4.9)
M, N = Intersect(e_1, h)
H: M
r = Circle(H, 3)
q = Circle(E, B)
J = Intersect(q, r, 2)
I = Intersect(q, r, 1)
l = Segment(I, J)
L = Intersect(l, Element[seznam6, k])
kodo = Sequence(OrthogonalLine[Element[body, i], a], i, 1, c)
seznam2 = Sequence(Mirror[Element[seznam1, i], Element[kodo, i]], i, 1, c)
u = Segment(Element[body, k], L)
f = Segment(Element[body, k + 1], A')
g = Segment(Element[body, k], A')
A_1 = Intersect(q, h, 2)
F = Midpoint(C, A_1)
G = Midpoint(B, A_1)
s = CircleArc(H, I, J)
t = CircleArc(E, J, I)
K = Intersect(l, Element[seznam6, k + 1])
v = Segment(Element[body, k + 1], K)
m = Segment(K, A_1)
i = Segment(L, A_1)
rych = 3.2 (slider from 1 to 15, step 0.1)
on = 0
mnohoúhelník1, a', k_1, a_1, l_1 = Polygon(A', K, A_1, L)
c_1 = Circle(E, B)
d_1 = CircleArc(H, I, J)

Tool: Nástroj1
Input: a, A, α, β
Output: seznam3, seznam6, seznam4, A'

smer = Sequence(Vector[A, A + (cos(i), sin(i))], i, (-α), α, β)
c: (2 * α / β) + 1
seznam1 = Sequence(Line[A, Vector[Element[smer, i]]], i, 1, c)
body = Sequence(Intersect[a, Element[seznam1, i]], i, 1, c)
A' = Mirror(A, a)
seznam3 = Sequence(Segment[A, Element[body, i]], i, 1, c)
seznam4 = Sequence(Segment[A', Element[body, i]], i, 1, c)
body2 = Sequence(Mirror[A', Element[body, i]], i, 1, c)
seznam6 = Sequence(Ray[Element[body, i], Element[body2, i]], i, 1, c)