Illusion d'optique
Author: Daniel Mentrard

Déplacer le point rouge.

A = (1, 2)
a = 0.5
c = Circle(A, a)
b = Line(A, xAxis)
B, C = Intersect(c, b)
D = Rotate(B, 45.0°, A)
α = Angle(B, A, D)
E = Rotate(D, 270.0°, A)
F = Rotate(E, 270.0°, A)
G = Rotate(F, 270.0°, A)
P, g, f, e, d = Polygon(G, F, E, D)
u = Vector(F, E)
H = Translate(E, u)
v = Vector(F, H)
G' = Translate(G, v)
F' = Translate(F, v)
E' = Translate(E, v)
D' = Translate(D, v)
P', g', f', e', d' = Polygon(G', F', E', D')
G'' = Translate(G', v)
F'' = Translate(F', v)
E'' = Translate(E', v)
D'' = Translate(D', v)
P'', g'', f'', e'', d'' = Polygon(G'', F'', E'', D'')
G''' = Translate(G'', v)
F''' = Translate(F'', v)
E''' = Translate(E'', v)
D''' = Translate(D'', v)
P''', g''', f''', e''', d''' = Polygon(G''', F''', E''', D''')
G'''' = Translate(G''', v)
F'''' = Translate(F''', v)
E'''' = Translate(E''', v)
D'''' = Translate(D''', v)
P'''', g'''', f'''', e'''', d'''' = Polygon(G'''', F'''', E'''', D'''')
G''''' = Translate(G'''', v)
F''''' = Translate(F'''', v)
E''''' = Translate(E'''', v)
D''''' = Translate(D'''', v)
P''''', g''''', f''''', e''''', d''''' = Polygon(G''''', F''''', E''''', D''''')
h = Segment(G, D''''')
i = Segment(F, E''''')
w = Vector(G, F)
I = Translate(A, w)
j = Line(I, xAxis)
l = 0.5
J = Point(j)
k = 0.5
p = Circle(J, k)
K = Mirror(J, A)
L, M = Intersect(p, j)
N = Rotate(M, 45.0°, J)
β = Angle(M, J, N)
O = Rotate(M, 315.0°, J)
γ = Angle(O, J, M)
Q = Rotate(L, 45.0°, J)
δ = Angle(L, J, Q)
R = Rotate(L, 315.0°, J)
ε = Angle(R, J, L)
S, r, q, o, n = Polygon(R, Q, O, N)
z = Vector(Q, O)
T = Translate(O, z)
m = Vector(Q, T)
R' = Translate(R, m)
Q' = Translate(Q, m)
O' = Translate(O, m)
N' = Translate(N, m)
S', r', q', o', n' = Polygon(R', Q', O', N')
R'' = Translate(R', m)
Q'' = Translate(Q', m)
O'' = Translate(O', m)
N'' = Translate(N', m)
S'', r'', q'', o'', n'' = Polygon(R'', Q'', O'', N'')
R''' = Translate(R'', m)
Q''' = Translate(Q'', m)
O''' = Translate(O'', m)
N''' = Translate(N'', m)
S''', r''', q''', o''', n''' = Polygon(R''', Q''', O''', N''')
R'''' = Translate(R''', m)
Q'''' = Translate(Q''', m)
O'''' = Translate(O''', m)
N'''' = Translate(N''', m)
S'''', r'''', q'''', o'''', n'''' = Polygon(R'''', Q'''', O'''', N'''')
R''''' = Translate(R'''', m)
Q''''' = Translate(Q'''', m)
O''''' = Translate(O'''', m)
N''''' = Translate(N'''', m)
S''''', r''''', q''''', o''''', n''''' = Polygon(R''''', Q''''', O''''', N''''')
s = Segment(Q, O''''')
t = Segment(R, N''''')
a_1 = 0.5
c_1 = Circle(K, a_1)
b_1 = Line(K, xAxis)
U, V = Intersect(c_1, b_1)
W = Rotate(V, 45.0°, K)
ζ = Angle(V, K, W)
Y = Rotate(V, 315.0°, K)
η = Angle(Y, K, V)
Z = Rotate(U, 45.0°, K)
θ = Angle(U, K, Z)
A_1 = Rotate(U, 315.0°, K)
ι = Angle(A_1, K, U)
P_1, a_2, z_1, y, w_1 = Polygon(A_1, Z, Y, W)
A_1' = Translate(A_1, v)
Z' = Translate(Z, v)
Y' = Translate(Y, v)
W' = Translate(W, v)
P_1', a_1', z', y', w' = Polygon(A_1', Z', Y', W')
A_1'' = Translate(A_1', v)
Z'' = Translate(Z', v)
Y'' = Translate(Y', v)
W'' = Translate(W', v)
P_1'', a_1'', z'', y'', w'' = Polygon(A_1'', Z'', Y'', W'')
A_1''' = Translate(A_1'', v)
Z''' = Translate(Z'', v)
Y''' = Translate(Y'', v)
W''' = Translate(W'', v)
P_1''', a_1''', z''', y''', w''' = Polygon(A_1''', Z''', Y''', W''')
A_1'''' = Translate(A_1''', v)
Z'''' = Translate(Z''', v)
Y'''' = Translate(Y''', v)
W'''' = Translate(W''', v)
P_1'''', a_1'''', z'''', y'''', w'''' = Polygon(A_1'''', Z'''', Y'''', W'''')
A_1''''' = Translate(A_1'''', v)
Z''''' = Translate(Z'''', v)
Y''''' = Translate(Y'''', v)
W''''' = Translate(W'''', v)
P_1''''', a_1''''', z''''', y''''', w''''' = Polygon(A_1''''', Z''''', Y''''', W''''')
d_1 = Segment(A_1, W''''')
e_1 = Segment(Z, Y''''')
u_1 = Vector(E, D)
B_1 = Translate(D, u_1)
v_1 = Vector(E, B_1)
C_1 = Translate(A, v_1)
D_1 = Translate(J, v_1)
E_1 = Translate(D_1, v_1)
F_1 = Translate(C_1, v_1)
G_1 = Translate(K, v_1)
H_1 = Translate(G_1, v_1)
I_1 = Translate(F_1, v_1)
f_1 = 0.5
g_1 = Circle(C_1, f_1)
h_1 = 0.5
k_1 = Circle(E_1, h_1)
i_1 = 0.5
p_1 = Circle(F_1, i_1)
j_1 = 0.5
q_1 = Circle(H_1, j_1)
l_1 = 0.5
r_1 = Circle(I_1, l_1)
m_1 = Line(C_1, xAxis)
J_1, K_1 = Intersect(g_1, m_1)
L_1 = Rotate(J_1, 45.0°, C_1)
κ = Angle(J_1, C_1, L_1)
M_1 = Rotate(J_1, 315.0°, C_1)
λ = Angle(M_1, C_1, J_1)
N_1 = Rotate(K_1, 45.0°, C_1)
μ = Angle(K_1, C_1, N_1)
O_1 = Rotate(K_1, 315.0°, C_1)
ν = Angle(O_1, C_1, K_1)
Q_1, o_1, n_1, m_2, l_2 = Polygon(O_1, N_1, M_1, L_1)
O_1' = Translate(O_1, v)
N_1' = Translate(N_1, v)
M_1' = Translate(M_1, v)
L_1' = Translate(L_1, v)
Q_1', o_1', n_1', m_1', l_1' = Polygon(O_1', N_1', M_1', L_1')
O_1'' = Translate(O_1', v)
N_1'' = Translate(N_1', v)
M_1'' = Translate(M_1', v)
L_1'' = Translate(L_1', v)
Q_1'', o_1'', n_1'', m_1'', l_1'' = Polygon(O_1'', N_1'', M_1'', L_1'')
O_1''' = Translate(O_1'', v)
N_1''' = Translate(N_1'', v)
M_1''' = Translate(M_1'', v)
L_1''' = Translate(L_1'', v)
Q_1''', o_1''', n_1''', m_1''', l_1''' = Polygon(O_1''', N_1''', M_1''', L_1''')
O_1'''' = Translate(O_1''', v)
N_1'''' = Translate(N_1''', v)
M_1'''' = Translate(M_1''', v)
L_1'''' = Translate(L_1''', v)
Q_1'''', o_1'''', n_1'''', m_1'''', l_1'''' = Polygon(O_1'''', N_1'''', M_1'''', L_1'''')
O_1''''' = Translate(O_1'''', v)
N_1''''' = Translate(N_1'''', v)
M_1''''' = Translate(M_1'''', v)
L_1''''' = Translate(L_1'''', v)
Q_1''''', o_1''''', n_1''''', m_1''''', l_1''''' = Polygon(O_1''''', N_1''''', M_1''''', L_1''''')
s_1 = Segment(N_1, M_1''''')
t_1 = Segment(L_1''''', O_1)
b_2 = Line(E_1, xAxis)
c_2 = Line(F_1, xAxis)
d_2 = Line(H_1, xAxis)
e_2 = Line(I_1, xAxis)
R_1, S_1 = Intersect(k_1, b_2)
T_1, U_1 = Intersect(p_1, c_2)
V_1, W_1 = Intersect(r_1, e_2)
Y_1, Z_1 = Intersect(q_1, d_2)
A_2 = Rotate(R_1, 45.0°, E_1)
ξ = Angle(R_1, E_1, A_2)
B_2 = Rotate(R_1, 315.0°, E_1)
ο = Angle(B_2, E_1, R_1)
C_2 = Rotate(S_1, 45.0°, E_1)
ρ = Angle(S_1, E_1, C_2)
D_2 = Rotate(S_1, 315.0°, E_1)
σ = Angle(D_2, E_1, S_1)
P_2, d_3, c_3, b_3, a_3 = Polygon(D_2, C_2, B_2, A_2)
D_2' = Translate(D_2, v)
C_2' = Translate(C_2, v)
B_2' = Translate(B_2, v)
A_2' = Translate(A_2, v)
P_2', d_2', c_2', b_2', a_2' = Polygon(D_2', C_2', B_2', A_2')
D_2'' = Translate(D_2', v)
C_2'' = Translate(C_2', v)
B_2'' = Translate(B_2', v)
A_2'' = Translate(A_2', v)
P_2'', d_2'', c_2'', b_2'', a_2'' = Polygon(D_2'', C_2'', B_2'', A_2'')
D_2''' = Translate(D_2'', v)
C_2''' = Translate(C_2'', v)
B_2''' = Translate(B_2'', v)
A_2''' = Translate(A_2'', v)
P_2''', d_2''', c_2''', b_2''', a_2''' = Polygon(D_2''', C_2''', B_2''', A_2''')
D_2'''' = Translate(D_2''', v)
C_2'''' = Translate(C_2''', v)
B_2'''' = Translate(B_2''', v)
A_2'''' = Translate(A_2''', v)
P_2'''', d_2'''', c_2'''', b_2'''', a_2'''' = Polygon(D_2'''', C_2'''', B_2'''', A_2'''')
D_2''''' = Translate(D_2'''', v)
C_2''''' = Translate(C_2'''', v)
B_2''''' = Translate(B_2'''', v)
A_2''''' = Translate(A_2'''', v)
P_2''''', d_2''''', c_2''''', b_2''''', a_2''''' = Polygon(D_2''''', C_2''''', B_2''''', A_2''''')
f_2 = Segment(D_2, A_2''''')
g_2 = Segment(C_2, B_2''''')
E_2 = Rotate(Y_1, 45.0°, H_1)
τ = Angle(Y_1, H_1, E_2)
F_2 = Rotate(Y_1, 315.0°, H_1)
υ = Angle(F_2, H_1, Y_1)
G_2 = Rotate(Z_1, 45.0°, H_1)
φ = Angle(Z_1, H_1, G_2)
H_2 = Rotate(Z_1, 315.0°, H_1)
χ = Angle(H_2, H_1, Z_1)
Q_2, h_2, g_3, f_3, e_3 = Polygon(H_2, G_2, F_2, E_2)
I_2 = Translate(G_2, v)
H_2' = Translate(H_2, v)
G_2' = Translate(G_2, v)
F_2' = Translate(F_2, v)
E_2' = Translate(E_2, v)
Q_2', h_2', g_2', f_2', e_2' = Polygon(H_2', G_2', F_2', E_2')
H_2'' = Translate(H_2', v)
G_2'' = Translate(G_2', v)
F_2'' = Translate(F_2', v)
E_2'' = Translate(E_2', v)
Q_2'', h_2'', g_2'', f_2'', e_2'' = Polygon(H_2'', G_2'', F_2'', E_2'')
H_2''' = Translate(H_2'', v)
G_2''' = Translate(G_2'', v)
F_2''' = Translate(F_2'', v)
E_2''' = Translate(E_2'', v)
Q_2''', h_2''', g_2''', f_2''', e_2''' = Polygon(H_2''', G_2''', F_2''', E_2''')
H_2'''' = Translate(H_2''', v)
G_2'''' = Translate(G_2''', v)
F_2'''' = Translate(F_2''', v)
E_2'''' = Translate(E_2''', v)
Q_2'''', h_2'''', g_2'''', f_2'''', e_2'''' = Polygon(H_2'''', G_2'''', F_2'''', E_2'''')
H_2''''' = Translate(H_2'''', v)
G_2''''' = Translate(G_2'''', v)
F_2''''' = Translate(F_2'''', v)
E_2''''' = Translate(E_2'''', v)
Q_2''''', h_2''''', g_2''''', f_2''''', e_2''''' = Polygon(H_2''''', G_2''''', F_2''''', E_2''''')
i_2 = Segment(H_2, E_2''''')
j_2 = Segment(G_2, F_2''''')
J_2 = Rotate(T_1, 45.0°, F_1)
ψ = Angle(T_1, F_1, J_2)
K_2 = Rotate(T_1, 315.0°, F_1)
ω = Angle(K_2, F_1, T_1)
L_2 = Rotate(U_1, 45.0°, F_1)
α_1 = Angle(U_1, F_1, L_2)
M_2 = Rotate(U_1, 315.0°, F_1)
β_1 = Angle(M_2, F_1, U_1)
R_2, m_3, l_3, k_2, j_3 = Polygon(M_2, L_2, K_2, J_2)
M_2' = Translate(M_2, v)
L_2' = Translate(L_2, v)
K_2' = Translate(K_2, v)
J_2' = Translate(J_2, v)
R_2', m_2', l_2', k_2', j_2' = Polygon(M_2', L_2', K_2', J_2')
M_2'' = Translate(M_2', v)
L_2'' = Translate(L_2', v)
K_2'' = Translate(K_2', v)
J_2'' = Translate(J_2', v)
R_2'', m_2'', l_2'', k_2'', j_2'' = Polygon(M_2'', L_2'', K_2'', J_2'')
M_2''' = Translate(M_2'', v)
L_2''' = Translate(L_2'', v)
K_2''' = Translate(K_2'', v)
J_2''' = Translate(J_2'', v)
R_2''', m_2''', l_2''', k_2''', j_2''' = Polygon(M_2''', L_2''', K_2''', J_2''')
M_2'''' = Translate(M_2''', v)
L_2'''' = Translate(L_2''', v)
K_2'''' = Translate(K_2''', v)
J_2'''' = Translate(J_2''', v)
R_2'''', m_2'''', l_2'''', k_2'''', j_2'''' = Polygon(M_2'''', L_2'''', K_2'''', J_2'''')
M_2''''' = Translate(M_2'''', v)
L_2''''' = Translate(L_2'''', v)
K_2''''' = Translate(K_2'''', v)
J_2''''' = Translate(J_2'''', v)
R_2''''', m_2''''', l_2''''', k_2''''', j_2''''' = Polygon(M_2''''', L_2''''', K_2''''', J_2''''')
M_2'''''' = Translate(M_2''''', v)
L_2'''''' = Translate(L_2''''', v)
K_2'''''' = Translate(K_2''''', v)
J_2'''''' = Translate(J_2''''', v)
n_2 = Segment(M_2, J_2''''')
p_2 = Segment(L_2, K_2''''')
N_2 = Rotate(V_1, 45.0°, I_1)
γ_1 = Angle(V_1, I_1, N_2)
O_2 = Rotate(V_1, 315.0°, I_1)
δ_1 = Angle(O_2, I_1, V_1)
S_2 = Rotate(W_1, 45.0°, I_1)
ε_1 = Angle(W_1, I_1, S_2)
T_2 = Rotate(W_1, 315.0°, I_1)
ζ_1 = Angle(T_2, I_1, W_1)
U_2, t_2, s_2, o_2, n_3 = Polygon(T_2, S_2, O_2, N_2)
T_2' = Translate(T_2, v)
S_2' = Translate(S_2, v)
O_2' = Translate(O_2, v)
N_2' = Translate(N_2, v)
U_2', t_2', s_2', o_2', n_2' = Polygon(T_2', S_2', O_2', N_2')
T_2'' = Translate(T_2', v)
S_2'' = Translate(S_2', v)
O_2'' = Translate(O_2', v)
N_2'' = Translate(N_2', v)
U_2'', t_2'', s_2'', o_2'', n_2'' = Polygon(T_2'', S_2'', O_2'', N_2'')
T_2''' = Translate(T_2'', v)
S_2''' = Translate(S_2'', v)
O_2''' = Translate(O_2'', v)
N_2''' = Translate(N_2'', v)
U_2''', t_2''', s_2''', o_2''', n_2''' = Polygon(T_2''', S_2''', O_2''', N_2''')
T_2'''' = Translate(T_2''', v)
S_2'''' = Translate(S_2''', v)
O_2'''' = Translate(O_2''', v)
N_2'''' = Translate(N_2''', v)
U_2'''', t_2'''', s_2'''', o_2'''', n_2'''' = Polygon(T_2'''', S_2'''', O_2'''', N_2'''')
T_2''''' = Translate(T_2'''', v)
S_2''''' = Translate(S_2'''', v)
O_2''''' = Translate(O_2'''', v)
N_2''''' = Translate(N_2'''', v)
U_2''''', t_2''''', s_2''''', o_2''''', n_2''''' = Polygon(T_2''''', S_2''''', O_2''''', N_2''''')
q_2 = Segment(T_2, N_2''''')
r_2 = Segment(S_2, O_2''''')