1

R⁺

x

y

i

( R⁺) i

y i

R⁻ = -R⁺

- ( R⁺) i

-y

-x

x i

- y i

- x i

P_⊥

P⁻

- P

- P⁻

- P_⊥

- P_⊥⁻

P_⊥⁻

Q⁻

O = (0, 0)
U = (1, 0)
a = Ray(O, U)
X = Point(a)
xP: x((X - O) / (U - O))
Y = Point(a)
yP: x((Y - O) / (U - O))
zP: xP + (yP * ί)
zQ: zP / abs(zP)
I = (0, 1)
yQ: y(zQ)
b = Segment(U, I)
c = Ray(O, I)
d = Line(Y, b)
Yi = Intersect(c, d)
U' = Mirror(U, O)
i' = Mirror(I, O)
e = Ray(O, U')
f = Ray(O, i')
Y' = Mirror(Y, O)
X' = Mirror(X, O)
g = Line(X, c)
h = Line(Yi, a)
P = Intersect(g, h)
j = Line(X, b)
Xi = Intersect(c, j)
u = Vector(O, P)
k = Line(Xi, a)
l = Line(Y', c)
m = Line(X', c)
l' = Mirror(l, Yi)
Yi' = Mirror(Yi, O)
Xi' = Mirror(Xi, O)
n = Line(Yi', a)
p = Line(Xi', a)
P' = Intersect(l, k)
v = Vector(O, P')
A = Intersect(g, n)
B = Intersect(m, n)
C = Intersect(h, m)
D = Intersect(l', p)
E = Intersect(k, l')
F = Intersect(l, p)
poli1, p_1, a_1, b_1, c_1 = Polygon(P, A, B, C)
poli2, p', f_1, d_1, e_1 = Polygon(P', F, D, E)
γ = CurveCartesian(x(O + (cos(t) * (U - O)) + (sin(t) * (I - O))), y(O + (cos(t) * (U - O)) + (sin(t) * (I - O))), t, 0, 6.28319)
xQ: x(zQ)
Q: O + (xQ * (U - O)) + (yQ * (I - O))
q = Line(Q, c)
r = Line(Q, a)
G = Intersect(r, c)
s = Segment(G, Q)
I_1 = Intersect(q, a)
K: O + (xQ * (U - O)) - (yQ * (I - O))
t = Segment(Q, I_1)
g_1 = Segment(O, K)
h_1 = Ray(O, E)
i_1 = Line(U, h_1)
j_1 = Line(U, g_1)
L = Intersect(h_1, j_1)
k_1 = Segment(O, L)
l_1 = Segment(L, U)
M = Intersect(i_1, g_1)
m_1 = Segment(U, M)
n_1 = Segment(O, E)